# sameer-mohapatra/nexus architecture

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

- Interactive diagram: https://gitdiagram.com/sameer-mohapatra/nexus
- Repository: https://github.com/sameer-mohapatra/nexus

## Overview

1. This repository is a hybrid event-management site: a mostly static public website for promoting events, plus a small PHP-backed administrative area for managing events and attendees.

2. The public-facing layer lives at the repository root and under `event_pages/`. It is composed of HTML landing pages, event-specific microsites, shared CSS/JS, and media assets. The main entry point appears to be `index.html`.

3. The frontend is assembled from static assets in `css/`, `js/`, `img/`, and `lib/`. The `lib/` folder contains third-party browser libraries such as Bootstrap, jQuery, Font Awesome, Owl Carousel, WOW/animate, Venobox, easing, and Superfish, which suggests a template-driven marketing site with animated sections, carousels, galleries, and responsive navigation.

4. Event microsites are separated by event under `event_pages/`:
   - `hackathon/`
   - `react_native_bootcamp/`
   - `xbase/`
   Each event folder contains its own page markup, styling, speaker/detail pages, and in some cases an `rsvp.php` endpoint. This indicates a per-event content boundary rather than one monolithic event page.

5. The RSVP flow is handled close to each event page. The presence of `rsvp.php` beside individual event pages suggests form submissions are processed server-side per event, likely capturing registrations or interest signups from the public microsites.

6. The backend/admin subsystem is under `backend/`. It includes login/signup entry points (`login.php`, `sign_up.php`, and variants with underscores) and a dashboard area (`backend/dashboard/`). This is the operational control plane for managing events rather than a public-facing user area.

7. The dashboard area is split into functional screens:
   - `index.php` for the main admin view
   - `create_event.php` for event creation
   - `attendee.php` and `event_attendees.php` for attendee management
   - `script.js` and `style.css` for dashboard-specific behavior and styling
   This layout implies CRUD-style workflows around events and registrations.

8. Shared backend utilities live in `backend/partials/`. `_dbconnect.php` establishes the database connection, while `_functions.php` likely hosts reusable server-side helpers. This creates a clear boundary between page-level PHP controllers and shared infrastructure code.

9. The main data flow is: public forms or RSVP actions post into PHP endpoints; those endpoints use the shared database connection and helper functions; the dashboard reads and manages the stored event/attendee records. The frontend and backend are therefore coupled through server-rendered PHP and shared storage, not through a separate API layer.

10. There is also a small `contactform/` area with `contactform.js`, suggesting a client-side contact form submission path that is separate from the event RSVP flow.

11. Media is heavily organized by purpose: global assets under `img/`, and event-specific images inside each event folder. This reinforces the repo’s split between reusable site branding and isolated event microsites.

12. Overall, the architecture is a classic server-rendered PHP application with a static marketing frontend, per-event content modules, and a protected admin dashboard backed by a database. The main boundaries to show in a diagram are:
   - public site vs admin backend
   - shared assets vs event-specific assets
   - RSVP/contact submission paths vs dashboard management paths
   - PHP pages/controllers vs shared DB utilities

