A full-stack mini project website to help manage coaching scheduling.
NOTE: This v1.0 only has basic features that have been implemented within the 3 hour timeframe alloted for this mini project.
-
Coaches can add slots of availability to their calendars. These slots are always 2 hours long and each slot can be booked by exactly 1 student. For example, a coach might set these times as available: 2022-02-23 10am-12pm, 2022-02-23 12pm-2pm, 2022-03-02 5pm - 7pm.
-
Coaches can view their own upcoming schedule.
-
Students can view upcoming available times across all coaches’ calls.
-
Students can book a slot for a call (the full 2 hours).
-
Coaches should be able to review their past scores and notes for all of their calls.
-
After they complete a call with a student, coaches will record the student’s satisfaction (an integer 1-5) and write some free-form notes.
v1.0 contains basic tests to test backend APIs and database models.
Frontend - Vue.js
Backend - Python with Django ORM
Database - SQLite
The app architecture is very simple and straightforward. The app allows a person to login as a Coach or Student and view their respective dashboards.
- Display Coach name, Student name in the dashboards
- Ability for Coach to cancel or change their availability
- Ability for Coach to set availability in any timezone
- Ability for Student to cancel an already scheduled future appointment
- Ability for Coach to edit an already submitted feedback
- Ability for Coach to share feedback with a Student
- Website login authentication
- Frontend <-> Backend API authentication
- Backend <-> Database connection authentication
- Offline mode
- App accessibility considerations
- Ability to switch between Light/dark modes
- Ability to integrate with GCal
- Make the website more mobile friendly
- Validation for Coach availability dates. i.e., dates are not in the past, a selected availability shouldn't overlap an already existing slot for a given Coach, begin and end times of a slot are always 2 hours apart etc.
- Frontend unit tests
- Enhance backend unit tests
- End-to-end tests