How sophistri/event-management works
This repository is a React/Express event-management app with cookie-based authentication and MongoDB-backed event and attendance features. The main user journey is to browse events, inspect details, optionally register, and view personal dashboards; signed-in users can also create and manage events. The graph includes the authentication, event, registration, and dashboard stages documented or represented in the tree. Some controller-to-model relationships are supported by the source index; unsampled internals are not expanded beyond that evidence.
Main entry points: AppRoutes.jsx Page routes · events.js Event API client · app.js API application · event.routes.js Event routes
Components 28
React client
- Client app
client/src/App.jsx - Page routes
client/src/AppRoutes/AppRoutes.jsx - Auth state
client/src/context/AuthContext.jsx - Auth hook
client/src/hooks/useAuth.js - Login and signup
client/src/pages/Login - Home page
client/src/pages/Home/Home.jsx - Event browsing
client/src/pages/Events/EventsPage.jsx - Event details
client/src/pages/Events/EventDetailPage.jsx - Event editor
client/src/pages/Events/EventFormPage.jsx - User dashboards
client/src/pages/Dashboard - Event API client
client/src/api/events.js - Auth API client
client/src/api/auth.js - HTTP client
client/src/api/client.js
Express API
- API application
server/src/app.js - Auth routes
server/src/routes/auth.routes.js - Event routes
server/src/routes/event.routes.js - Personal routes
server/src/routes/me.routes.js - Session middleware
server/src/middleware/authenticate.js - Auth controller
server/src/controllers/auth.controller.js - Event controller
server/src/controllers/event.controller.js - Attendance controller
server/src/controllers/attendance.controller.js - Dashboard controller
server/src/controllers/me.controller.js - Auth service
server/src/services/auth.service.js
MongoDB data
- User records
server/src/models/User.js - Event records
server/src/models/Event.js - Attendance records
server/src/models/Attendance.js
Other components
- Visitor
- MongoDB
Connections 41
- Visitor → Client app: uses
- Client app → Page routes: renders
client/src/App.jsx - Client app → Auth state: provides auth
client/src/App.jsx - Page routes → Login and signup: routes to
client/src/AppRoutes/AppRoutes.jsx - Page routes → Home page: routes to
client/src/AppRoutes/AppRoutes.jsx - Page routes → Event browsing: routes to
client/src/AppRoutes/AppRoutes.jsx - Page routes → Event details: routes to
client/src/AppRoutes/AppRoutes.jsx - Page routes → Event editor: routes to
client/src/AppRoutes/AppRoutes.jsx - Page routes → User dashboards: routes to
client/src/AppRoutes/AppRoutes.jsx - Login and signup → Auth state: uses auth
client/src/pages/Login/Login.jsx - Auth state → Auth API client: calls
client/src/context/AuthContext.jsx - Auth hook → Auth state: reads context
client/src/hooks/useAuth.js - Event browsing → Event API client: requests events
- Event details → Event API client: requests details
client/src/pages/Events/EventDetailPage.jsx - Event editor → Event API client: submits changes
client/src/pages/Events/EventFormPage.jsx - User dashboards → Event API client: requests dashboard data
client/src/pages/Dashboard/AnalyticsPage.jsx - Home page → Event API client: requests events
client/src/pages/Home/Home.jsx - Event API client → HTTP client: sends requests
client/src/api/events.js - Auth API client → HTTP client: sends requests
client/src/api/auth.js - HTTP client → API application: HTTP requests
- API application → Auth routes: mounts routes
server/src/app.js - API application → Event routes: mounts routes
server/src/app.js - API application → Personal routes: mounts routes
server/src/app.js - Auth routes → Auth controller: dispatches
server/src/routes/auth.routes.js - Auth routes → Session middleware: protects profile route
server/src/routes/auth.routes.js - Event routes → Event controller: dispatches
server/src/routes/event.routes.js - Event routes → Attendance controller: dispatches
server/src/routes/event.routes.js - Event routes → Session middleware: protects routes
server/src/routes/event.routes.js - Personal routes → Dashboard controller: dispatches
server/src/routes/me.routes.js - Personal routes → Session middleware: protects routes
server/src/routes/me.routes.js - Auth controller → User records: reads and writes
server/src/controllers/auth.controller.js - Auth controller → Auth service: uses password and token helpers
server/src/controllers/auth.controller.js - Event controller → Event records: reads and writes
server/src/controllers/event.controller.js - Event controller → Attendance records: reads registrations
server/src/controllers/event.controller.js - Attendance controller → Event records: reads event
server/src/controllers/attendance.controller.js - Attendance controller → Attendance records: manages registrations
server/src/controllers/attendance.controller.js - Dashboard controller → Event records: reads events
server/src/controllers/me.controller.js - Dashboard controller → Attendance records: reads registrations
server/src/controllers/me.controller.js - User records → MongoDB: persisted in
- Event records → MongoDB: persisted in
- Attendance records → MongoDB: persisted in