# isaacmugwimi/futuristic-coders architecture

> Architecture diagram of the GitHub repository isaacmugwimi/futuristic-coders, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/isaacmugwimi/futuristic-coders
- Repository: https://github.com/isaacmugwimi/futuristic-coders

## Overview

This repository provides a public education-program website, an admin dashboard, and a backend API. A user can browse programs and submit a staged child registration; administrators manage students, enrollments, payments, programs, and other records. Backend routes dispatch to controllers, which invoke services; sampled service references also show persistence models. The registration UI’s staged flow is visible, but the excerpts do not establish its complete request path to the backend, so that connection is left out.

Main entry points: [`admin/src/app/dashboard`](https://github.com/isaacmugwimi/futuristic-coders/tree/main/admin/src/app/dashboard) (Admin pages), [`backend/src/routes`](https://github.com/isaacmugwimi/futuristic-coders/tree/main/backend/src/routes) (API routes), [`backend/src/controller/students/student.controller.js`](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/controller/students/student.controller.js) (Student controller), [`frontend/src/hooks/programs/useProgramQueries.js`](https://github.com/isaacmugwimi/futuristic-coders/blob/main/frontend/src/hooks/programs/useProgramQueries.js) (Program queries)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_public["Public Website"]
  node_public_pages["Public pages"]
  node_program_browse["Program browsing"]
  node_program_queries["Program queries"]
  node_program_api["Program API client<br/>[program.service.js]"]
  node_registration["Registration wizard<br/>[RegisterClient.jsx]"]
end

subgraph group_admin["Admin Dashboard"]
  node_admin_pages["Admin pages"]
  node_admin_programs["Program management<br/>[ProgramsPage.jsx]"]
  node_admin_students["Student records<br/>[StudentsPage.jsx]"]
  node_admin_enrollment["Enrollment management"]
  node_admin_payments["Payment management<br/>[PaymentsPage.jsx]"]
end

subgraph group_api["Backend API"]
  node_api_routes["API routes"]
  node_program_controller["Program controller"]
  node_program_service["Program service"]
  node_student_controller["Student controller"]
  node_student_service["Student services"]
  node_blog_controller["Blog controller<br/>[blog.controller.js]"]
  node_blog_service["Blog service<br/>[blogs.service.js]"]
  node_auth_service["Authentication service<br/>[auth.service.js]"]
  node_testimonial["Testimonials"]
  node_certificates["Certificate verification<br/>[students.routes.js]"]
end

subgraph group_data["Persistence"]
  node_program_store[("Program models<br/>[program.model.js]")]
  node_student_store[("Student models<br/>[student.model.js]")]
  node_blog_store[("Blog model<br/>[blogs.model.js]")]
  node_user_store[("User and token models<br/>[user.model.js]")]
end

node_visitor(("Website visitor"))
node_admin_user(("Administrator"))

node_visitor -->|"browses"| node_public_pages
node_public_pages -->|"renders"| node_program_browse
node_program_browse -->|"queries"| node_program_queries
node_program_queries -->|"uses"| node_program_api
node_registration -->|"loads programs"| node_program_queries
node_admin_user -->|"manages records"| node_admin_pages
node_admin_pages -->|"renders"| node_admin_programs
node_admin_pages -->|"renders"| node_admin_students
node_admin_pages -->|"renders"| node_admin_enrollment
node_admin_pages -->|"renders"| node_admin_payments
node_api_routes -->|"dispatches"| node_program_controller
node_program_controller -->|"calls"| node_program_service
node_program_service -->|"uses"| node_program_store
node_api_routes -->|"dispatches"| node_student_controller
node_student_controller -->|"calls"| node_student_service
node_student_service -->|"uses"| node_student_store
node_api_routes -->|"dispatches"| node_blog_controller
node_blog_controller -->|"calls"| node_blog_service
node_blog_service -->|"uses"| node_blog_store
node_auth_service -->|"reads and writes"| node_user_store
node_student_controller -->|"serves verification routes"| node_certificates

click node_public_pages "https://github.com/isaacmugwimi/futuristic-coders/tree/main/frontend/src/app"
click node_program_browse "https://github.com/isaacmugwimi/futuristic-coders/tree/main/frontend/src/components/ProgramsPage"
click node_program_queries "https://github.com/isaacmugwimi/futuristic-coders/blob/main/frontend/src/hooks/programs/useProgramQueries.js"
click node_program_api "https://github.com/isaacmugwimi/futuristic-coders/blob/main/frontend/src/services/programs/program.service.js"
click node_registration "https://github.com/isaacmugwimi/futuristic-coders/blob/main/frontend/src/app/register/RegisterClient.jsx"
click node_admin_pages "https://github.com/isaacmugwimi/futuristic-coders/tree/main/admin/src/app/dashboard"
click node_admin_programs "https://github.com/isaacmugwimi/futuristic-coders/blob/main/admin/src/components/programs/ProgramsPage/ProgramsPage.jsx"
click node_admin_students "https://github.com/isaacmugwimi/futuristic-coders/blob/main/admin/src/components/StudentsPage/StudentsPage.jsx"
click node_admin_enrollment "https://github.com/isaacmugwimi/futuristic-coders/blob/main/admin/src/components/Enrollment/EnrollmentsPage.jsx"
click node_admin_payments "https://github.com/isaacmugwimi/futuristic-coders/blob/main/admin/src/components/Payments/PaymentsPage.jsx"
click node_api_routes "https://github.com/isaacmugwimi/futuristic-coders/tree/main/backend/src/routes"
click node_program_controller "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/controller/programs/program.controller.js"
click node_program_service "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/services/programs/programs.service.js"
click node_student_controller "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/controller/students/student.controller.js"
click node_student_service "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/services/students/students.service.js"
click node_blog_controller "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/controller/blogs/blog.controller.js"
click node_blog_service "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/services/blogs/blogs.service.js"
click node_auth_service "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/services/auth/auth.service.js"
click node_program_store "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/database/models/programs/program.model.js"
click node_student_store "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/database/models/students/student.model.js"
click node_blog_store "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/database/models/blogs/blogs.model.js"
click node_user_store "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/database/models/users/user.model.js"
click node_testimonial "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/services/testimonials/testimonial.service.js"
click node_certificates "https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/routes/students/students.routes.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_public_pages,node_program_browse,node_program_queries,node_program_api,node_registration toneBlue
class node_admin_pages,node_admin_programs,node_admin_students,node_admin_enrollment,node_admin_payments toneAmber
class node_api_routes,node_program_controller,node_program_service,node_student_controller,node_student_service,node_blog_controller,node_blog_service,node_auth_service,node_testimonial,node_certificates toneMint
class node_program_store,node_student_store,node_blog_store,node_user_store toneRose
class node_visitor,node_admin_user toneIndigo
```

## Components

### Public Website

- [Public pages](https://github.com/isaacmugwimi/futuristic-coders/tree/main/frontend/src/app): `frontend/src/app`
- [Program browsing](https://github.com/isaacmugwimi/futuristic-coders/tree/main/frontend/src/components/ProgramsPage): `frontend/src/components/ProgramsPage`
- [Program queries](https://github.com/isaacmugwimi/futuristic-coders/blob/main/frontend/src/hooks/programs/useProgramQueries.js): `frontend/src/hooks/programs/useProgramQueries.js`
- [Program API client](https://github.com/isaacmugwimi/futuristic-coders/blob/main/frontend/src/services/programs/program.service.js): `frontend/src/services/programs/program.service.js`
- [Registration wizard](https://github.com/isaacmugwimi/futuristic-coders/blob/main/frontend/src/app/register/RegisterClient.jsx): `frontend/src/app/register/RegisterClient.jsx`

### Admin Dashboard

- [Admin pages](https://github.com/isaacmugwimi/futuristic-coders/tree/main/admin/src/app/dashboard): `admin/src/app/dashboard`
- [Program management](https://github.com/isaacmugwimi/futuristic-coders/blob/main/admin/src/components/programs/ProgramsPage/ProgramsPage.jsx): `admin/src/components/programs/ProgramsPage/ProgramsPage.jsx`
- [Student records](https://github.com/isaacmugwimi/futuristic-coders/blob/main/admin/src/components/StudentsPage/StudentsPage.jsx): `admin/src/components/StudentsPage/StudentsPage.jsx`
- [Enrollment management](https://github.com/isaacmugwimi/futuristic-coders/blob/main/admin/src/components/Enrollment/EnrollmentsPage.jsx): `admin/src/components/Enrollment/EnrollmentsPage.jsx`
- [Payment management](https://github.com/isaacmugwimi/futuristic-coders/blob/main/admin/src/components/Payments/PaymentsPage.jsx): `admin/src/components/Payments/PaymentsPage.jsx`

### Backend API

- [API routes](https://github.com/isaacmugwimi/futuristic-coders/tree/main/backend/src/routes): `backend/src/routes`
- [Program controller](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/controller/programs/program.controller.js): `backend/src/controller/programs/program.controller.js`
- [Program service](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/services/programs/programs.service.js): `backend/src/services/programs/programs.service.js`
- [Student controller](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/controller/students/student.controller.js): `backend/src/controller/students/student.controller.js`
- [Student services](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/services/students/students.service.js): `backend/src/services/students/students.service.js`
- [Blog controller](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/controller/blogs/blog.controller.js): `backend/src/controller/blogs/blog.controller.js`
- [Blog service](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/services/blogs/blogs.service.js): `backend/src/services/blogs/blogs.service.js`
- [Authentication service](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/services/auth/auth.service.js): `backend/src/services/auth/auth.service.js`
- [Testimonials](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/services/testimonials/testimonial.service.js): `backend/src/services/testimonials/testimonial.service.js`
- [Certificate verification](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/routes/students/students.routes.js): `backend/src/routes/students/students.routes.js`

### Persistence

- [Program models](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/database/models/programs/program.model.js): `backend/src/database/models/programs/program.model.js`
- [Student models](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/database/models/students/student.model.js): `backend/src/database/models/students/student.model.js`
- [Blog model](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/database/models/blogs/blogs.model.js): `backend/src/database/models/blogs/blogs.model.js`
- [User and token models](https://github.com/isaacmugwimi/futuristic-coders/blob/main/backend/src/database/models/users/user.model.js): `backend/src/database/models/users/user.model.js`

### Other components

- **Website visitor**
- **Administrator**

## Connections

- Website visitor → Public pages: browses
- Public pages → Program browsing: renders
- Program browsing → Program queries: queries
- Program queries → Program API client: uses (evidence: `frontend/src/hooks/programs/useProgramQueries.js`)
- Registration wizard → Program queries: loads programs (evidence: `frontend/src/app/register/RegisterClient.jsx`)
- Administrator → Admin pages: manages records
- Admin pages → Program management: renders
- Admin pages → Student records: renders
- Admin pages → Enrollment management: renders
- Admin pages → Payment management: renders
- API routes → Program controller: dispatches (evidence: `backend/src/routes/programs/program.routes.js`)
- Program controller → Program service: calls (evidence: `backend/src/controller/programs/program.controller.js`)
- Program service → Program models: uses (evidence: `backend/src/services/programs/programs.service.js`)
- API routes → Student controller: dispatches (evidence: `backend/src/routes/students/students.routes.js`)
- Student controller → Student services: calls (evidence: `backend/src/controller/students/student.controller.js`)
- Student services → Student models: uses (evidence: `backend/src/services/students/students.service.js`)
- API routes → Blog controller: dispatches (evidence: `backend/src/routes/blogs/blogs.routes.js`)
- Blog controller → Blog service: calls (evidence: `backend/src/controller/blogs/blog.controller.js`)
- Blog service → Blog model: uses (evidence: `backend/src/services/blogs/blogs.service.js`)
- Authentication service → User and token models: reads and writes (evidence: `backend/src/services/auth/auth.service.js`)
- Student controller → Certificate verification: serves verification routes (evidence: `backend/src/routes/students/students.routes.js`)
