โ† Back to projects
Feature Overview

Ye-Almaz Lab Management System

A complete walkthrough of what the Ye-Almaz management system does, department by department. This is a feature reference, not a technical manual.

A note on the images in this doc: the login screen below is a real screenshot of the running system. The rest of this document uses diagrams rather than screenshots of logged-in dashboards, since those would require using real staff accounts and real clinic data to capture.

What the system is

Ye-Almaz runs the full life of a dental lab order, from the moment a clinic requests a pickup, through every production department, to final delivery and payment, as one continuously tracked digital record. Three separate applications share one backend:

AppWho uses itHow
Clinic mobile appDentists / clinicsSubmit orders, track status, pay, redeem loyalty points
Staff web dashboardReception, Dispatch, Delivery, Lab, Finance, AdminEverything on the lab side, the subject of this doc
Backend API(invisible)Node/Express + PostgreSQL, ties both apps together in real time via Socket.IO
flowchart LR
    subgraph Clients
        M["๐Ÿ“ฑ Clinic Mobile App"]
        W["๐Ÿ’ป Staff Web Dashboard"]
    end
    subgraph Server
        A["Express API<br/>+ Socket.IO (live updates)"]
    end
    DB[("PostgreSQL<br/>Database")]
    CL["Cloudinary<br/>(photos, invoices)"]

    M <--> A
    W <--> A
    A <--> DB
    A <--> CL
      

Every staff member logs into the same web address; the system shows only the pages relevant to their role.

Ye-Almaz Dental Lab Management System login screen

The staff sign-in screen, shared by every role.


Roles at a glance

RoleWhat they're responsible for
ReceptionFirst point of contact, accepts arrived impressions, creates phone/walk-in orders, keeps the case list
DispatchCoordinates every pickup and delivery driver; the traffic-control center between clinics and the lab
DeliveryDrivers, see only their own assigned pickups/deliveries for the day
Lab TechScans each case's QR code as it moves through their department
FinanceVerifies payments, issues invoices, manages Trusted Partner monthly billing
AdminSees and controls everything: analytics, pricing, staff, clinics, rewards

The case lifecycle, end to end

A case is one physical order (one impression, one QR code, one delivery), this is the spine the whole system is built around.

flowchart TD
    A["Clinic submits order<br/>(mobile app)"] --> B["Status: Pending Pickup"]
    B --> C["Dispatch assigns a pickup driver"]
    C --> D["Delivery exec collects the impression"]
    D --> E["Reception accepts the case<br/>Scan number + QR code generated here"]
    E --> F["Lab: scanned through every production department<br/>(Plaster โ†’ ... โ†’ Quality Check)"]
    F --> G["Status: Ready to Dispatch<br/>(automatic the moment QC is scanned)"]
    G --> H["Finance verifies payment"]
    H --> I["Dispatch assigns a delivery driver"]
    I --> J["Delivery exec delivers to the clinic"]
    J --> K["Status: Delivered"]
      

Two shortcuts skip parts of this path when appropriate:

If a clinic cancels a pickup before it's ever collected, or an order needs to be scrapped entirely before acceptance, Dispatch can mark it cancelled or delete it outright, keeping the reception queue and database clean of orders that never actually happened (any loyalty points already awarded for it are automatically reversed).


Reception

Pages: Dashboard, Cases, New Case


Dispatch

Page: Dispatch Dashboard

The busiest screen in the system, six tabs tracking every case from "needs a driver" to "delivered":

TabWhat's in it
Place OrderNew pickup requests waiting for a driver
Pickup In ProgressDriver assigned, impression not yet at the lab
Ready for DeliveryFinished cases waiting on payment verification
Ready for DispatchFinished cases cleared to go (paid, Trusted Partner, or a free remake)
En RouteOut for delivery
DeliveredCompleted
All CasesFull searchable/filterable history across every status
Dispatch Dashboard
Place Order Pickup In Progress Ready for Delivery Ready for Dispatch En Route Delivered
Sunrise Dental Clinic
Case #4821 ยท Zirconia Crown
Awaiting Payment
Bright Smile Studio
Case #4819 ยท Aligner Tray Set
Ready to Assign
Metro Dental Group
Case #4815 ยท Full Denture
Driver Assigned

Illustrative sample screen, not real clinic data.


Delivery (drivers)

Page: Delivery Dashboard, one per logged-in driver

Reception/Dispatch staff have their own read-only view of everything currently ready for delivery (the Delivery page), separate from each driver's personal working queue.


Lab (production floor)

Page: Lab Dashboard

Lab Dashboard ยท Case #4821
Reception Plaster Margin Scanning Designing Milling / Sintering Metal Finishing Opaque Application Ceramic Layering Zirconia Fitting Glazing Thermo Press Trimming Quality Control

Illustrative sample screen, not real clinic data.


Finance

Pages: Finance Dashboard, Billing, Payments


Admin

Pages under /admin, the control center for the whole lab

Analytics Dashboard
Total Cases
128
This month
Total Units
340
This month
Case Value
โ‚น2.4L
Delivered only
Collection Rate68%

Illustrative sample screen, not real clinic data.


Clinic loyalty / rewards program

Every case a clinic submits earns loyalty points automatically. Clinics can see their balance and redeem it against a reward catalog Admin manages; Admin approves or rejects each redemption request. If an order is cancelled or deleted before it's ever picked up, the points it earned are automatically clawed back, clinics never end up with points for an order that never actually happened.


Notifications & real-time updates

The dashboard doesn't need refreshing, every relevant screen updates itself the moment something changes elsewhere:

Clinics get the same real-time treatment on their mobile app, plus push notifications (e.g. "Case Delivered") even when the app isn't open.


Reports & exports

Most list views across the system (Cases, Clinics, Dispatch tabs, Case Status Board, Payments, invoices) include an Export button producing an Excel or formatted PDF version of exactly what's currently on screen, respecting whatever search/filter/date-range is applied at the time.


Clinic mobile app

The counterpart clinics use, out of scope for the staff dashboard above but part of the same system: