| name | project-goals |
| description | Define and manage project goals, features, and development roadmap for the school management app. Covers both Laravel (PHP) and Django (Python) services in the monorepo. |
Project Goals Skill
Monorepo Structure (Current)
school-management-app/
โโโ laravel/ โ PHP Laravel (all modules)
โโโ django/ โ Python Django (analytics, AI, reports)
โโโ docker/ โ Docker orchestration
Completed
Monorepo Migration โ
โ
All Laravel files moved to laravel/ subdirectory
โ
Django service scaffolded in django/ subdirectory
โ
Docker Compose stack: Nginx + PHP-FPM + Django + Celery + MySQL + Redis
โ
Django modular architecture with DI Container, base Repository, Service, ViewSet layers
โ
Three initial Django apps: analytics, ai_insights, reports
CorePackage (Shared Laravel UI Foundation) โ
โ
Sidebar layout (core-package::layouts.app) with icon navigation + toast messages
โ
10 reusable Blade components: card, page-header, badge, alert, btn, stats-card, form.input, form.select, form.textarea, form.section
โ
anonymousComponentPath registered โ all modules use <x-core-package::*>
โ
Design system documented in ui-design-components skill
Student Management Package โ
โ
Database schema โ 9 tables
โ
Eloquent models with relationships (9 models)
โ
Web CRUD controller + all sub-resource actions
โ
REST API controller with JSON responses
โ
All 4 views rebuilt using CorePackage components
โ
Package-based architecture with ServiceProvider
Architecture Approach
Laravel side โ Package-Based
- Each module is a self-contained package under
app/Packages/{ModuleName}/
- Own controllers, models, views, routes, and service provider
- Service provider registered in
laravel/bootstrap/providers.php
- See
package-based-architecture skill for full detail
Django side โ App-Based with DI
- Each feature is a self-contained Django app under
django/apps/{feature}/
- Apps: models, serializers, views (ViewSet), urls, services, repositories
- DI wired in
apps.py::ready() using core.container.Container
- See
django-module-builder skill for full detail
Communication (Laravel โ Django)
- PHP calls Django via
PythonBridge::call() helper (HMAC-authenticated HTTP)
- URL:
PYTHON_SERVICE_URL/api/python/{module}/...
- See
python-bridge skill for full detail
Roadmap
Laravel Modules Remaining
- Staff and Teacher Management โ staff, qualifications, attendance, salary
- Class and Section Management โ classes, sections, enrollments
- Subjects and Curriculum โ subjects, syllabi, teacher-subject mappings
- Attendance Management โ attendance, leave_requests
- Examination and Grades โ exams, marks, report_cards
- Fee and Finance โ fees, payments, discounts, transactions
- Timetable and Scheduling โ timetables, schedules, rooms
- Communication and Notifications โ messages, notifications, announcements
- Role-Based Access Control โ roles, permissions, user_roles
- Hostel, Transport, Facilities โ hostels, transport, allocations
Django Modules Remaining
- analytics โ Attendance & exam trend charts (stub built)
- reports โ PDF marksheets, fee receipts async (stub built)
- ai_insights โ Student performance prediction (stub built)
- notifications โ Bulk SMS / WhatsApp
- ocr โ Document scanning
- data_import โ Bulk CSV import
Development Workflow
Adding a new Laravel package
- Create
app/Packages/{ModuleName}/src/ structure
- Create Models, Controllers, Views, Routes, ServiceProvider
- Register in
laravel/bootstrap/providers.php
- Add
psr-4 entry in laravel/composer.json, run composer dump-autoload
- Test CRUD operations
Adding a new Django app
Use the django-module-builder skill โ one command scaffold + two registration lines.
Best Practices
- โ
Monorepo: Laravel in
laravel/, Django in django/, Docker in docker/
- โ
Package-based modular architecture (Laravel)
- โ
App-based modular architecture with DI (Django)
- โ
Service provider / AppConfig pattern for auto-loading
- โ
View namespace isolation (Laravel)
- โ
Container.singleton() for services (Django)
- โณ Write tests โ PHPUnit (Laravel) + pytest (Django)
- โณ Queue-based async jobs โ Laravel Queue + Celery
- โณ Auth โ Sanctum (Laravel), PHP bridge token (Django)
- โณ Full Docker production deployment