How technowebtech/school-managment-saas-project-fe works
Purpose and Runtime
This is a Vite-served React single-page frontend for a broad school/institution management platform. It covers operational modules (academics, admissions, finance, HR), public/marketing surfaces, and platform/tenant administration. No backend, database, deployment manifests, or service implementation is present; APIs, sockets, payments, and public endpoints are client integration boundaries.
Paths: src/main.jsx, src/App.jsx, vite.config.js, src/lib/api.js
Application Bootstrap and Route Composition
src/main.jsx mounts the React application. App.jsx is the primary composition and navigation entry point, with route definitions centralized in routes.config.js. Feature directories expose module-level route/page composition through their index.jsx files; this permits one SPA shell to dispatch into a large module catalog.
Paths: src/main.jsx, src/App.jsx, src/routes.config.js
Shell, Navigation, and Cross-Cutting UI
The authenticated application shell is built around Layout.jsx, navigation groups, command palette/search, notifications, and reusable page/form primitives. NavGroups.jsx and searchIndex.js define discoverability metadata independently from feature page implementations. Shared CrudPage, ModulePage, and DynamicForm components provide a common presentation pattern across modules.
Paths: src/components/Layout.jsx, src/data/NavGroups.jsx, src/components/CrudPage.jsx
Session, Authorization, and Global State
React contexts provide app-wide boundaries for authentication, theme, confirmation/prompt modals, loading/preloader state, and notifications. Authentication-aware routing/rendering is supported by auth pages and access-denied UI; user administration and RBAC are separate operational features.
Paths: src/context/AuthContext.jsx, src/components/AccessDenied.jsx, src/features/users/RolePermissions.jsx
Domain Feature Modules
src/features is the principal domain boundary. Most modules are isolated route/page bundles, commonly with dashboards, reports, settings, and transactional workflows. High-detail domains include academics, admissions, accounting, assessment, students, and AI. Their module index.jsx files are the integration seam to the route layer, while feature-specific pages own the workflows.
Paths: src/features/academics/index.jsx, src/features/admission/index.jsx, src/features/accounting/index.jsx
Specialized Interactive Flows
Assessment contains test delivery, paper building, media, proctoring, and exam-security concerns; student pages include profile-specific routing. Public and marketing feature sets form distinct unauthenticated/site-facing surfaces rather than extensions of the administrative shell.
Paths: src/features/assessment/TestRunner.jsx, src/features/assessment/useExamSecurity.js, src/features/publicSite/index.jsx
Multi-Tenant Platform Administration and Integrations
Platform administration models tenant-level controls such as subscriptions, domains, feature flags, branding, localization, limits, clusters, and secrets. Browser-side integration adapters provide API/public API access, WebSocket connectivity, payment-provider definitions, downloads, tenant-subdomain resolution, and master-data/resource hooks. External service contracts are not visible in this repository.
Paths: src/features/platform/PlatformLayout.jsx, src/features/platform/Tenants.jsx, src/lib/socket.js
Main entry points: routes.config.js Route catalog · api.js API boundary · Layout.jsx Authenticated layout · App.jsx App composition
Components 21
SPA Composition
- Vite dev server · Serves the React SPA.
vite.config.js - React mount
src/main.jsx - App composition
src/App.jsx - Route catalog · Central route definitions dispatch into feature bundles.
src/routes.config.js
Application Shell
- Auth session context · Provides authentication-aware application state.
src/context/AuthContext.jsx - Authenticated layout · Hosts navigation and shared authenticated UI.
src/components/Layout.jsx - Navigation metadata · Navigation groups and search metadata are maintained apart from pages.
src/data/NavGroups.jsx - CRUD and form primitives · Common module page, CRUD, and dynamic-form presentation pattern.
src/components/CrudPage.jsx - Access denied UI
src/components/AccessDenied.jsx
Domain Modules
- Academics module
src/features/academics/index.jsx - Admissions module
src/features/admission/index.jsx - Accounting module
src/features/accounting/index.jsx - Other operational modules · Includes students, HR, reports, settings, and related workflows.
- Assessment delivery · Test delivery, paper building, media, and proctoring flows.
src/features/assessment/TestRunner.jsx - Exam security
src/features/assessment/useExamSecurity.js - Public and marketing site · Separate site-facing feature composition.
src/features/publicSite/index.jsx
Platform & Integrations
- Platform administration · Tenant subscriptions, domains, flags, branding, limits, clusters, and secrets.
src/features/platform/PlatformLayout.jsx - Tenant management
src/features/platform/Tenants.jsx - API boundary · Browser-side contract to unavailable backend and public APIs.
src/lib/api.js - WebSocket boundary · Browser-side real-time integration boundary.
src/lib/socket.js - External services · Payment, public endpoint, and backend contracts are outside this repository.
Connections 26
- Vite dev server → React mount: serves
- React mount → App composition: mounts
- App composition → Route catalog: loads
- App composition → Auth session context: uses
- Route catalog → Authenticated layout: authenticated routes
- Route catalog → Public and marketing site: public routes
- Auth session context → Authenticated layout: session state
- Auth session context → Access denied UI: denies access
- Authenticated layout → Navigation metadata: renders
- Authenticated layout → CRUD and form primitives: shares UI pattern
- Route catalog → Academics module: dispatches
- Route catalog → Admissions module: dispatches
- Route catalog → Accounting module: dispatches
- Route catalog → Other operational modules: dispatches
- Route catalog → Assessment delivery: dispatches
- Assessment delivery → Exam security: protects delivery
- Route catalog → Platform administration: dispatches
- Platform administration → Tenant management: manages
- Academics module → API boundary: client requests
- Admissions module → API boundary: client requests
- Accounting module → API boundary: client requests
- Other operational modules → API boundary: client requests
- Platform administration → API boundary: client requests
- Assessment delivery → WebSocket boundary: real-time events
- API boundary → External services: HTTP contracts
- WebSocket boundary → External services: real-time contracts