This is a simple scheduling system for a organiser who can get bookings from their attendee/user using a calendar.
It sort of tries to get a form filled by user and updates host's calendar.
Requirements:
Assumptions:
- Only one attendee per slot
- Only one organizer
- Attendee's availability is not checked through their calendar.
Functional requirements(Must haves):
- Create an event for the attendee based on Organizer's availability. Ask to fill a form with details
- Name
- contact
- start date time (resolve time zone)
- end date time (resolve time zone) age, gender
- Send an invite to attendee's email. Direct to "received appointment" page.
- Update the meeting on user's request- modify, cancel.
- Update organiser's calendar.
Secondary requirements:
- User address
- Pull User calendar and update
- Make it multi organiser
- Page for organiser
Working process: 0. Read about a little on system design concepts. Youtube videos had examples, but couldn't really give me the pattern except for some basic relational datatables.
- Able to set up PyCharm for Flask on Friday, Feb 4, 2022.
Saturday,February 5, 2022:
- 6 pm: Tried setting up google login for users. Made assumptions. Got home html template.
- 7 pm:
- Outlined functional requirements.
- Is google login necessary?
- Google login would help get user email id and their calendar.
- Set up Github key in Pycharm, pushed and updated README.md
- Thinking about Google authentication... Would a simple calendar layout work?
- 11 pm:
- Decided not to complicate things by asking google oAuth login (secondary requirement for now)
- 11 35 pm:
- Think about database tables
- User datatable - id, name, email,contact
- Events datatable - id, booking_status, user_id, event_name, event_description(optional), start_datetime, end_datetime, allday(optional) join user and events table isnewpatient, num_visits
- Try JS? TODO
- Organisers schedule - available time in a sorted manner
References:
- https://www.youtube.com/watch?v=rHZwE1AK1h8 - Appointment form