MAIN Next Resource Planner is a fullstack web application for project resource planning, task assignment, sprint management, and advanced analytics. It supports both human and AI resources, sprint assignment, and role-based user management.
+-------------------+ HTTP/REST +-------------------+ SQL/ORM +-------------------+
| React Frontend | <----------------------> | Laravel Backend | <--------------------> | MySQL DB |
+-------------------+ +-------------------+ +-------------------+
| | |
| 1. User logs in, manages resources/tasks | |
|---------------------------------------------> | |
| 2. Backend authenticates, checks roles | |
| <-------------------------------------------- | |
| 3. User interacts with Kanban, analytics | |
|---------------------------------------------> | |
| 4. Backend fetches/updates data, returns JSON | |
| <-------------------------------------------- | |
| | 5. Eloquent ORM reads/writes tables |
| | <-------------------------------------> |
+---------+ +-------------------+ +---------+
| users |<---->| assignments |<---->| tasks |
+---------+ +-------------------+ +---------+
| | resource_id | |
| | task_id | |
| +----------------+ |
| |
| v
| +-----------+
| | sprints |
| +-----------+
| ^
| |
| +-------------------+ |
| | resources |-------+
| +-------------------+
| | skills (pivot) |<----+
| | domains (pivot) |<--+ |
+----------------+-------------------+ | |
| |
+---------+ +---------+ +---------+| |
| skills |<-----|resource_|----->| domains || |
+---------+ |skills | +---------+| |
+---------+ | |
| |
+---------+ +---------+ +---------+| |
| tasks |<-----|task_ |----->| domains || |
| | |skills | +---------+| |
| | +---------+ | |
| | | |
| | +---------+ +---------+| |
| +----->|task_ |----->| skills |+-+
| |domains | +---------+
| +---------+
/api/
|-- login, register, logout
|-- users/ (CRUD, role assignment)
|-- resources/ (CRUD)
|-- skills/, domains/ (list)
|-- tasks/ (CRUD, dependencies, required skills/domains)
|-- sprints/ (CRUD)
|-- assignments/ (assign/unassign resources to tasks)
|-- analytics/
|-- resource-utilization
|-- assignment-history
|-- completion-rates
|-- task-blockers
|-- ai-tool-impact
|-- burnup-burndown
|-- resource-availability-heatmap
- Resource Management: Add/edit/delete resources (Human, AI Tool, Human+AI Tool), availability, skills, domains, productivity multipliers, working hours, planned leave.
- Task Backlog: Full CRUD for tasks, required skills/domains, dependencies, priorities, assignment to sprints/resources.
- Sprint Management: Kanban board for current/future sprints, collapsible past sprints, drag-and-drop task assignment, backlog always last.
- Assignment Workbench: Intelligent suggestions, resource load visualization, dependency awareness.
- User Management: Add/edit/delete users, assign roles (Project Manager, Team Member), role-based access control.
- Analytics Dashboard: Resource utilization, assignment history, completion rates, blockers, AI tool impact, burnup/burndown, resource availability heatmap.
- Role-based Authorization: Only Project Managers can manage users, sprints, and resources.
- Modern UI: Ant Design, responsive layout, drag-and-drop, tooltips, modals, and more.
- Frontend: React, Ant Design, Zustand, @hello-pangea/dnd, Axios
- Backend: Laravel (PHP), Sanctum (API auth), Fruitcake CORS
- Database: MySQL (or compatible)
- Deployment: Works with XAMPP/Apache, supports CORS, .env configuration
-
Install dependencies:
composer install -
Configure .env:
- Set your database credentials.
- Set
APP_URLto your backend URL (e.g.,http://localhost:8000).
-
Migrate and seed database:
php artisan migrate php artisan db:seed -
CORS:
- Ensure
config/cors.phpallows your frontend origin and credentials. - Add CORS headers and OPTIONS handler to your public/.htaccess if using Apache.
- Ensure
-
Start backend:
php artisan serve
-
Install dependencies:
npm install -
Configure API URL:
- If needed, set
VITE_API_BASE_URLin.env(default:http://localhost:8000/api).
- If needed, set
-
Start frontend:
npm run dev
- Login: Use a user with role
managerfor full access. - User Management: Only Project Managers can add/edit/delete users and assign roles.
- Resource/Task/Sprint Management: Full CRUD, Kanban board for sprints, drag-and-drop task assignment.
- Analytics: Access the Analytics tab for live dashboards and advanced charts.
- Role-based UI: Features are shown/hidden based on user role.
- For production, restrict CORS origins in
config/cors.phpand.htaccess. - Use HTTPS and secure cookies for authentication.
- Set up environment variables and database credentials in
.env.
- Built with Laravel, React, Ant Design, Zustand, and more.
- Drag-and-drop powered by @hello-pangea/dnd.
MIT License