This app uses a Django, Django rest framework as an API to send doctor details and appointment data to the frontend of a booking application.
Enjoy your API!
- python
- Django
- Django rest framework
- MYSQL
- Djoser
- swagger
Project Requirements - distributed into milestones below:
- Milestone 1: Setup the project for backend (group task)
- Milestone 2: Implement (Djoser)devise gem
- Milestone 3: Pytest test user
- Milestone 4: Generate table and model for the Doctor
- Milestone 5: Generate table and model for the Reservation
- Milestone 6: Pytest for Reservation
- Milestone 7: Pytest for Doctor
- Milestone 8: Implement pytest
- Milestone 9: Create Documentation
-
Milestone 1: Setup the project for the frontend (group task)
-
Milestone 2: Node package manager dependencies (group task)
-
Milestone 3: Create login page (group task)
-
Milestone 4: Create navigation panel (group task)
-
Milestone 5: Create main page (Ranjit)
-
Milestone 6: Create details page (Melaku)
-
Milestone 7: Create Reservation page (Steve)
-
Milestone 8: Create my reservation page (Ismail)
-
Milestone 9: Create the redux store (group task)
-
Milestone 10: Create the doctor reducer (group task)
-
Milestone 11: Create the reservation reducer (group task)
-
Milestone 12: Create the login reducer (group task)
-
Debug linter errors
Live server: Rswag api documentations
-
GET /users/
- Get the logged in user data
- returns:
{ "id": 1, "username": "user", "created_at": "2022-08-28T21:31:51.962Z", "updated_at": "2022-08-28T21:31:51.962Z", "email": "user@email.com" }
-
POST /users
- Create a new user
- e.g:
{ "username": "user", "email": "user@email.com", "password": "password" }
-
DELETE /users/
- Logged out the logged in user
-
POST /doctors/
- Create a new doctor
- e.g:
{ "name": "Dr. doc", "detail": "Bio", "photo": "photo.jpg", "city": "London", "specialization": "Gynecologist", "fee": 100.00 }
-
GET /doctors/
- Get all doctors
- returns:
[{ "id": 1, "name": "Dr. doc", "detail": "Bio", "photo": "photo.jpg", "city": "London", "specialization": "Gynecologist", "fee": 100.0, "created_at": "2022-08-30T10:34:55.953Z", "updated_at": "2022-08-30T10:34:55.953Z" }]
-
GET /doctors/:id
- Get a doctor by id
- returns:
{ "id": 1, "name": "Dr. doc", "detail": "Bio", "photo": "photo.jpg", "city": "London", "specialization": "Gynecologist", "fee": 100.0, "created_at": "2022-08-30T10:34:55.953Z", "updated_at": "2022-08-30T10:34:55.953Z" }
-
DELETE /doctors/:id
- Delete a doctor by id
-
POST /reservations/
- Create a new reservation
- e.g:
{ "doctor_id": 1, "user_id": 1, "date": "2022-08-30", "city": "London", }
-
GET /reservations/
- Get all reservations
- returns:
[{ "id": 1, "doctor_id": 1, "user_id": 1, "date": "2022-08-30", "city": "London", "created_at": "2022-08-30T10:34:55.953Z", "updated_at": "2022-08-30T10:34:55.953Z" }]
-
GET /reservations/:id
- Get a reservation by id
- returns:
{ "id": 1, "doctor_id": 1, "user_id": 1, "date": "2022-08-30", "city": "London", "created_at": "2022-08-30T10:34:55.953Z", "updated_at": "2022-08-30T10:34:55.953Z" }
- Login into Booking App with your username
- Click on the list of Doctors to see their specific detailed information
- From Navigation or from details page click 'Reserve' to book an appointment
- Click from Navigation panel, 'My Reservation' to view a list of your appointment details
Enjoy saving time on long appointment calls by using our top ranking appointment booking App!
👤 Melaku Eshetu
👤 Ranjit Luwang
- GitHub: @aboongm
- Twitter: @John_luang1
- LinkedIn: LinkedIn
👤 STEVE W DAMES JR
- GitHub: @githubhandle
- Twitter: @twitterhandle
- LinkedIn: LinkedIn
👤 Ismail Courr
- GitHub: @ismailco
- Twitter: @ismailcourr
- LinkedIn: Ismail courr
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
Give a ⭐️ if you like this project!
- Hat tip to anyone whose code was used
- Original design idea by Murat Korkmaz on Behance.
This project is MIT licensed.