# sahumansi105-lgtm/campus-carnival-event architecture

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

- Interactive diagram: https://gitdiagram.com/sahumansi105-lgtm/campus-carnival-event
- Repository: https://github.com/sahumansi105-lgtm/campus-carnival-event

## Overview

Campus Carnival is a React event-discovery and event-management frontend. Visitors browse and inspect events; users can register and view their activity, while admins can create and manage events. The route table mounts the sampled pages, and the page components make HTTP requests to a backend. The README documents Manage Events and the user dashboard capability, but source excerpts do not establish their runtime wiring. Backend behavior and persistence are outside the shown repository evidence.

Main entry points: [`src/App.jsx`](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/App.jsx) (Route Shell), [`src/Pages/Events.jsx`](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/Events.jsx) (Event Listing), [`src/Pages/EventDetails.jsx`](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/EventDetails.jsx) (Event Details), [`src/Pages/RegisterEvent.jsx`](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/RegisterEvent.jsx) (Event Registration)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Application Shell"]
  node_app["Route Shell<br/>[App.jsx]"]
  node_header["Navigation<br/>[Header.jsx]"]
  node_footer["Site Footer<br/>[Footer.jsx]"]
end

subgraph group_discovery["Event Discovery"]
  node_events["Event Listing<br/>[Events.jsx]"]
  node_eventcard["Event Card<br/>[EventCard.jsx]"]
  node_eventdetails["Event Details<br/>[EventDetails.jsx]"]
  node_home["Home Page<br/>[Home.jsx]"]
end

subgraph group_participation["User Participation"]
  node_register["User Signup<br/>[Register.jsx]"]
  node_login["User Login<br/>[Login.jsx]"]
  node_eventreg["Event Registration<br/>[RegisterEvent.jsx]"]
  node_userdash["User Dashboard<br/>[UserDashboard.jsx]"]
end

subgraph group_administration["Event Administration"]
  node_admindash["Admin Dashboard<br/>[AdminDashboard.jsx]"]
  node_addevent["Create Event<br/>[AddEvent.jsx]"]
  node_manageevents["Manage Events<br/>[ManageEvents.jsx]"]
end

node_visitor(("Visitor"))
node_user(("Signed-in User"))
node_admin(("Administrator"))
node_backend{{"Campus Backend"}}

node_visitor -->|"opens"| node_app
node_user -->|"opens"| node_app
node_admin -->|"opens"| node_app
node_app -->|"renders"| node_header
node_app -->|"renders"| node_footer
node_app -->|"routes to"| node_home
node_app -->|"routes to"| node_events
node_app -->|"routes to"| node_eventdetails
node_app -->|"routes to"| node_login
node_app -->|"routes to"| node_register
node_app -->|"routes to"| node_userdash
node_app -->|"routes to"| node_admindash
node_app -->|"routes to"| node_addevent
node_app -->|"routes to"| node_eventreg
node_events -->|"renders"| node_eventcard
node_events -->|"fetches events"| node_backend
node_eventdetails -->|"fetches event"| node_backend
node_eventdetails -->|"navigates to"| node_eventreg
node_register -->|"submits signup"| node_backend
node_login -->|"submits credentials"| node_backend
node_eventreg -->|"submits booking"| node_backend
node_admindash -->|"loads dashboard and users"| node_backend
node_addevent -->|"creates event"| node_backend
node_admin -->|"manages events"| node_manageevents
node_user -->|"views registrations"| node_userdash

