Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

150 Commits
 
 
 
 
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

Packages

Contributors

Languages