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. The patients: - 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; The doctors: - 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 patients; - can view/refuse appointments made by the patients registered in the platform; - can modify the medical history of all patients registered in the platform (after they get the permission to access the file); - set a price for consultation; - offer a list of services; - (!OPTIONAL!) can use a ML algorithm and Natural Process algorithm to analyze the patient'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 - /appointments - /ml (!OPTIONAL!) Authentication endpoint - /reset_token User endpoint - POST: /register - POST: /login - PUT: /profile - DELETE: /profile - POST: /appointment - PUT: /appointment - DELETE: /appointment Doctor endpoint - POST: /register - POST: /login - PUT: /profile - DELETE: /profile - POST: /appointment - PUT: /appointment - DELETE: /appointment Chat endpoint - POST: / - GET: / Appointments - POST: / - DELETE: / Medical history endpoint - POST: /:id (only by patient) - GET: /:id (only by patient) - PUT: /:id (only by doctor) - DELETE: /:id (only by patient) - POST: /grand_access - POST: /revoke_access API STRUCTURE - 1. Middlewares - ApiKeyValidationMiddleware - BodyCheckMiddleware - JwtMiddleware (?)