Skip to content

obeidahmad/e-Health_Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

e-Health Platform for Social Medical Center


This project is part of a philanthropic initiative, for the Medical and Social Center M.J.O. Beirut. A testament to this rapidly evolving digital age, we aimed to digitize the services offered by the Medical Center, not only to keep pace with modern advancements but also to enhance accessibility, efficiency, and convenience for both patients and medical personel. This project packs a list of applications forming the digital infrastrcure of the medical center, along with a user-friendly web portal for patients, doctors and admins. Embodying the the spirit of M.J.O. Beirut, this platform follows best practices for rigid information security and scalability.

The different features are:

  • Pharmacy and Meds Sotrage management
  • Appointments management with email notification
  • Social news builder
  • Secure Patients records management

All those features are seamlessly integrated in a Single-Page UI with customized visibility for each user/medical personel.

signup page

General building blocks

building blocks

The diagram above shows the general structure. There are three main layers:

  • The frontend
  • The gateway
  • The backend

The frontend, responsible for the user interface, seamlessly interacts with cloud services for data storage. Meanwhile, the backend, accessible only through the identity management gateway, handles business logic and data processing. Each backend module operates independently, ensuring robustness and future scalability. Our architecture is made with growth in mind, whether you’re expanding within a monolithic system or transitioning to a full microservices setup.

Tools and technologies

Table 1
Module Purpose Tool
Database Storing generated user data Postgres
Storing sensitive user data Firestore
Authentication service Authenticating users and admins and supported extension for role-based access control Firebase Auth
File Storage service Stpring static images from users Firebase Cloud Storage
API Gateway Reverse proxy to handle requests to multiple backends Nginx
Deployment Containerization tool to handle local and future remote deployments Docker
Front-end framework Enterprise level, easy to use user interface with rich components Angular
Backend frameworks User related business logic Java Spring Boot
Internal tooling logic Python with FastAPI
Firebase admin tooling extension and wrapper Python with FastAPI

Deployment

Pre-requisites

  • Docker
  • A firebase project including
    • Firebase auth for identity management
    • Firestore for sensitive
    • Firebase storage

Firebase project

All used services are part of the free plan.

Excluded from this repository are the Firebase setup processes.

Setup for auth:

  • Password authentication and Google authenticaition.
  • Password verfication.
  • Password change.

Setup for Firestore:

  • Store protection based on auth status and roles
  • Schema initialization

Final Steps

You will firstly need to change the database connection strings in the proper application.properties files. Removal of the SQL container in the docker compose file may be necessary if you are using a standalone Database Server.

The database schemas needed are not automatically created. They should be manually added.

Once satisfied

docker compose up

Acknowledgement

Afrah Hassan

Ahmad Obeid