How christianobourguignon/maisfluent works
MaisFluent is a multi-tenant school-management SaaS with a React tenant SPA, Laravel business API, and separate Laravel control plane. The core flow is a school user working in the SPA, whose API request is tenant-resolved and authorized before academic, assessment, or financial operations; results return to the SPA. The README also documents platform provisioning, library, communications, and billing capabilities. Edges are limited to relationships visible in excerpts or stated explicitly in the README; many domain branches are documented but their internal calls were not sampled.
Main entry points: api.php Business API · PlatformController.php Platform API · ClassRoom.php Class model · LessonController.php Lesson operations
Components 25
Tenant experience
- Tenant SPA
Code/frontend/src/App.tsx - API client
Code/frontend/src/lib/api-client.ts
Academic operations
- Classes and invites
Code/backend/app/Http/Controllers/Api/V1/ClassInviteController.php - Class model
Code/backend/app/Models/ClassRoom.php - Enrollments
Code/backend/app/Models/Enrollment.php - Lesson operations
Code/backend/app/Http/Controllers/Api/V1/LessonController.php - Lesson records
Code/backend/app/Models/Lesson.php - Tasks and assessments
Code/backend/app/Http/Controllers/Api/V1/AssignmentController.php - Submission and grading
Code/backend/app/Http/Controllers/Api/V1/SubmissionController.php - Library and questions
Code/backend/app/Http/Controllers/Api/V1/PublicLibraryController.php - Communications
Code/backend/app/Services/NotificationService.php
Finance and platform
- Finance engine
Code/backend/app/Services/FinanceEngine.php - Tenant finance API
Code/backend/app/Http/Controllers/Api/V1/FinancialReportController.php - Control plane
Code/painel/app/Http/Controllers/PlatformController.php - Platform API
Code/backend/app/Http/Controllers/Api/Platform/PlatformController.php
Shared backend
- Business API
Code/backend/routes/api.php - Tenant resolution
Code/backend/app/Http/Middleware/ResolveTenant.php - Tenant context
Code/backend/app/Domain/Tenant/TenantContext.php - Module entitlements
Code/backend/app/Services/ModuleEntitlementService.php - Audit logging
Code/backend/app/Services/AuditLogger.php
Other components
- School user
- PostgreSQL
- Redis queues
- Email provider
- BigBlueButton
Connections 26
- School user → Tenant SPA: uses
- Tenant SPA → API client: requests through
Code/frontend/src/App.tsx - API client → Business API: calls
- Business API → Tenant resolution: resolves tenant
- Tenant resolution → Tenant context: sets context
- Tenant context → PostgreSQL: identifies company
Code/backend/app/Domain/Tenant/TenantContext.php - Business API → Classes and invites: routes requests
- Classes and invites → Class model: queries class
Code/backend/app/Http/Controllers/Api/V1/ClassInviteController.php - Class model → Enrollments: has enrollments
Code/backend/app/Models/ClassRoom.php - Business API → Lesson operations: routes requests
- Lesson operations → Lesson records: creates and updates
Code/backend/app/Http/Controllers/Api/V1/LessonController.php - Class model → Lesson records: has lessons
Code/backend/app/Models/ClassRoom.php - Business API → Tasks and assessments: routes requests
- Business API → Submission and grading: routes requests
- Business API → Library and questions: routes requests
- Business API → Tenant finance API: routes requests
- Lesson operations → Finance engine: syncs lesson revenue
Code/backend/app/Http/Controllers/Api/V1/LessonController.php - Tenant finance API → Finance engine: reports finance
- Business API → Platform API: routes platform requests
- Control plane → Platform API: calls API
Code/painel/app/Http/Controllers/PlatformController.php - Platform API → Module entitlements: reads entitlements
Code/backend/app/Http/Controllers/Api/Platform/PlatformController.php - Platform API → Audit logging: records actions
Code/backend/app/Http/Controllers/Api/Platform/PlatformController.php - Finance engine → PostgreSQL: writes finance records
Code/backend/app/Services/FinanceEngine.php - Communications → Redis queues: queues email jobs
Code/backend/app/Services/NotificationService.php - Communications → Email provider: sends mail
- Business API → BigBlueButton: integrates live classes