# Patient Profile Management (LP-1000) ## General Requirements <p> In this assignment, you are to create a simple Patient Profile Management application. You can make use of Bootstrap if you want quick ready-made templates. You are free to make any UI/UX decision. </p> <ul> <li>The application should have a login/signup page.</li> <li>Show list of patients once logged in.</li> <li>The main patient page should only be accessible once authenticated.</li> <li>Allow user to add new patient.</li> <li>Allow user to edit existing patient detail.</li> <li>Allow user to delete a patient.</li> <li>Allow user to mark a patient as Special Attention.</li> <li>Special Attention patients should always be listed at the top in alphabetical order.</li> </ul> ## Application Requirements <ol> <li>Create a suitable schema with the database of your choice.</li> <li>Be RESTful.</li> <li>Have proper access control.</li> <li>Write Unit tests.</li> <li>Do your best to implement and follow best practices, conventions, and standards under all aspects.</li> </ol> ## API Requirements <ol> <li>Create POST /signup endpoint for user signup. The endpoint should take email and password as payload.</li> <li>Create POST /signin endpoint for user signin. The endpoint should take the same payload as /signup. </li> <li>Create a token-based authentication mechanism.</li> <li>Create GET /patient endpoint to fetch all patients. </li> <li>Create POST /patient endpoint to add a new patient. </li> <li>Create PUT /patient/{patient_id} to update a patient. </li> <li>Create DELETE /patient/{patient_id} to delete a patient. </li> <li>All endpoints need to be accessible only to authenticated users. </li> <li>You will have to create a user and patient table for storing details. </li> <li>The mandatory fields for a patient are Full Name, Email, Contact, DOB and Profile picture. You can choose all extra fields. (e.g., address, notes, gender…)</li> <li>Resize the patient image/photograph to a desirable size for a patient and upload the photographs to any free cloud storage service of your choice. </li> </ol> ## Your submission must include <ol> <li>Application should be properly documented. Make sure to add all the information necesary to run the project. <ul> <li>Short Description of project.</li> <li>Frontend application screenshots.</li> <li>Techstack used in application</li> <li>Setup process.</li> </ul> </li> <li>Unit tests and test coverage report</li> <li>API Documentation (add to readMe.md)</li> <li>Postman Collection (add the public link to readMe.md)</li> </ol> <hr /> ## Good to have <ol> <li>Capability to add allergies.</li> <li>Time-bound token authentication. The access token must expire after a few minutes, regenerated using a refresh token.</li> <li>Database connection abstraction to support more than one database connections.</li> </ol> <hr /> ### References For reference you can use following these images. But use your own judgement for the UI/UX and showcase your creativity. Our expectation is a proper UI/UX for Login, Registration, List and Form. #### Login / Registeration Page ![](https://i.imgur.com/Woic9aJ.jpg) #### Patient List ![](https://i.imgur.com/A8s4i3n.png) #### Patient Detail ![](https://i.imgur.com/ej5pbpv.png) ###### tags: `FullStack` `Challenge1`