This project was used for the final project in CSCB07 at the University of Toronto. I have shared the GitHub link to the code with the instructors. If you happen to come across this code, do NOT use this for your own project. You are free to look at the code (I cannot stop you), and learn from it but do not copy-paste any of the code here. As a piece of advice from one student to another, plagiarism is not the answer no matter how much you are struggling, the instructors will find out through their own plagiarism checks.
This was a group project here is the contact info of my fellow collaborators and myself:
- Makrod, Saad (saad.makrod@mail.utoronto.ca)
- Bhattacharya, Anindro (anindro.bhattacharya@mail.utoronto.ca)
- Ou, Denise (denise.ou@mail.utoronto.ca)
- Liao, Mario (mario.liao@mail.utoronto.ca)
- Maqbool, Nimra (nimra.maqbool@mail.utoronto.ca)
Please vist the Individual Contributions section to see how the work was distributed between ourselves.
Furthermore, the images used were taken from Google Images.
This project was developed by using Android Studio and Firebase Realtime Database.
A demo can be seen at https://youtu.be/gmhzkBnsJZ0. Note that there is no audio it is just a quick demo to show how to interact with the app and the database updating.
This project was developed for the final project of CSCB07 at the University of Toronto. We used Agile methodologies to develop this software, specifically we used Scrum. An in depth documentation of our Scrum meetings can be seen at "CSCB07 Project Documentations.pdf" in the repository.
When developing this app we followed user stories for both the patients and the doctors. Here are the user stories:
Patient Goals:
- As a patient I want to log in so that I can see the patient screen.
- As a patient I want to see a list of doctors and be able to filter through them so that I can find a doctor that meets my needs.
- As a patient I want to be able to click on a doctor and see their availabilities so that I can book appointments and see my upcoming appointments updated accordingly.
Doctor Goals:
- As a doctor I want to log in so that I can see the doctors screen.
- As a doctor I want to see my schedule for the week so that I can see when I have appointments.
- As a doctor I want to be able to see patient details when I click on an upcoming appointment.
Additionally we had a list of minimum requirements to complete. Here is the list of requirments:
Requirements:
- Database of doctors: each doctor has a name, a gender (in case patients are searching for gender-specific doctors), weekly availabilities (which should change when patients book appointments), specializations (for patients looking for a specialist), and a list of patients who have visited them so far.
- Database of patients: each patient will have a name, a gender, date of birth, a list of previous appointments, a list of upcoming appointments, and a list of doctors at the clinic that they have previously seen.
- Login page for patients, and one for doctors.
- When patients log in they should see their upcoming appointments as well as a "book appointment" button. When they click that button, they should see a list of doctors. There is a filter option for filtering on doctors' gender and specialization. When they select a doctor, they should see the doctor's availabilities for the upcoming week. They should be able to select a timeslot and book the appointment. This action should update their upcoming appointments as well as the doctor's upcoming appointments lists.
- When doctors log in, they should see their upcoming appointments too. They should be able to inspect the patients and see their info, along with a list of previous doctors this patient has seen. They should also be able to view their own schedule and see which patients have booked when, as well as which time slots are still available.
- When an appointment time passes, the patients' upcoming and past appointments as well as the list of doctors they have seen should be updated accordingly, and the doctor's upcoming appointments and patients list should be updated.
- The program must be implemented such that if any doctor leaves the clinic or new doctors join, it should be easy to include them in the scheduling system. Also, when new patients sign up to use the app, it should be easy to include them as well.
We have implemented all the features listed above.
Name | Contributions |
---|---|
Saad Makrod |
|
Mario Liao |
|
Anindro Bhattacharya |
|
Denise Ou |
|
Nimra Maqbool |
|
The app is straightforward to use. All you have to do is sign up and as either a Doctor or Patient and you can use the app. Please see the demo to see some functionalities of the app.