For General Assembly’s Unit 3 project: MERN Stack CRUD App.
Project Definition
- Goal: Build a management system for a single fitness studio’s operations: schedule classes, accept bookings, enforce capacity, track attendance.
- Core Users / Roles:
- Owner/Admin – manages instructors/students, policies, and classes.
- Instructors – view their classes and student lists, view other bookings.
- Students/Clients – browse classes, book/cancel sessions, track attendance.
MVP Scope
Focus on the minimum features needed to demonstrate functionality:
- Authentication: Role-based login (Owner, Instructor, Student).
- Class Scheduling:
- Owners create classes (name, date/time, instructor, capacity).
- Instructors can view and manage their assigned classes.
- Students can browse and book.
- Booking System:
- Seat tracking (capacity management).
- Prevent double-booking.
- Basic Profile Management:
- Student info (name, email).
- Instructor bio/profiles.
Stretch Goals
- Recurring classes (RRULE instance generation).
- Passes/memberships
- Waitlists for full classes.
- Attendance check-in.
- Sub-management (re-assign instructors temporarily)
- Cancel class cutoffs (e.g. 12h before class begins)
- Reports (revenue, bookings, attendance).
- Payment integration (Stripe/PayPal).
Data Models (ERD)