click node_app "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/App.jsx"
click node_header "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/components/Header.jsx"
click node_footer "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/components/Footer.jsx"
click node_events "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/Events.jsx"
click node_eventcard "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/EventCard.jsx"
click node_eventdetails "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/EventDetails.jsx"
click node_home "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/Home.jsx"
click node_register "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/Register.jsx"
click node_login "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/Login.jsx"
click node_eventreg "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/RegisterEvent.jsx"
click node_userdash "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/UserDashboard.jsx"
click node_admindash "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/AdminDashboard.jsx"
click node_addevent "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/AddEvent.jsx"
click node_manageevents "https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/ManageEvents.jsx"

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_app,node_header,node_footer,node_user toneBlue
class node_events,node_eventcard,node_eventdetails,node_home toneAmber
class node_register,node_login,node_eventreg,node_userdash toneMint
class node_admindash,node_addevent,node_manageevents toneRose
class node_visitor,node_admin,node_backend toneIndigo
```

## Components

### Application Shell

- [Route Shell](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/App.jsx): `src/App.jsx`
- [Navigation](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/components/Header.jsx): `src/components/Header.jsx`
- [Site Footer](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/components/Footer.jsx): `src/components/Footer.jsx`

### Event Discovery

- [Event Listing](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/Events.jsx): `src/Pages/Events.jsx`
- [Event Card](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/EventCard.jsx): `src/Pages/EventCard.jsx`
- [Event Details](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/EventDetails.jsx): `src/Pages/EventDetails.jsx`
- [Home Page](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/Home.jsx): `src/Pages/Home.jsx`

### User Participation

- [User Signup](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/Register.jsx): `src/Pages/Register.jsx`
- [User Login](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/Login.jsx): `src/Pages/Login.jsx`
- [Event Registration](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/RegisterEvent.jsx): `src/Pages/RegisterEvent.jsx`
- [User Dashboard](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/UserDashboard.jsx): `src/Pages/UserDashboard.jsx`

### Event Administration

- [Admin Dashboard](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/AdminDashboard.jsx): `src/Pages/AdminDashboard.jsx`
- [Create Event](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/AddEvent.jsx): `src/Pages/AddEvent.jsx`
- [Manage Events](https://github.com/sahumansi105-lgtm/campus-carnival-event/blob/main/src/Pages/ManageEvents.jsx): `src/Pages/ManageEvents.jsx`

### Other components

- **Visitor**
- **Signed-in User**
- **Administrator**
- **Campus Backend**

## Connections

- Visitor → Route Shell: opens (evidence: `README.md`)
- Signed-in User → Route Shell: opens (evidence: `README.md`)
- Administrator → Route Shell: opens (evidence: `README.md`)
- Route Shell → Navigation: renders (evidence: `src/App.jsx`)
- Route Shell → Site Footer: renders (evidence: `src/App.jsx`)
- Route Shell → Home Page: routes to (evidence: `src/App.jsx`)
- Route Shell → Event Listing: routes to (evidence: `src/App.jsx`)
- Route Shell → Event Details: routes to (evidence: `src/App.jsx`)
- Route Shell → User Login: routes to (evidence: `src/App.jsx`)
- Route Shell → User Signup: routes to (evidence: `src/App.jsx`)
- Route Shell → User Dashboard: routes to (evidence: `src/App.jsx`)
- Route Shell → Admin Dashboard: routes to (evidence: `src/App.jsx`)
- Route Shell → Create Event: routes to (evidence: `src/App.jsx`)
- Route Shell → Event Registration: routes to (evidence: `src/App.jsx`)
- Event Listing → Event Card: renders (evidence: `src/Pages/Events.jsx`)
- Event Listing → Campus Backend: fetches events (evidence: `src/Pages/Events.jsx`)
- Event Details → Campus Backend: fetches event (evidence: `src/Pages/EventDetails.jsx`)
- Event Details → Event Registration: navigates to (evidence: `src/Pages/EventDetails.jsx`)
- User Signup → Campus Backend: submits signup (evidence: `src/Pages/Register.jsx`)
- User Login → Campus Backend: submits credentials (evidence: `src/Pages/Login.jsx`)
- Event Registration → Campus Backend: submits booking (evidence: `src/Pages/RegisterEvent.jsx`)
- Admin Dashboard → Campus Backend: loads dashboard and users (evidence: `src/Pages/AdminDashboard.jsx`)
- Create Event → Campus Backend: creates event (evidence: `src/Pages/AddEvent.jsx`)
- Administrator → Manage Events: manages events (evidence: `README.md`)
- Signed-in User → User Dashboard: views registrations (evidence: `README.md`)
