Welcome
-
This is the repo for the final project of the subject CC made by Cerbu Andrei - Mihnea
& Prunoiu Cristina-Elena


General overview of project
-
This application represents a platform where pacients and doctors can register based
on a monthly subscription. 

<b>The pacients</b>:

- register in the system, with the option of uploading their personal 
medical history;
- can directly talk via a chat with the doctors;
- can make appointments which the doctors can preview in their calendar;
- can offer/revoke access to the user's medical history;
- download their medical history and also delete all the information from
the platform;

<b>The doctors</b>:

- register in the system, with the option of setting the location of the
office to take advantage of the Google Maps API (optional);
- can directly talk via a chat with the pations;
- can view/refuse appointments made by the pacients registered in the platform;
- can modify the medical history of all pacients registered in the platform (after
they get the permission to access the file);
- set a price for consulation;
- offer a list of services;
- (!OPTIONAL!) can use a ML algorithm and Natural Process algorithm to analyze the
pacient's medical history and extract some possible ills which may come in the future;


API Structure
-

The API will open the following endpoints to the UI:

- /users
- /doctors
- /authentication (sign up + login)
- /medical_history
- /chat
- /ml (!OPTIONAL!)

<b>Authentication endpoint</b>

- POST: /register
- POST: /login
- POST: /reset_password (optional)

<b>User endpoint</b>

- PUT: /profile
- DELETE: /profile
- POST: /appointment
- PUT: /appointment
- DELETE: /appointment


<b>Doctor endpoint</b>

- PUT: /profile
- DELETE: /profile
- POST: /appointment
- PUT: /appointment
- DELETE: /appointment


<b>Chat endpoint</b>

- POST: /message
- GET: /

<b>Medical history endpoint</b>

- POST: /:id (only by pacient)
- GET: /:id (only by pacient)
- PUT: /:id (only by doctor)
- PUT /grand_access


API STRUCTURE
- 

1. Middlewares
- ApiKeyValidationMiddleware
- BodyCheckMiddleware