A modern, full-stack project management and task tracking application built with Laravel, React (Inertia.js), and Tailwind CSS. TaskFlow enables teams to collaborate seamlessly by managing projects, organizing tasks on interactive boards, and tracking team progress.
- Team Management - Create and manage multiple teams with collaborative workspace
- Project Management - Organize projects within teams with detailed descriptions
- Kanban Boards - Drag-and-drop boards for visual task management
- Card Management - Create, assign, and track tasks with detailed information
- User Authentication - Secure login with Fortify and two-factor authentication
- Modern UI - Beautiful, responsive interface with dark mode support using Tailwind CSS
- Real-time Updates - Smooth interactions with Inertia.js
- API-First Architecture - RESTful API built on Laravel
- Laravel 12.0 - Modern PHP framework for backend development
- PHP 8.2+ - Server-side programming language
- SQLite/Database - Data persistence
- Laravel Fortify - Authentication scaffolding with two-factor support
- React 19 - UI library for building interactive components
- Inertia.js 2.1 - Server-side rendering framework for Laravel + React
- TypeScript 5.7 - Type-safe JavaScript
- Tailwind CSS 4.0 - Utility-first CSS framework
- Vite 5 - Next-generation frontend build tool
- Lucide React - Beautiful icon library
- shadcn/ui - High-quality, reusable React components
- Radix UI - Low-level UI primitive components
- dnd-kit - Drag-and-drop functionality
- HeadlessUI - Unstyled, accessible components
- laravel/framework: ^12.0
- inertiajs/inertia-laravel: ^2.0
- laravel/fortify: ^1.30
- laravel/tinker: ^2.10.1
- laravel/wayfinder: ^0.1.9
- pestphp/pest: ^4.1 (Testing framework)
- laravel/sail: ^1.41 (Docker development environment)
- laravel/pint: ^1.18 (Code formatting)
- fakerphp/faker: ^1.23 (Data generation)
Core:
- react: ^19.0.0
- react-dom: ^19.0.0
- @inertiajs/react: ^2.1.4
- typescript: ^5.7.2
Styling & UI:
- tailwindcss: ^4.0.0
- @tailwindcss/vite: ^4.1.11
- lucide-react: ^0.475.0
- class-variance-authority: ^0.7.1
- clsx: ^2.1.1
- tailwind-merge: ^3.0.1
Build Tools:
- vite: (via laravel-vite-plugin)
- laravel-vite-plugin: ^2.0
- @vitejs/plugin-react: ^4.6.0
Component Libraries:
- @radix-ui/* (Various UI primitives)
- @headlessui/react: ^2.2.0
- input-otp: ^1.4.2
Interactions:
- @dnd-kit/core: ^6.3.1
- @dnd-kit/sortable: ^10.0.0
- tailwindcss-animate: ^1.0.7
Development:
- eslint: ^9.17.0
- prettier: ^3.4.2
- concurrently: ^9.0.1
- PHP 8.2+ with common extensions (OpenSSL, PDO, Mbstring, Tokenizer)
- Node.js 18+ and npm or yarn
- Composer (PHP package manager)
- Git
git clone https://github.com/ist14k/laravel--task-flow.git
cd laravel--task-flow
composer install
npm install
Copy the example environment file and generate an application key:
cp .env.example .env
php artisan key:generate
Update your .env
file with your configuration:
APP_NAME="TaskFlow"
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost:8000
DB_CONNECTION=sqlite
# DB_DATABASE=/path/to/database.sqlite
MAIL_DRIVER=log
touch database/database.sqlite
php artisan migrate
php artisan db:seed
Start the development server with hot module reloading:
composer run dev
This command runs:
- Laravel development server (port 8000)
- Vite development server for frontend compilation
- Queue listener
- Log tail
Or run them separately:
Terminal 1 - Laravel Server:
php artisan serve
Terminal 2 - Frontend Build (Vite):
npm run dev
Terminal 3 (Optional) - Queue:
php artisan queue:listen --tries=1
Build assets for production:
npm run build
For production SSR setup:
composer run dev:ssr
Run the test suite:
composer test
Run specific tests:
php artisan test --filter=TestClassName
npm run dev # Development build with hot reload
npm run build # Production build
npm run build:ssr # SSR build for production
npm run format # Format code with Prettier
npm run lint # Fix linting issues with ESLint
npm run types # Check TypeScript types
php artisan serve # Start development server
php artisan migrate # Run database migrations
php artisan db:seed # Seed database with sample data
php artisan tinker # Interactive shell
php artisan pint # Format PHP code
php artisan test # Run tests
laravel--task-flow/
βββ app/
β βββ Http/
β β βββ Controllers/ # API & web controllers
β β βββ Middleware/ # Middleware classes
β β βββ Requests/ # Form requests
β βββ Mail/ # Mailable classes
β βββ Models/ # Eloquent models
β β βββ User.php
β β βββ Team.php
β β βββ Project.php
β β βββ Board.php
β β βββ Card.php
β β βββ TeamInvitation.php
β βββ Providers/ # Service providers
βββ database/
β βββ migrations/ # Database migrations
β βββ factories/ # Model factories for testing
β βββ seeders/ # Database seeders
βββ resources/
β βββ js/
β β βββ pages/ # React page components
β β βββ components/ # Reusable React components
β β βββ layouts/ # Layout components
β βββ css/ # Tailwind CSS
β βββ views/ # Blade templates
βββ routes/
β βββ web.php # Web routes
β βββ auth.php # Authentication routes
β βββ console.php # Console commands
βββ tests/
β βββ Feature/ # Feature tests
β βββ Unit/ # Unit tests
βββ public/ # Public assets
βββ storage/ # Logs and cache
βββ vendor/ # Composer dependencies
βββ node_modules/ # npm dependencies
βββ tailwind.config.ts # Tailwind configuration
βββ vite.config.ts # Vite configuration
βββ tsconfig.json # TypeScript configuration
βββ composer.json # PHP dependencies
βββ package.json # Node.js dependencies
Configuration file: tailwind.config.ts
- Uses modern Tailwind CSS v4.0
- Includes custom gradients and animations
- Dark mode support enabled
Configuration file: vite.config.ts
- React plugin enabled for JSX transformation
- Laravel Vite plugin for asset management
- Hot module replacement for development
Configuration file: tsconfig.json
- Strict mode enabled
- React JSX support
- Module resolution for aliases (@/)
APP_NAME=TaskFlow
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost:8000
DB_CONNECTION=sqlite
DB_DATABASE=database/database.sqlite
MAIL_DRIVER=log
MAIL_FROM_ADDRESS=hello@example.com
- SQLite for development (lightweight, file-based)
- Supports MySQL, PostgreSQL for production
- Migrations version controlled in
database/migrations/
./vendor/bin/sail up -d
- Install dependencies:
composer install --no-dev
- Build frontend:
npm run build
- Set permissions:
chmod -R 775 storage bootstrap/cache
- Configure
.env
for production - Generate key:
php artisan key:generate
- Run migrations:
php artisan migrate --force
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit changes (
git commit -m 'Add amazing feature'
) - Push to branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is open-sourced software licensed under the MIT license.
For support, email [your-email@example.com] or open an issue on GitHub Issues.
- Laravel - The PHP framework
- React - UI library
- Inertia.js - Modern monolithic framework
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Beautiful React components
- Radix UI - Primitives for building design systems
Built with β€οΈ by [Your Name]