How itpe3200-hord/study-room-booking works
This repository contains a study-room booking product in two application layouts: a server-rendered ASP.NET MVC app and a separate React client with an ASP.NET API. Students browse rooms, check availability, make bookings, and can publish or join open study sessions; accounts and student administration support that workflow. The MVC booking controller’s repository calls and home-page availability queries are visible; the React-to-API wiring and several API subsystems are not sampled, so those links are omitted or marked unverified.
Main entry points: RoomDbContext.cs Entity context · App.tsx App routing · RoomRepository.cs Room repository · StudentRepository.cs Student repository
Components 23
React client
- App routing
Subapp.2/study-room-booking/src/App.tsx - Home page
Subapp.2/study-room-booking/src/home/HomePage.tsx - Room browser
Subapp.2/study-room-booking/src/rooms/RoomListPage.tsx - Account pages
Subapp.2/study-room-booking/src/account/LoginPage.tsx - My page
Subapp.2/study-room-booking/src/account/MyPagePage.tsx - Navigation
Subapp.2/study-room-booking/src/shared/NavMenu.tsx
HTTP API
- Booking endpoints
Subapp.2/api/Controllers/BookingController.cs - Room endpoints
Subapp.2/api/Controllers/RoomController.cs - Student admin
Subapp.2/api/Controllers/StudentController.cs - Account endpoints
Subapp.2/api/Controllers/AccountController.cs
Server-rendered app
- Booking workflow
study-room-booking/Controllers/BookingController.cs - Room and session search
study-room-booking/Controllers/HomeController.cs - Registration and login
study-room-booking/Controllers/AccountController.cs - Room management
study-room-booking/Controllers/RoomController.cs - Student management
study-room-booking/Controllers/StudentController.cs
Persistence
- Booking repository
study-room-booking/DAL/BookingRepository.cs - Room repository
study-room-booking/DAL/RoomRepository.cs - Student repository
study-room-booking/DAL/StudentRepository.cs
Domain records
- Entity context
study-room-booking/Models/RoomDbContext.cs - Booking and session records
study-room-booking/Models/StudySession.cs - Room record
study-room-booking/Models/Room.cs - Student record
study-room-booking/Models/Student.cs
Other components
- Student
Connections 28
- Student → App routing: uses
Subapp.2/study-room-booking/src/App.tsx - App routing → Home page: routes to
Subapp.2/study-room-booking/src/App.tsx - App routing → Room browser: routes to
Subapp.2/study-room-booking/src/App.tsx - App routing → Account pages: routes to
Subapp.2/study-room-booking/src/App.tsx - App routing → My page: routes to
Subapp.2/study-room-booking/src/App.tsx - App routing → Navigation: renders
Subapp.2/study-room-booking/src/App.tsx - Home page → Booking endpoints: requests data
- Room browser → Room endpoints: requests data
- Account pages → Account endpoints: submits credentials
- My page → Student admin: requests profile
- Student → Booking workflow: books rooms
study-room-booking/Controllers/BookingController.cs - Booking workflow → Booking repository: checks and saves
study-room-booking/Controllers/BookingController.cs - Booking workflow → Room repository: loads rooms
study-room-booking/Controllers/BookingController.cs - Room and session search → Entity context: queries rooms and sessions
study-room-booking/Controllers/HomeController.cs - Room management → Room repository: manages rooms
study-room-booking/Controllers/RoomController.cs - Student management → Student repository: manages students
study-room-booking/Controllers/StudentController.cs - Registration and login → Student repository: creates profile
study-room-booking/Controllers/AccountController.cs - Booking repository → Entity context: persists bookings
- Room repository → Entity context: persists rooms
- Student repository → Entity context: persists students
- Entity context → Booking and session records: stores
- Entity context → Room record: stores
- Entity context → Student record: stores
- Student → Room and session search: searches availability
study-room-booking/Controllers/HomeController.cs - Student → Registration and login: registers or signs in
study-room-booking/Controllers/AccountController.cs - Booking endpoints → Booking repository: uses repository
Subapp.2/api/Controllers/BookingController.cs - Room endpoints → Room repository: uses repository
Subapp.2/api/Controllers/RoomController.cs - Student admin → Student repository: uses repository
Subapp.2/api/Controllers/StudentController.cs