# FlowBoard =�
> **Streamline Your Development Workflow**
FlowBoard is a modern, enterprise-grade project management system built with Laravel and Livewire. Featuring real-time kanban boards, GitHub integration, and advanced collaboration tools designed for development teams.
[](https://opensource.org/licenses/MIT)
[](https://laravel.com)
[](https://livewire.laravel.com)
[](https://php.net)

## ( Features
### <� **Core Project Management**
- **Interactive Kanban Boards** - Drag & drop task management with real-time updates
- **Task Hierarchy** - Subtasks and nested task organization up to 3 levels deep
- **Project Templates** - Pre-configured project setups (Agile, Waterfall, DevOps)
- **Advanced Filtering** - Search, sort, and filter by priority, assignee, tags, dates
- **Role-Based Access** - Admin, Project Manager, and Developer roles with permissions
### =� **GitHub Integration**
- **Webhook Automation** - Automatic task creation from GitHub issues
- **Two-Way Sync** - Bidirectional synchronization between FlowBoard and GitHub
- **Commit Tracking** - Automatic task closure via commit messages
- **Branch Management** - Link tasks to specific branches and pull requests
- **Multi-Repository** - Connect and manage multiple GitHub repositories
### =� **Analytics & Reporting**
- **Project Analytics** - Comprehensive progress tracking and metrics
- **Performance Reports** - User productivity and task completion analysis
- **Export Capabilities** - PDF reports and Excel exports
- **Real-Time Dashboards** - Live project statistics and charts
### =� **Communication & Notifications**
- **Email Notifications** - Configurable email alerts for task updates
- **Browser Push Notifications** - Real-time desktop notifications
- **Task Comments** - Threaded discussions with @mention support
- **Activity Tracking** - Complete audit trail of project activities
### <� **User Experience**
- **Dark/Light Themes** - Toggle between themes with user preferences
- **Keyboard Shortcuts** - Comprehensive hotkey system for power users
- **Responsive Design** - Optimized for desktop, tablet, and mobile
- **Drag & Drop Uploads** - Secure file attachments with validation
- **Real-Time Updates** - Live collaboration without page refreshes
### =� **Security & Performance**
- **Enterprise Security** - CSRF/XSS protection, input sanitization
- **Rate Limiting** - API protection against abuse
- **Intelligent Caching** - Optimized performance with automatic cache invalidation
- **Security Logging** - Comprehensive audit trails and threat detection
## =�� Installation
### Prerequisites
- PHP 8.2 or higher
- Composer
- Node.js & NPM
- SQLite/MySQL/PostgreSQL
### Quick Start
1. **Clone the repository**
```bash
git clone http://github.com/CodeXpedite/flowboard.git
cd flowboard
```
2. **Install dependencies**
```bash
composer install
npm install
```
3. **Environment setup**
```bash
cp .env.example .env
php artisan key:generate
```
4. **Database setup**
```bash
php artisan migrate --seed
```
5. **Build assets**
```bash
npm run build
```
6. **Start development server**
```bash
composer dev
```
Visit `http://localhost:8000` and log in with the default admin account:
- **Email:** admin@flowboard.app
- **Password:** password
## =� Development
### Development Commands
```bash
# Start all development services (recommended)
composer dev
# Individual services
php artisan serve # Laravel server
php artisan queue:listen # Background jobs
php artisan pail # Log viewer
npm run dev # Asset compilation
# Testing
composer test
php artisan test
# Code quality
vendor/bin/pint # Code formatting
php artisan config:clear # Clear cache
```
### Cache Management
```bash
# Cache operations
php artisan cache:manage stats # View cache statistics
php artisan cache:manage warm # Warm up cache
php artisan cache:manage clear # Clear application cache
```
## =� Usage
### Creating Your First Project
1. **Navigate to Dashboard** - Access your project overview
2. **Create New Project** - Use templates or start from scratch
3. **Set Up Team** - Invite users and assign roles
4. **Configure GitHub** - Connect repositories for automation
5. **Start Managing** - Create tasks and organize your workflow
### GitHub Integration Setup
1. **Add Repository** - Go to Project Settings � GitHub
2. **Configure Webhook** - Add the provided webhook URL to your GitHub repo
3. **Set Permissions** - Ensure webhook has access to issues and pull requests
4. **Test Integration** - Create a test issue to verify synchronization
### Keyboard Shortcuts
- `Ctrl/Cmd + K` - Quick search
- `Ctrl/Cmd + N` - New task
- `Ctrl/Cmd + D` - Toggle dark mode
- `Ctrl/Cmd + /` - Show all shortcuts
- `F` - Toggle filters
- `G + H` - Go to dashboard
*Press `Ctrl/Cmd + /` for the complete shortcuts list*
## <�� Architecture
### Tech Stack
- **Backend:** Laravel 12 (PHP 8.2+)
- **Frontend:** Livewire 3.4 + Alpine.js
- **Styling:** TailwindCSS 3.x
- **Database:** SQLite (dev) / MySQL/PostgreSQL (prod)
- **Caching:** Redis/Database
- **Queue:** Redis/Database
- **Build:** Vite 6.x
### Key Packages
- `spatie/laravel-permission` - Role-based permissions
- `spatie/laravel-activitylog` - Activity tracking
- `spatie/laravel-medialibrary` - File management
- `spatie/laravel-sluggable` - URL slug generation
### Database Schema
```
� users (authentication & profiles)
� projects (project management)
� tasks (kanban tasks with hierarchy)
� task_statuses (customizable workflow states)
� comments (task discussions)
� tags (task categorization)
� github_repositories (GitHub integration)
� notifications (user alerts)
� project_templates (reusable setups)
```
## =' Configuration
### Environment Variables
```bash
# Application
APP_NAME="FlowBoard"
APP_URL=http://localhost:8000
# Database
DB_CONNECTION=sqlite
DB_DATABASE=/absolute/path/to/database.sqlite
# GitHub Integration
GITHUB_WEBHOOK_SECRET=your_webhook_secret
# Mail Configuration
MAIL_MAILER=smtp
MAIL_HOST=your-smtp-host
MAIL_PORT=587
# Push Notifications
VAPID_PUBLIC_KEY=your_vapid_public_key
VAPID_PRIVATE_KEY=your_vapid_private_key
```
## >� Testing
```bash
# Run all tests
composer test
# Run specific test suites
php artisan test --testsuite=Feature
php artisan test --testsuite=Unit
# Run with coverage
php artisan test --coverage
```
## =� Deployment
### Production Deployment
1. **Server Requirements**
- PHP 8.2+, Composer, Node.js
- Web server (Nginx/Apache)
- Database server
- Redis (recommended)
2. **Deployment Steps**
```bash
# Build for production
composer install --no-dev --optimize-autoloader
npm run build
# Configure environment
php artisan config:cache
php artisan route:cache
php artisan view:cache
# Run migrations
php artisan migrate --force
```
## >� Contributing
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
## =� License
FlowBoard is open-sourced software licensed under the [MIT license](LICENSE).
## =O Acknowledgements
- [Laravel](https://laravel.com) - The PHP framework
- [Livewire](https://livewire.laravel.com) - Full-stack framework
- [TailwindCSS](https://tailwindcss.com) - Utility-first CSS
- [Spatie](https://spatie.be) - Amazing Laravel packages
## =� Support
- **Documentation:** [Coming Soon]
- **Issues:** [GitHub Issues](http://github.com/CodeXpedite/flowboard/issues)
- **Discussions:** [GitHub Discussions](http://github.com/CodeXpedite/flowboard/discussions)
---
Built with d� by CodeXpedite
FlowBoard - Where Projects Flow Seamlessly