Every day, before you start, pull the master branch from https://github.com/intesys/medimemo-uni2grow-2024, then create a new branch for the day's exercise.
Send a pull request to https://github.com/intesys/medimemo-uni2grow-2024 every day before you close. The instructor will merge one of the pull requests you submitted, so that the next day you can all start aligning.
This is a React applcation scaffolded using Vite, please read the original README here.
Install:
npm install
Run development:
npm run dev
Some screenshots of the application:
You can view other screenshots in the documentation directory on this repository.
Visual design and prototype is also available on Figma.
- User: app user, logged into MediMemo
- Therapy: represents a doctor prescription, contains one or more medicines and medication dosage (Prescription). It's also linked to a Contact (=doctor)
- Medicine: represents a drug. It contains also the leaflet
- Prescription: represents the association of a Therapy and a Medicine, where starting and ending dates are saved, linked to PrescriptionTimes
- PrescriptionTime: represents time of taking a medicine
- Dose: represents a reminder, a medicine to be taken by user, and records whether it has been taken. It's related to Prescription and PrescriptionTime
- Contact: represents a doctor's profile
- User -> has many -> Therapy
- Therapy -> has many -> Prescription - Prescription represents an association between a Therapy and a Medicine
- Therapy -> has one -> Contact
- Prescription-> has one -> Medicine
- Prescription -> has many -> PrescriptionTime
- PrescriptionTime -> has many -> Dose
- go to login
- sign up
- login
This use case describes the first access as a new user
- login
- there aren't medications -> go to therapies
- add a new therapy
- follow the flow "configure therapy"
- login
- go to medications
- check on a DosageProgress
- go to therapy page
- create a new therapy
- add a medicine
- add a program for the medicine
- select start and end dates
- add times
- add other medicines
- select a doctor
- add notes
- save
- go to contacts page
- click add
- insert doctor information
- save
- go to medications page
- click on the name of a medicine
- read medicine details
- go to medications page
- click on your account image or name
- edit your personal information
POST /login
GET /user
PUT /user
: modify user profile
GET /doses
: returns the list of today reminders (related to PrescriptionTime)PUT /doses/:id
: allow checking/unchecking a reminder
GET /therapies
: returns the list of therapies for current userPOST /therapies
: allows to save a new therapyGET /therapies/:id
: returns a therapy and its prescriptionsPUT /therapies/:id
: allows to change a therapyDELETE /therapies/:id
: removes a therapyGET /therapies/:therapyId/prescriptions
: returns prescriptions associated to a therapyPOST /therapies/:therapyId/prescriptions
: saves a new prescription, related to a therapyGET /prescriptions/:id
: returns a prescription and associated prescription timesPUT /prescriptions/:id
: changes a prescriptionDELETE /prescriptions/:id
: removes a prescriptionGET /prescriptions/:id/prescription-times
: returns prescription times of a prescriptionPOST /prescriptions/:id/prescription-times
: saves a new prescription time, related to a prescriptionPUT /prescription-times/:id
: changes a prescription timeDELETE /prescription-times/:id
: removes a prescription timeGET /prescriptions/:id/doses
: returns a list of doses related to a prescription, used for generating the progress bar
GET /medicines
: returns a list of medicinesGET /medicines/:id
: returns leaflet of a medicine
GET /contacts
: returns list of doctorsPOST /contacts
: adds a new doctorGET /contacts/:id
: returns a doctorPUT /contacts/:id
: modifies doctor's infoDELETE /contacts/:id
: removes a doctor
Full API spec is available in doc folder