Main entry points: [`index.html`](https://github.com/sameer-mohapatra/nexus/blob/main/index.html) (Home page), [`backend/partials/_dbconnect.php`](https://github.com/sameer-mohapatra/nexus/blob/main/backend/partials/_dbconnect.php) (DB connect), [`event_pages/react_native_bootcamp/rsvp.php`](https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/react_native_bootcamp/rsvp.php) (RN RSVP), [`backend/partials/_functions.php`](https://github.com/sameer-mohapatra/nexus/blob/main/backend/partials/_functions.php) (Helpers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_public_site["Public site"]
  node_index_html["Home page<br/>static entry<br/>[index.html]"]
  node_global_css["Site styles<br/>global css<br/>[style.css]"]
  node_global_js["Site scripts<br/>frontend js<br/>[main.js]"]
  node_contact_form_js["Contact form<br/>form js<br/>[contactform.js]"]
end

subgraph group_event_microsites["Event microsites"]
  node_hackathon_page["Hackathon page<br/>event page<br/>[hackathon.html]"]
  node_hackathon_style["Hackathon css<br/>event css<br/>[hackathon.css]"]
  node_hackathon_rsvp["Hackathon RSVP<br/>php endpoint<br/>[rsvp.php]"]
  node_react_page["RN bootcamp<br/>event page<br/>[react_native.html]"]
  node_react_style["RN styles<br/>event css<br/>[react_native.css]"]
  node_react_rsvp["RN RSVP<br/>php endpoint<br/>[rsvp.php]"]
  node_xbase_page["Xbase page<br/>event page<br/>[event_page.html]"]
end

subgraph group_admin_backend["Admin backend"]
  node_backend_login["Login<br/>auth page<br/>[login.php]"]
  node_backend_signup["Sign up<br/>auth page<br/>[sign_up.php]"]
  node_dashboard_home["Dashboard<br/>admin home<br/>[index.php]"]
  node_dashboard_create["Create event<br/>admin workflow<br/>[create_event.php]"]
  node_dashboard_attendees["Attendees<br/>admin workflow<br/>[attendee.php]"]
  node_dbconnect["DB connect<br/>shared php<br/>[_dbconnect.php]"]
  node_functions["Helpers<br/>shared php<br/>[_functions.php]"]
end

subgraph group_shared_assets["Shared assets"]
  node_bootstrap_lib["Bootstrap<br/>ui library<br/>[bootstrap.css]"]
  node_jquery_lib["jQuery<br/>browser library"]
  node_owl_lib["Owl Carousel<br/>browser library<br/>[owl.carousel.js]"]
  node_media_assets[("Media assets<br/>image assets")]
end

node_index_html -->|"uses"| node_global_css
node_index_html -->|"uses"| node_global_js
node_index_html -->|"depends on"| node_bootstrap_lib
node_index_html -->|"depends on"| node_jquery_lib
node_index_html -->|"depends on"| node_owl_lib
node_global_js -.->|"invokes"| node_contact_form_js
node_hackathon_page -->|"uses"| node_hackathon_style
node_hackathon_page -->|"posts to"| node_hackathon_rsvp
node_hackathon_page -->|"uses"| node_media_assets
node_react_page -->|"uses"| node_react_style
node_react_page -->|"posts to"| node_react_rsvp
node_react_page -->|"uses"| node_media_assets
node_xbase_page -->|"uses"| node_media_assets
node_backend_login -->|"uses"| node_dbconnect
node_backend_signup -->|"uses"| node_dbconnect
node_dashboard_home -->|"uses"| node_dbconnect
node_dashboard_create -->|"uses"| node_functions
node_dashboard_attendees -->|"uses"| node_functions
node_dashboard_home -.->|"navigates to"| node_dashboard_create
node_dashboard_home -.->|"navigates to"| node_dashboard_attendees
node_hackathon_rsvp -->|"uses"| node_dbconnect
node_hackathon_rsvp -->|"uses"| node_functions
node_react_rsvp -->|"uses"| node_dbconnect
node_react_rsvp -->|"uses"| node_functions
node_react_rsvp -.->|"feeds"| node_dashboard_attendees

click node_index_html "https://github.com/sameer-mohapatra/nexus/blob/main/index.html"
click node_global_css "https://github.com/sameer-mohapatra/nexus/blob/main/css/style.css"
click node_global_js "https://github.com/sameer-mohapatra/nexus/blob/main/js/main.js"
click node_contact_form_js "https://github.com/sameer-mohapatra/nexus/blob/main/contactform/contactform.js"
click node_hackathon_page "https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/hackathon/hackathon.html"
click node_hackathon_style "https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/hackathon/hackathon.css"
click node_hackathon_rsvp "https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/hackathon/rsvp.php"
click node_react_page "https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/react_native_bootcamp/react_native.html"
click node_react_style "https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/react_native_bootcamp/react_native.css"
click node_react_rsvp "https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/react_native_bootcamp/rsvp.php"
click node_xbase_page "https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/xbase/event_page.html"
click node_backend_login "https://github.com/sameer-mohapatra/nexus/blob/main/backend/login.php"
click node_backend_signup "https://github.com/sameer-mohapatra/nexus/blob/main/backend/sign_up.php"
click node_dashboard_home "https://github.com/sameer-mohapatra/nexus/blob/main/backend/dashboard/index.php"
click node_dashboard_create "https://github.com/sameer-mohapatra/nexus/blob/main/backend/dashboard/create_event.php"
click node_dashboard_attendees "https://github.com/sameer-mohapatra/nexus/blob/main/backend/dashboard/attendee.php"
click node_dbconnect "https://github.com/sameer-mohapatra/nexus/blob/main/backend/partials/_dbconnect.php"
click node_functions "https://github.com/sameer-mohapatra/nexus/blob/main/backend/partials/_functions.php"
click node_bootstrap_lib "https://github.com/sameer-mohapatra/nexus/blob/main/lib/bootstrap/css/bootstrap.css"
click node_jquery_lib "https://github.com/sameer-mohapatra/nexus/tree/main/lib/jquery"
click node_owl_lib "https://github.com/sameer-mohapatra/nexus/blob/main/lib/owlcarousel/owl.carousel.js"
click node_media_assets "https://github.com/sameer-mohapatra/nexus/tree/main/img"

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_index_html,node_global_css,node_global_js,node_contact_form_js toneBlue
class node_hackathon_page,node_hackathon_style,node_hackathon_rsvp,node_react_page,node_react_style,node_react_rsvp,node_xbase_page toneAmber
class node_backend_login,node_backend_signup,node_dashboard_home,node_dashboard_create,node_dashboard_attendees,node_dbconnect,node_functions toneMint
class node_bootstrap_lib,node_jquery_lib,node_owl_lib,node_media_assets toneRose
```

## Components

### Public site

Static marketing pages and shared frontend assets.

- [Home page](https://github.com/sameer-mohapatra/nexus/blob/main/index.html): static entry · Main public landing page for the site. · `index.html`
- [Site styles](https://github.com/sameer-mohapatra/nexus/blob/main/css/style.css): global css · Shared styling for the public-facing site. · `css/style.css`
- [Site scripts](https://github.com/sameer-mohapatra/nexus/blob/main/js/main.js): frontend js · Shared client-side behavior for the main site. · `js/main.js`
- [Contact form](https://github.com/sameer-mohapatra/nexus/blob/main/contactform/contactform.js): form js · Client-side contact form handling. · `contactform/contactform.js`

### Event microsites

Per-event pages, styles, media, and RSVP endpoints.

- [Hackathon page](https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/hackathon/hackathon.html): event page · Hackathon microsite content and layout. · `event_pages/hackathon/hackathon.html`
- [Hackathon css](https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/hackathon/hackathon.css): event css · Styling for the hackathon microsite. · `event_pages/hackathon/hackathon.css`
- [Hackathon RSVP](https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/hackathon/rsvp.php): php endpoint · Server-side RSVP handler for the hackathon event. · `event_pages/hackathon/rsvp.php`
- [RN bootcamp](https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/react_native_bootcamp/react_native.html): event page · React Native bootcamp microsite content. · `event_pages/react_native_bootcamp/react_native.html`
- [RN styles](https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/react_native_bootcamp/react_native.css): event css · Styling for the React Native bootcamp microsite. · `event_pages/react_native_bootcamp/react_native.css`
- [RN RSVP](https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/react_native_bootcamp/rsvp.php): php endpoint · Server-side RSVP handler for the React Native bootcamp. · `event_pages/react_native_bootcamp/rsvp.php`
- [Xbase page](https://github.com/sameer-mohapatra/nexus/blob/main/event_pages/xbase/event_page.html): event page · Xbase event microsite content. · `event_pages/xbase/event_page.html`

### Admin backend

PHP control plane for authentication, dashboard workflows, and persistence.

- [Login](https://github.com/sameer-mohapatra/nexus/blob/main/backend/login.php): auth page · Admin authentication entry point. · `backend/login.php`
- [Sign up](https://github.com/sameer-mohapatra/nexus/blob/main/backend/sign_up.php): auth page · Admin account registration entry point. · `backend/sign_up.php`
- [Dashboard](https://github.com/sameer-mohapatra/nexus/blob/main/backend/dashboard/index.php): admin home · Primary admin dashboard view. · `backend/dashboard/index.php`
- [Create event](https://github.com/sameer-mohapatra/nexus/blob/main/backend/dashboard/create_event.php): admin workflow · Dashboard screen for creating events. · `backend/dashboard/create_event.php`
- [Attendees](https://github.com/sameer-mohapatra/nexus/blob/main/backend/dashboard/attendee.php): admin workflow · Dashboard screen for attendee management. · `backend/dashboard/attendee.php`
- [DB connect](https://github.com/sameer-mohapatra/nexus/blob/main/backend/partials/_dbconnect.php): shared php · Database connection bootstrap. · `backend/partials/_dbconnect.php`
- [Helpers](https://github.com/sameer-mohapatra/nexus/blob/main/backend/partials/_functions.php): shared php · Reusable backend helper functions. · `backend/partials/_functions.php`

### Shared assets

Reusable libraries and global media used across the site.

- [Bootstrap](https://github.com/sameer-mohapatra/nexus/blob/main/lib/bootstrap/css/bootstrap.css): ui library · Responsive layout and component library. · `lib/bootstrap/css/bootstrap.css`
- [jQuery](https://github.com/sameer-mohapatra/nexus/tree/main/lib/jquery): browser library · Core client-side DOM and event library. · `lib/jquery`
- [Owl Carousel](https://github.com/sameer-mohapatra/nexus/blob/main/lib/owlcarousel/owl.carousel.js): browser library · Carousel/slider component library. · `lib/owlcarousel/owl.carousel.js`
- [Media assets](https://github.com/sameer-mohapatra/nexus/tree/main/img): image assets · Shared images for events, galleries, venues, speakers, and supporters. · `img`

## Connections

- Home page → Site styles: uses · Main page loads shared site styling.
- Home page → Site scripts: uses · Main page uses shared site behavior.
- Home page → Bootstrap: depends on · Public site uses Bootstrap for layout.
- Home page → jQuery: depends on · Public site uses jQuery for interactions.
- Home page → Owl Carousel: depends on · Public site uses carousel components.
- Site scripts → Contact form: invokes · Shared site scripting coordinates contact form behavior.
- Hackathon page → Hackathon css: uses · Hackathon page loads its event-specific styles.
- Hackathon page → Hackathon RSVP: posts to · Event registration flow submits to the RSVP handler.
- Hackathon page → Media assets: uses · Hackathon page consumes shared and event media.
- RN bootcamp → RN styles: uses · Bootcamp page loads its event-specific styles.
- RN bootcamp → RN RSVP: posts to · Bootcamp registration flow submits to the RSVP handler.
- RN bootcamp → Media assets: uses · Bootcamp page consumes shared and event media.
- Xbase page → Media assets: uses · Xbase page uses shared media assets.
- Login → DB connect: uses · Authentication screens share database setup.
- Sign up → DB connect: uses · Signup flow uses database setup.
- Dashboard → DB connect: uses · Dashboard reads and writes through the shared database connection.
- Create event → Helpers: uses · Event creation relies on backend helpers.
- Attendees → Helpers: uses · Attendee management relies on backend helpers.
- Dashboard → Create event: navigates to · Dashboard links to event creation.
- Dashboard → Attendees: navigates to · Dashboard links to attendee management.
- Hackathon RSVP → DB connect: uses · RSVP submissions persist through the database connection.
- Hackathon RSVP → Helpers: uses · RSVP processing shares backend helper logic.
- RN RSVP → DB connect: uses · RSVP submissions persist through the database connection.
- RN RSVP → Helpers: uses · RSVP processing shares backend helper logic.
- RN RSVP → Attendees: feeds · Captured registrations are managed in the admin dashboard.
