Laracket is a robust backend API designed for a Ticket Management SaaS platform. It provides comprehensive features for managing organizations, projects, teams, and issue tracking tickets.
- Organization Management: Multi-tenant support allowing users to belong to organizations.
- Project Tracking: Create and manage projects with deadlines and summaries.
- Team Collaboration: Flexible team structures with roles (Leader/Member).
- Ticket System: Full lifecycle issue tracking (Open, In Progress, In Review, Done) with assignees and reviewers.
- Polymorphic Assignments: flexible assignment system for projects.
- Secure API: Authentication provided by Laravel Sanctum.
- PHP: ^8.4
- Framework: Laravel 12.x
- Database: MySQL 8.4
- Environment: Docker & DevContainers
- Docker Desktop
- VS Code (Recommended for DevContainer support)
-
Clone the repository
git clone <repository-url> cd laracket
-
Start the Environment
This project is configured with DevContainers.
-
VS Code: Open the folder and click "Reopen in Container".
-
Manual Docker:
docker compose up -d docker compose exec app bash
-
-
Setup Application Run the convenient setup script included in
composer.json. This command installs dependencies, sets up the.envfile, generates the app key, and runs database migrations.composer run setup
To start the server, queue worker, and other services:
composer run devThis will run php artisan serve, queue listeners, and other dev tools concurrently.
- Organizations: Root entity.
- Teams: Belongs to an Organization.
- Projects: Belongs to an Organization. Can be assigned to various entities.
- Tickets: Belongs to a Project. Contains status, deadline, and user assignments (Assignee/Reviewer).