Skip to content

About

LaraCollab is a project management tool build with Laravel and React.

Resources

Stars

225 stars

Watchers

8 watching

Forks

Latest commit

 

History

195 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LaraCollab Banner

LaraCollab

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.

Why LaraCollab?

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.

Features

  • 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

Screenshots

Dashboard Light Dashboard Dark

Projects Light Projects Dark

Project Tasks Light Project Tasks Dark

Task Light Task Dark

My Tasks Light My Tasks Dark

Activity Light Activity Dark

Invoice Light Invoice Dark

Tech Stack

  • 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

Installation

Prerequisites

  • PHP 8.1 or higher
  • Composer
  • Node.js and npm
  • Database (MySQL, PostgreSQL, SQLite, or SQL Server)

Setup

  1. Clone the repository

    git clone https://github.com/vstruhar/lara-collab.git
    cd lara-collab
  2. Install dependencies

    composer install
    npm install
  3. Configure environment

    cp .env.example .env
    php artisan key:generate
  4. Set up database

    • Create an empty database for the application
    • Update your .env file with the database credentials (variables prefixed with DB_)
  5. Run migrations

    php artisan migrate --seed
    • You'll be prompted to seed development data
    • Choose yes for development/testing
    • Choose no for production
  6. Create storage link

    php artisan storage:link

Development

Start the development server:

npm run dev

Note: Laravel Sail was used during development. You may use it as an alternative to the standard Laravel setup.

Production Deployment

  1. Install production dependencies

    composer install --no-dev --optimize-autoloader
    npm run build
  2. Optimize the application

    php artisan optimize
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
  3. 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
  4. Configure queue worker (optional)

    • Set QUEUE_CONNECTION=database in your .env file
    • Configure Supervisor to run the queue worker:
      php artisan queue:work --queue=default,email
  5. Configure email Update email settings in your .env file (variables with MAIL_ prefix).

Default Credentials

After running migrations with seed, a default admin user is created:

Important: Change the default password immediately after your first login.

Configuration

Web Sockets

Configure real-time notifications using Pusher or an open-source alternative.

To use Pusher:

  1. Sign up for a Pusher account and create a project
  2. Copy your app keys to the .env file (variables with PUSHER_ prefix)

Social Login (Google)

  1. Set up the OAuth consent screen on Google Cloud Console
  2. Create an OAuth Client ID and select "Web application" as the type
  3. Add the generated "Client ID" and "Client secret" to your .env file:
    • GOOGLE_CLIENT_ID
    • GOOGLE_CLIENT_SECRET

Roadmap

Completed

  • Kanban board view
  • Expense and profit reporting per user
  • Project notes section
  • Multi-user time logging per task

Planned

  • 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

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is open-sourced software licensed under the MIT license.

Support

For issues, questions, or contributions, please visit our GitHub repository.

About

LaraCollab is a project management tool build with Laravel and React.

Resources

Stars

225 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages