Skip to content

Latest commit

 

History

150 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mediqo - medical laboratory web platform

A full-stack medical laboratory web platform designed for online lab test booking and user management.

This project follows a microservice architecture and provides secure authentication, role-based access control, and a comprehensive patient portal where users can view their laboratory results, track health indicators over time with interactive analytics, and share their test history with a physician.

Key Features

  • User registration and SMS OTP authentication via Twilio
  • JWT-based authentication with access and refresh tokens
  • Role-based authorization (Patient or Laboratory Personell)
  • Browsing and ordering laboratory tests and packages
  • Shopping cart with OpenStreetMap integration to display laboratory branch locations on an interactive map
  • User profile and account management
  • Responsive React.TS frontend with modern UI

Tech Stack

Backend

  • FastAPI
  • SQLAlchemy 2.0
  • PostgreSQL
  • Redis
  • Apache Kafka
  • JWT Authentication
  • Alembic
  • Pydantic v2
  • Twilio API
  • ULID

Frontend

  • React
  • TypeScript
  • React Router
  • Axios
  • Material UI (MUI)
  • OpenStreetMap (React Leaflet)

Infrastructure & DevOps

  • Docker & Docker Compose
  • Nginx
  • Kafka UI
  • Adminer

Getting Started

  1. Clone the repository:
git clone https://github.com/mar11ad/Mediqo_Web_App.git
cd Mediqo_Web_App
  1. Create a .env file in the project root (if required) and configure the environment variables.

  2. Build the Docker images

docker-compose build
  1. Run the app
docker-compose up
  1. Check for Services & Ports

Frontend | http://localhost:3000 

Backend API (Auth) | http://localhost:8000 

Notification Service | http://localhost:8001 

Nginx | http://localhost 

Kafka UI | http://localhost:8080 

Adminer | http://localhost:8081

PostgreSQL | localhost:5432 

Redis | localhost:6379 
  1. If the database is empty, run:
docker compose exec auth_service alembic upgrade head

🛠️ Author: mar11ad

About

Mediqo — Medical Laboratory Platform built with a microservice architecture, enabling patients to book laboratory tests, securely access their medical results, monitor health indicators over time, and share test history with healthcare providers.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages