How ashwinugale/csci-p565 works
This is a two-sided activity and venue discovery/booking application, with user and venue-owner experiences plus messaging. The main journey is users or owners entering through routed web pages, creating or finding activities and venues, then booking; authentication, profiles, and conversations are supporting workflows. The excerpts show route registration, authentication calls, activity filtering, booking logic, and model use. Several frontend pages and backend routes are indexed but unsampled, so their links are omitted where evidence is insufficient.
Main entry points: activity.js Activity and booking API · login.jsx Sign in · auth.js Authentication API · Header.jsx Navigation
Components 27
Web experience
- Page router
Project/vite-project/src/App.jsx - Navigation
Project/vite-project/src/pages/components/Header.jsx - HTTP server
Project/server/index.js
Identity and profiles
- Sign in
Project/vite-project/src/pages/auth/login.jsx - User context
Project/vite-project/src/pages/components/UserContext.jsx - Auth state
Project/vite-project/src/context/AuthContext.jsx - Auth reducer
Project/vite-project/src/context/AuthReducer.js - Authentication API
Project/server/routes/auth.js - User records
Project/server/models/user.js
Listings and discovery
- Activity search
Project/vite-project/src/pages/ActivityFilter.jsx - Activity card
Project/vite-project/src/pages/components/Activites/ActivityCard.jsx - Create activity
Project/vite-project/src/pages/AddActivity.jsx - Activity records
Project/server/models/activity.js - Venue search
Project/vite-project/src/pages/VenueFilter.jsx - Create venue
Project/vite-project/src/pages/AddVenue.jsx - Venue records
Project/server/models/venue.js
Booking and messaging
- Activity and booking API
Project/server/routes/activity.js - Activity bookings
Project/server/models/bookings.js - Venue bookings
Project/server/models/venuebooking.js - Conversation API
Project/server/routes/conversation.js - Conversations
Project/server/models/Conversation.js - Message API
Project/server/routes/messages.js - Messages
Project/server/models/Message.js
Other components
- User or owner
- MongoDB
- Firebase auth
- Email service
Connections 28
- User or owner → Page router: opens
Project/vite-project/src/App.jsx - Page router → Sign in: routes to
Project/vite-project/src/App.jsx - Sign in → Navigation: renders
Project/vite-project/src/pages/auth/login.jsx - Sign in → User context: updates
Project/vite-project/src/pages/auth/login.jsx - Sign in → Authentication API: posts login
Project/vite-project/src/pages/auth/login.jsx - Sign in → Firebase auth: authenticates with
Project/vite-project/src/pages/auth/login.jsx - Authentication API → User records: reads and creates
Project/server/routes/auth.js - Auth state → Auth reducer: reduces state
Project/vite-project/src/context/AuthContext.jsx - HTTP server → Authentication API: mounts
Project/server/index.js - HTTP server → Activity and booking API: mounts
Project/server/index.js - HTTP server → Conversation API: mounts
Project/server/index.js - HTTP server → Message API: mounts
Project/server/index.js - Activity search → Navigation: renders
Project/vite-project/src/pages/ActivityFilter.jsx - Activity search → Activity card: renders
Project/vite-project/src/pages/ActivityFilter.jsx - Activity search → Activity and booking API: requests filtering
Project/vite-project/src/pages/ActivityFilter.jsx - Create activity → Navigation: renders
Project/vite-project/src/pages/AddActivity.jsx - Venue search → Navigation: renders
Project/vite-project/src/pages/VenueFilter.jsx - Create venue → Navigation: renders
Project/vite-project/src/pages/AddVenue.jsx - Activity and booking API → Activity records: reads and updates
Project/server/routes/activity.js - Activity and booking API → Venue records: reads and updates
Project/server/routes/activity.js - Activity and booking API → Activity bookings: creates bookings
Project/server/routes/activity.js - Activity and booking API → Venue bookings: creates bookings
Project/server/routes/activity.js - Activity and booking API → User records: looks up owners
Project/server/routes/activity.js - Activity and booking API → Email service: sends notices
Project/server/routes/activity.js - Conversation API → Conversations: uses
Project/server/routes/conversation.js - Message API → Messages: uses
Project/server/routes/messages.js - User context → Authentication API: fetches profile
Project/vite-project/src/pages/components/UserContext.jsx - Authentication API → MongoDB: persists users