DevTrack Laravel — outil de gestion de projets et tâches pour équipes de développement. Un Team Lead crée des projets, invite des développeurs, et assigne des tâches. Les développeurs voient uniquement les projets dont ils font partie et mettent à jour leurs propres tâches. Pense mini Jira — sans la complexité.
- Create new projects with title, description, and status
- Edit and update project details
- View all projects on the dashboard
- Archive projects (soft delete)
- Restore archived projects
- Permanent project deletion
- Create tasks with title, description, due date, and priority
- Assign tasks to projects
- Assign tasks to team members
- Update task status (pending, in-progress, completed)
- Archive and restore tasks
- Full task CRUD operations
- Add team members to projects
- Remove team members from projects
- View team members per project
- Global team overview page
- User registration
- User login/logout
- Profile management (name, email)
- Password update
- Password reset functionality
- Email verification
- Dashboard with project and task statistics
- Archives page for soft-deleted items
- RESTful API for programmatic access
- Responsive design with Tailwind CSS
| Component | Technology |
|---|---|
| Framework | Laravel 13 |
| Language | PHP 8.3+ |
| Frontend | Tailwind CSS, Alpine.js |
| Database | MySQL |
| Build Tool | Vite |
| Testing | Pest PHP |
| Authentication | Laravel Breeze |
devtrack/
├── app/
│ ├── Http/Controllers/ # HTTP controllers
│ ├── Models/ # Eloquent models
│ └── ...
├── config/ # Configuration files
├── database/
│ ├── migrations/ # Database migrations
│ └── seeders/ # Database seeders
├── public/ # Public assets
├── resources/
│ └── views/ # Blade templates
├── routes/ # Route definitions
│ ├── web.php # Web routes
│ └── api.php # API routes
└── vendor/ # Composer dependencies
- PHP 8.3 or higher
- Composer
- Node.js 18+ and npm
- MySQL
-
Clone the repository
git clone <repository-url> cd devtrack
-
Install PHP dependencies
composer install
-
Copy environment file
cp .env.example .env
-
Generate application key
php artisan key:generate
-
Configure database
For Mysql:
touch database/database.sqlite
For MySQL, update
.env:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=devtrack DB_USERNAME=root DB_PASSWORD= -
Run migrations
php artisan migrate
-
Install frontend dependencies
npm install
-
Build assets
npm run build
Key configuration options in .env:
| Variable | Description | Default |
|---|---|---|
APP_NAME |
Application name | DevTrack |
APP_ENV |
Application environment | local |
APP_DEBUG |
Enable debug mode | true |
APP_URL |
Application URL | http://localhost |
DB_CONNECTION |
Database driver | Mysql |
Run all services simultaneously (Laravel server, queue worker, Vite):
npm run devStart the Laravel development server:
php artisan serveStart the Vite development server:
npm run dev| Method | Endpoint | Description |
|---|---|---|
| GET | /api/projects/{project}/tasks |
List all tasks for a project |
| GET | /api/projects/{project}/tasks/{task} |
Get a specific task |
- id, name, email, email_verified_at, password, remember_token, timestamps
- id, title, description, status, user_id (owner), deleted_at, timestamps
- id, title, description, status, priority, due_date, project_id, user_id (assigned_to), deleted_at, timestamps
- project_id, user_id (team members)
Run all tests:
php artisan test# Setup project (install, key, migrate, build)
composer run setup
# Development server with all services
npm run dev
# Run tests
composer run test
# Clear config cache
php artisan config:clear
# Clear route cache
php artisan route:clear
# Clear view cache
php artisan view:clear
# List routes
php artisan route:listThe application includes the following pages:
- Dashboard - Overview of all projects and tasks with statistics
- Projects - List, create, edit, view projects
- Tasks - Full task management interface
- Team - Manage team members across projects
- Archives - View and restore deleted items
Thanks to:
https://github.com/farahar2 & https://github.com/Pro-joseph
MIT License - see the LICENSE file for details.