A modern project management application built with Laravel and React, designed to help teams collaborate efficiently through intuitive task management and real-time communication.
- Create and manage multiple projects
- Track project progress and completion status
- Invite team members with role-based permissions (Project Manager, Project Member)
- Real-time project statistics and analytics
- Project status tracking (Pending, In Progress, Completed)
- Create, assign, and track tasks within projects
- Task categorization with customizable labels
- Task prioritization (Low, Medium, High)
- Task status tracking (Pending, In Progress, Completed)
- Task discussions with threaded comments
- Task filtering and sorting capabilities
- Role-based access control
- Project member invitation system
- Real-time notifications for project updates
- Task assignment and reassignment
- Team member management
- Collaborative task discussions
- Modern, responsive design
- Dark/Light theme support
- Intuitive navigation
- Real-time updates
- Dashboard with project and task overview
- Filtering and sorting capabilities
- Traditional email/password authentication
- Social login support:
- GitHub authentication
- Google authentication
- Password reset functionality
- Email verification
- PHP 8.x
- Laravel 11.x
- MySQL
- Laravel Sanctum for authentication
- Spatie Permissions for role management
- Real-time notifications with Laravel Reverb
- React with TypeScript
- Inertia.js for SPA-like experience
- TailwindCSS for styling
- Shadcn UI components
- Lucide icons
- Real-time updates with WebSockets
- Clone the repository
git clone https://github.com/stekatag/project-management-app.git
cd project-management-app
- Install PHP dependencies
composer install
- Install JavaScript dependencies
pnpm install # or npm install if you don't have pnpm installed
- Configure environment variables
cp .env.example .env
Update the following in your .env file:
- Database credentials
- App URL
- Mail configuration
- Reverb/WebSocket settings
- OAuth Socialite settings (optional)
Add these to your .env file for social authentication:
# GitHub OAuth
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
GITHUB_REDIRECT_URI="${OAUTH_BASE_URL}/auth/github/callback"
# Google OAuth
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_REDIRECT_URI="${OAUTH_BASE_URL}/auth/google/callback"
- Generate application key
php artisan key:generate
- Run migrations and seeders
php artisan migrate --seed
After seeding the database, you can login with:
- Email: [email protected]
- Password: password1
For local development:
- Start the Laravel development server
php artisan serve
- Run Vite development server
pnpm dev # or npm run dev if you don't have pnpm installed
- Run WebSocket server (for real-time features)
php artisan reverb:start
- Run the Laravel queue worker
php artisan queue:listen
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.