# redjoshh/itelec3c architecture

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

- Interactive diagram: https://gitdiagram.com/redjoshh/itelec3c
- Repository: https://github.com/redjoshh/itelec3c

## Overview

The tree contains five separate Laravel applications rather than one shared product. Archers Fitness is the clearest documented workflow: members apply for a plan, view its pricing and status, and may cancel; registration creates and signs in a user. Other apps expose student-facing pages, product management, job listings, or pageant content, but their controller wiring was not sampled. The README is empty, so those branches are mapped conservatively from the tree.

Main entry points: [`archers-fitness/app/Http/Controllers/MembershipController.php`](https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Http/Controllers/MembershipController.php) (Membership Controller), [`archers-fitness/app/Http/Controllers/Auth/RegisteredUserController.php`](https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Http/Controllers/Auth/RegisteredUserController.php) (Registration Controller), [`inclass-application/app/Http/Controllers/ProductController.php`](https://github.com/redjoshh/itelec3c/blob/main/inclass-application/app/Http/Controllers/ProductController.php) (Product Controller), [`lara-app/app/Http/Controllers/JobController.php`](https://github.com/redjoshh/itelec3c/blob/main/lara-app/app/Http/Controllers/JobController.php) (Job Controller)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_fitness["Archers Fitness"]
  node_fitness_membership["Membership Controller"]
  node_fitness_membership_model["Membership Model<br/>[Membership.php]"]
  node_fitness_views["Membership Views<br/>[index.blade.php]"]
  node_fitness_auth["Registration Controller"]
  node_fitness_user["User Model<br/>[User.php]"]
  node_fitness_register["Registration View<br/>[register.blade.php]"]
  node_fitness_other["Fitness Pages"]
  node_fitness_bookings["Trainer Bookings"]
  node_fitness_profile["Profile Management"]
  node_fitness_routes["Fitness Routes<br/>[web.php]"]
end

subgraph group_student["Formative Student Site"]
  node_student_pages["Student Pages"]
  node_student_routes["Student Routes<br/>[web.php]"]
end

subgraph group_products["In-class Product App"]
  node_product_controller["Product Controller"]
  node_product_views["Product Views"]
  node_age_gate["Age Restriction<br/>[AgeRestriction.php]"]
  node_product_routes["Product Routes<br/>[web.php]"]
end

subgraph group_pageant["Pageant Site"]
  node_pageant_pages["Pageant Pages"]
  node_pageant_routes["Pageant Routes<br/>[web.php]"]
end

subgraph group_jobs["Job Listings"]
  node_job_controller["Job Controller<br/>[JobController.php]"]
  node_job_views["Job Views"]
  node_home_controller["Home Controller<br/>[HomeController.php]"]
  node_job_routes["Job Routes<br/>[web.php]"]
end

node_member(("Member"))
node_student_visitor(("Site Visitor"))
node_product_user(("App User"))
node_pageant_visitor(("Pageant Visitor"))
node_job_seeker(("Job Seeker"))

node_member -->|"submits application"| node_fitness_membership
node_fitness_membership -->|"creates or updates"| node_fitness_membership_model
node_fitness_membership -->|"renders membership"| node_fitness_views
node_member -->|"registers"| node_fitness_auth
node_fitness_auth -->|"creates user"| node_fitness_user
node_fitness_auth -->|"renders form"| node_fitness_register
node_student_visitor -->|"views"| node_student_pages
node_product_user -->|"manages products"| node_product_controller
node_product_controller -->|"renders"| node_product_views
node_pageant_visitor -->|"views"| node_pageant_pages
node_job_seeker -->|"requests listings"| node_job_controller
node_job_controller -->|"renders listings"| node_job_views

click node_fitness_membership "https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Http/Controllers/MembershipController.php"
click node_fitness_membership_model "https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Models/Membership.php"
click node_fitness_views "https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/resources/views/membership/index.blade.php"
click node_fitness_auth "https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Http/Controllers/Auth/RegisteredUserController.php"
click node_fitness_user "https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Models/User.php"
click node_fitness_register "https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/resources/views/auth/register.blade.php"
click node_fitness_other "https://github.com/redjoshh/itelec3c/tree/main/archers-fitness/resources/views/guest"
click node_fitness_bookings "https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Http/Controllers/TrainerBookingController.php"
click node_fitness_profile "https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Http/Controllers/ProfileController.php"
click node_student_pages "https://github.com/redjoshh/itelec3c/tree/main/formative1/resources/views"
click node_product_controller "https://github.com/redjoshh/itelec3c/blob/main/inclass-application/app/Http/Controllers/ProductController.php"
click node_product_views "https://github.com/redjoshh/itelec3c/tree/main/inclass-application/resources/views/products"
click node_age_gate "https://github.com/redjoshh/itelec3c/blob/main/inclass-application/app/Http/Middleware/AgeRestriction.php"
click node_pageant_pages "https://github.com/redjoshh/itelec3c/tree/main/joselle-pageant/resources/views/pages"
click node_job_controller "https://github.com/redjoshh/itelec3c/blob/main/lara-app/app/Http/Controllers/JobController.php"
click node_job_views "https://github.com/redjoshh/itelec3c/tree/main/lara-app/resources/views/jobs"
click node_home_controller "https://github.com/redjoshh/itelec3c/blob/main/lara-app/app/Http/Controllers/HomeController.php"
click node_fitness_routes "https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/routes/web.php"
click node_student_routes "https://github.com/redjoshh/itelec3c/blob/main/formative1/routes/web.php"
click node_product_routes "https://github.com/redjoshh/itelec3c/blob/main/inclass-application/routes/web.php"
click node_pageant_routes "https://github.com/redjoshh/itelec3c/blob/main/joselle-pageant/routes/web.php"
click node_job_routes "https://github.com/redjoshh/itelec3c/blob/main/lara-app/routes/web.php"

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_fitness_membership,node_fitness_membership_model,node_fitness_views,node_fitness_auth,node_fitness_user,node_fitness_register,node_fitness_other,node_fitness_bookings,node_fitness_profile,node_fitness_routes,node_product_user toneBlue
class node_student_pages,node_student_routes toneAmber
class node_product_controller,node_product_views,node_age_gate,node_product_routes toneMint
class node_pageant_pages,node_pageant_routes toneRose
class node_job_controller,node_job_views,node_home_controller,node_job_routes,node_member,node_student_visitor,node_pageant_visitor,node_job_seeker toneIndigo
```

## Components

### Archers Fitness

- [Membership Controller](https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Http/Controllers/MembershipController.php): `archers-fitness/app/Http/Controllers/MembershipController.php`
- [Membership Model](https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Models/Membership.php): `archers-fitness/app/Models/Membership.php`
- [Membership Views](https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/resources/views/membership/index.blade.php): `archers-fitness/resources/views/membership/index.blade.php`
- [Registration Controller](https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Http/Controllers/Auth/RegisteredUserController.php): `archers-fitness/app/Http/Controllers/Auth/RegisteredUserController.php`
- [User Model](https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Models/User.php): `archers-fitness/app/Models/User.php`
- [Registration View](https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/resources/views/auth/register.blade.php): `archers-fitness/resources/views/auth/register.blade.php`
- [Fitness Pages](https://github.com/redjoshh/itelec3c/tree/main/archers-fitness/resources/views/guest): `archers-fitness/resources/views/guest`
- [Trainer Bookings](https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Http/Controllers/TrainerBookingController.php): `archers-fitness/app/Http/Controllers/TrainerBookingController.php`
- [Profile Management](https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/app/Http/Controllers/ProfileController.php): `archers-fitness/app/Http/Controllers/ProfileController.php`
- [Fitness Routes](https://github.com/redjoshh/itelec3c/blob/main/archers-fitness/routes/web.php): `archers-fitness/routes/web.php`

### Formative Student Site

- [Student Pages](https://github.com/redjoshh/itelec3c/tree/main/formative1/resources/views): `formative1/resources/views`
- [Student Routes](https://github.com/redjoshh/itelec3c/blob/main/formative1/routes/web.php): `formative1/routes/web.php`

### In-class Product App

- [Product Controller](https://github.com/redjoshh/itelec3c/blob/main/inclass-application/app/Http/Controllers/ProductController.php): `inclass-application/app/Http/Controllers/ProductController.php`
- [Product Views](https://github.com/redjoshh/itelec3c/tree/main/inclass-application/resources/views/products): `inclass-application/resources/views/products`
- [Age Restriction](https://github.com/redjoshh/itelec3c/blob/main/inclass-application/app/Http/Middleware/AgeRestriction.php): `inclass-application/app/Http/Middleware/AgeRestriction.php`
- [Product Routes](https://github.com/redjoshh/itelec3c/blob/main/inclass-application/routes/web.php): `inclass-application/routes/web.php`

### Pageant Site

- [Pageant Pages](https://github.com/redjoshh/itelec3c/tree/main/joselle-pageant/resources/views/pages): `joselle-pageant/resources/views/pages`
- [Pageant Routes](https://github.com/redjoshh/itelec3c/blob/main/joselle-pageant/routes/web.php): `joselle-pageant/routes/web.php`

### Job Listings

- [Job Controller](https://github.com/redjoshh/itelec3c/blob/main/lara-app/app/Http/Controllers/JobController.php): `lara-app/app/Http/Controllers/JobController.php`
- [Job Views](https://github.com/redjoshh/itelec3c/tree/main/lara-app/resources/views/jobs): `lara-app/resources/views/jobs`
- [Home Controller](https://github.com/redjoshh/itelec3c/blob/main/lara-app/app/Http/Controllers/HomeController.php): `lara-app/app/Http/Controllers/HomeController.php`
- [Job Routes](https://github.com/redjoshh/itelec3c/blob/main/lara-app/routes/web.php): `lara-app/routes/web.php`

### Other components

- **Member**
- **Site Visitor**
- **App User**
- **Pageant Visitor**
- **Job Seeker**

## Connections

- Member → Membership Controller: submits application
- Membership Controller → Membership Model: creates or updates
- Membership Controller → Membership Views: renders membership
- Member → Registration Controller: registers
- Registration Controller → User Model: creates user
- Registration Controller → Registration View: renders form
- Site Visitor → Student Pages: views
- App User → Product Controller: manages products
- Product Controller → Product Views: renders
- Pageant Visitor → Pageant Pages: views
- Job Seeker → Job Controller: requests listings
- Job Controller → Job Views: renders listings
