LaraCollab is a project management tool built with Laravel and React, designed specifically for developers and development companies. It provides a comprehensive platform for managing clients, projects, time tracking, and invoice generation—all for free.
While numerous feature-rich project management tools exist, LaraCollab stands out by being purpose-built for Laravel developers. It offers seamless integration and extensive customization options, enabling teams to tailor the platform to their unique workflows.
- User Management: Comprehensive role-based access control (client, manager, developer, designer) with customizable permissions
- Client Management: Manage client companies and user access to company-specific tasks
- Project Management: Full project lifecycle management with granular user access control
- Task Organization: Group tasks by status (Todo, In Progress, QA, Done, Deployed)
- Rich Task Features: Assign tasks, set due dates, add custom labels, estimate time (manual or timer), attach files, subscribe users, and comment
- Advanced Filtering: Efficient task organization with powerful filtering options
- Real-time Updates: Live notifications and task updates via web sockets
- Mentions: Tag users in task descriptions and comments for better collaboration
- Personal Dashboard: Dedicated "My Tasks" page for individual users
- Activity Tracking: Monitor activity across all projects or specific ones
- Invoice Generation: Create invoices from billable tasks with logged time
- Document Management: Print or download invoices directly from the platform
- Analytics Dashboard: Track project progress, overdue tasks, recent assignments, and recent comments
- Reporting: Generate reports for daily logged time per user and total logged time
- Dark Mode: Full dark mode support for user preference
- Backend: Laravel - A robust PHP framework
- Frontend: React - Modern JavaScript library for building user interfaces
- Integration: Inertia.js - Seamless Laravel-React integration
- UI Components: Mantine - Comprehensive React component library
- PHP 8.1 or higher
- Composer
- Node.js and npm
- Database (MySQL, PostgreSQL, SQLite, or SQL Server)
-
Clone the repository
git clone https://github.com/vstruhar/lara-collab.git cd lara-collab -
Install dependencies
composer install npm install
-
Configure environment
cp .env.example .env php artisan key:generate
-
Set up database
- Create an empty database for the application
- Update your
.envfile with the database credentials (variables prefixed withDB_)
-
Run migrations
php artisan migrate --seed
- You'll be prompted to seed development data
- Choose
yesfor development/testing - Choose
nofor production
-
Create storage link
php artisan storage:link
Start the development server:
npm run devNote: Laravel Sail was used during development. You may use it as an alternative to the standard Laravel setup.
-
Install production dependencies
composer install --no-dev --optimize-autoloader npm run build
-
Optimize the application
php artisan optimize php artisan config:cache php artisan route:cache php artisan view:cache
-
Set up task scheduler Add the following entry to your crontab (edit with
crontab -e):* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
-
Configure queue worker (optional)
- Set
QUEUE_CONNECTION=databasein your.envfile - Configure Supervisor to run the queue worker:
php artisan queue:work --queue=default,email
- Set
-
Configure email Update email settings in your
.envfile (variables withMAIL_prefix).
After running migrations with seed, a default admin user is created:
- Email: admin@mail.com
- Password: password
Important: Change the default password immediately after your first login.
Configure real-time notifications using Pusher or an open-source alternative.
To use Pusher:
- Sign up for a Pusher account and create a project
- Copy your app keys to the
.envfile (variables withPUSHER_prefix)
- Set up the OAuth consent screen on Google Cloud Console
- Create an OAuth Client ID and select "Web application" as the type
- Add the generated "Client ID" and "Client secret" to your
.envfile:GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRET
- Kanban board view
- Expense and profit reporting per user
- Project notes section
- Multi-user time logging per task
- Task change history
- Granular per-user permissions
- Responsive design improvements
- Emoji support in rich text editor
- Comprehensive test suite
- Performance optimization (frontend and backend)
- TypeScript migration
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open-sourced software licensed under the MIT license.
For issues, questions, or contributions, please visit our GitHub repository.














