Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

eLab Frontend-Graduation project

A modern medical laboratory management platform built with React — enabling patients to book tests, view results, and get AI-powered health insights, while giving staff and admins full control over lab operations.


🖥️ Live Preview

Screenshot 2026-06-20 135833

✨ Features

🔐 Authentication

  • Sign in with email or identity number
  • Two-step registration with medical information (blood type, allergies, chronic diseases, emergency contact, insurance)
  • Forgot password flow
Screenshot 2026-06-20 135838 Screenshot 2026-06-20 135842 Screenshot 2026-06-20 135903

🧑‍⚕️ Patient Portal

Dashboard — Overview of bookings, pending tests, results, and unread alerts.

Screenshot 2026-06-20 135957

Test Catalog — Browse and search all available lab tests by category, with discount badges and cart functionality.

Screenshot 2026-06-20 140001

Special Offers — View active discounts and promotions across all branches.

Screenshot 2026-06-20 140009

Book Appointment — Select a branch, date, and time. Choose between cash payment at branch or secure online payment via Stripe.

Screenshot 2026-06-20 140013 Screenshot 2026-06-20 140017 Screenshot 2026-06-20 140035

Stripe Payment — Integrated Stripe checkout with multi-currency support (USD / ILS).

Screenshot 2026-06-20 140043

My Bookings — View all appointments with status (Confirmed / Pending) and payment tracking.

Screenshot 2026-06-20 140057

AI Analysis — AI-powered explanations of lab results. Patients can ask questions like "Are my values within normal range?" or "What symptoms should I watch for?"

Screenshot 2026-06-20 141321 Screenshot 2026-06-20 141400 Screenshot 2026-06-20 141407

🛠️ Admin Panel

Admin Dashboard — System-wide overview of bookings, revenue, staff count, patient count, and active branches.

Screenshot 2026-06-20 140602

Bookings Management — View and manage all appointments across all branches with status and payment filters.

Screenshot 2026-06-20 140607 Screenshot 2026-06-20 140610 Screenshot 2026-06-20 140615

Test Catalog Management — Add, edit, and activate/deactivate lab tests.

Screenshot 2026-06-20 140619 Screenshot 2026-06-20 140622 Screenshot 2026-06-20 140631

And more: Templates, Reference Ranges, Pricing, Offers, Staff Management, Patient Records, Branches, and Results.

Screenshot 2026-06-20 140738 Screenshot 2026-06-20 140749 Screenshot 2026-06-20 140726 Screenshot 2026-06-20 140649 Screenshot 2026-06-20 140654 Screenshot 2026-06-20 140703 Screenshot 2026-06-20 140715 Screenshot 2026-06-20 140749 Screenshot 2026-06-20 140814 Screenshot 2026-06-20 140817

staff Panel

Screenshot 2026-06-20 140307 Screenshot 2026-06-20 140311 Screenshot 2026-06-20 140321 Screenshot 2026-06-20 140351 Screenshot 2026-06-20 140414 Screenshot 2026-06-20 140430 Screenshot 2026-06-20 140446 Screenshot 2026-06-20 140453

🧰 Tech Stack

Technology Purpose
React UI framework
JavaScript (JSX) Language
Tailwind CSS Styling
Axios API communication
Stripe Payment processing
React Router Navigation
Context API State management
CRACO Build configuration

🗂️ Project Structure

src/
├── api/              # Axios API calls
├── components/       # Reusable UI components
├── context/          # Auth context
├── hooks/            # Custom React hooks
├── pages/
│   ├── admin/        # Admin portal pages
│   ├── auth/         # Login, Register, Forgot Password
│   ├── patient/      # Patient portal pages
│   └── staff/        # Staff portal pages
├── styles/           # Global CSS
└── utils/            # Helper functions

🚀 Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

# Clone the repo
git clone https://github.com/mohz7/elab-frontend.git
cd elab-frontend

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Fill in your API base URL and Stripe public key in .env

# Start the development server
npm start

The app will run at http://localhost:3000


🔑 Environment Variables

REACT_APP_API_BASE_URL=https://your-backend-url/api
REACT_APP_STRIPE_PUBLIC_KEY=your_stripe_public_key

👤 User Roles

Role Access
Patient Dashboard, Tests, Offers, Bookings, Results, AI Analysis, Cart, Profile
Staff Patient Profiles, Bookings, Upload Results, Chats
Admin Full system management — all of the above plus Branches, Staff, Pricing, Templates, Ranges

🔗 Related

About

React frontend for eLab — a medical laboratory management system with patient, staff, and admin portals.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages