brpapa / 4720A-higeia

πŸ‘¨β€βš•οΈ A full-stack application that connects doctors and patients by allowing appointment scheduling and medical prescriptions control

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Higeia

This project was my final work for the discipline "4720A - Data Base I", in july 2020.

Table of contents

Overview

UI screenshots

scheenshot-0 scheenshot-1 scheenshot-2 scheenshot-3 scheenshot-4 scheenshot-5 scheenshot-6

Entity Relationship Diagram (ERD)

erd

Implemented use cases

Unlogged user

  • Login

  • Register

  • Health quote of the day

Logged user

  • Profile settings

    • Log out

    • Delete account

    • Edit account

Logged patient user

  • Find doctors to book appointments

    • View a list of all doctors registered in the system.

    • For each doctor, it is possible to book an appointment at a valid date and time.

    • It should be possible to filter the list by doctor specialization.

    • For each doctor, you can see more details about him by visiting his public page.

  • Next appointments

    • View a list of your next appointments, that is, those with "scheduled" status and with a start date later than the current one.

    • The list order must prioritize the most recent appointment.

    • For each appointment, you can cancel it.

  • Last appointments

    • View a list of your last appointments that have already happened, that is, those with "completed" status and start date earlier than current one.

    • The list order must prioritize the most recent appointment.

    • For each appointment, you can evaluate it.

  • Active prescriptions

    • View a list of your medical prescriptions that are still in effect, that is, only those with expiration date later than or equal to the current date.

    • For each prescription, you can view the medicine name, the start and expiration date, the details (dose and frequency) and the doctor who prescribed it.

  • View details of a completed appointment

Logged doctor user

  • Pending appointments

    • View a list of your pending appointments, that is, those with date earlier than the current one but that are still with "scheduled" status.

    • For each appointment, you can add a diagnosis, a note and a prescription. When you do this, it becomes "completed" and therefore leaves the list of pending appointments.

  • Next appointments

    • View a list of your next appointments, that is, those with date later than the current one.
  • Last activities

    • View a lof of your last activities on the system.

Installation

For run this project locally, you need have installed on your SO:

Database

After setup and connect to your local database:

  • Run the script create.sql to create the tables and triggers of the database.

  • Run the script populate.sql to fake populate the database.

API server

Inside packages/api, you must create a .env file based on the .env.example to set your own configs related to your local database, and run:

# To install all dependencies listed on the `package.json` file.
> yarn install

# To run the server.
> yarn start

Web client

Inside packages/web, you must alter the file src/services/api.ts with the port you set above, and run:

# To install all dependencies listed on the `package.json` file.
> yarn install

# To run the app on http://localhost:3000.
> yarn start

# To build the bundled app for production on the `build` folder.
> yarn build

About

πŸ‘¨β€βš•οΈ A full-stack application that connects doctors and patients by allowing appointment scheduling and medical prescriptions control


Languages

Language:TypeScript 68.3%Language:JavaScript 30.2%Language:HTML 0.6%Language:SCSS 0.5%Language:Shell 0.3%