How anniina-55/hobby-session-planner-attendance-app works
This is a hobby-session planning and attendance app: users browse public sessions, create public or private sessions, join through a shareable session link, and manage sessions or cancel attendance with codes. The React router exposes these workflows and the Express server dispatches session and attendance requests to separate route modules backed by SQLite. Source excerpts show the create, public-session, join, and edit flows; several listed pages and attendance handlers were not sampled, so their internal request wiring is not inferred.
Main entry points: App.tsx App router · sessions.js Session routes · EditSession.tsx Edit session · database.js Database access
Components 18
Web application
- App router
frontend/src/App.tsx - Browser entry
frontend/src/main.tsx - Browse sessions
frontend/src/pages/Sessions.tsx - Create session
frontend/src/pages/CreateSession.tsx - Session form
frontend/src/components/SessionForm.tsx - Session view
frontend/src/pages/Session.tsx - Session details
frontend/src/components/SessionDetails.tsx - Join session
frontend/src/components/JoinSession.tsx - Edit session
frontend/src/pages/EditSession.tsx - Attendee list
frontend/src/components/AttendeeList.tsx - Manage attendance
frontend/src/pages/ManageAttendance.tsx - Navigation
frontend/src/components/Navbar.tsx
Session management
- Express server
backend/index.js - Session routes
backend/db/routes/sessions.js
Attendance management
- Attendance routes
backend/db/routes/attendance.js
Persistent storage
- Database access
backend/db/database.js - SQLite database
Other components
- Visitor
Connections 23
- Visitor → App router: uses
- Browser entry → App router: renders
- App router → Browse sessions: routes
- App router → Session view: routes
- App router → Create session: routes
- App router → Edit session: routes
- App router → Manage attendance: routes
- App router → Navigation: renders
- Create session → Session form: renders
- Edit session → Session form: renders
- Edit session → Attendee list: renders
- Session view → Session details: renders
- Session details → Join session: renders
- Create session → Session routes: sends create request
- Session view → Session routes: fetches session
- Edit session → Session routes: reads and updates
- Join session → Attendance routes: requests attendance
- Express server → Session routes: dispatches /sessions
- Express server → Attendance routes: dispatches /attendance
- Express server → Database access: initializes
- Session routes → Database access: gets database
- Attendance routes → Database access: gets database
- Database access → SQLite database: opens and initializes