Ensemble – A Laravel 12 + React + Inertia.js project management web app with group collaboration and task tracking.
- 👥 Group creation and member management
- 📁 Project management (solo or group-based)
- ✅ Task creation, editing, assignment
- 📅 Deadlines, statuses, and descriptions for tasks and projects
- 📷 Project & group images with file upload
- 🧠 Clean UI using Inertia.js with React
| Layer | Tech |
|---|---|
| Backend | Laravel 12 |
| Frontend | React (via Inertia.js) |
| Database | MySQL |
| Authentication | Laravel Breeze (multi-auth) |
| Styling | Tailwind CSS (optional) |
| Hosting | Localhost / XAMPP |
- Clone the repository
git clone https://github.com/yourusername/ensemble.git
cd ensemble- Backend setup
composer install
cp .env.example .env
php artisan key:generate
# Configure your DB in .env
php artisan migrate --seed
php artisan storage:link- Frontend setup
npm install
npm run dev- Run the server
php artisan serve- Visit
http://localhost:8000 - Register a user account
- Create a group, invite members
- Create solo or group projects
- Add/edit tasks and assign them to users
users
- id
- name
- email
- password
- ...
groups
- id
- name
- owner_id
- image_path
group_members
- id
- group_id
- user_id
projects
- id
- name
- group_id (nullable for solo projects)
- created_by
- status
- description
- due_date
tasks
- id
- name
- project_id
- assigned_user_id
ensemble/
├── app/
│ ├── Http/
│ │ ├── Controllers/
│ │ └── Requests/
│ └── Models/
├── resources/
│ └── js/
│ ├── Pages/
│ └── Components/
├── routes/
│ └── web.php
├── public/
├── storage/
├── database/
├── package.json
├── composer.json
└── README.md
This project is open-source and available under the MIT License.