Saviour Medicine
Vocational project — modern web application for pharmacy billing, inventory, and administration.
Problem
Small and mid-sized medical shops often rely on manual registers or basic spreadsheets for billing, stock, and expiry tracking. This makes it hard to know what is in stock, which medicines are about to expire, and how much is owed to staff — and it offers no self-service way for customers to check availability.
Solution
Saviour Medicine is a full-stack web application that reimagines the original VB.Net pharmacy inventory system as a modern multi-role product. It provides:
- Kiosk (guest) — Customers can search medicines by name, category, or quantity and immediately see price and availability.
- Employee — Staff can create PoS bills, register new customers, update their own details, and see outstanding wages.
- Administrator — Admins can onboard employees, manage records, monitor outstanding wages, and identify and remove expired stock.
Why it matters
For a single medical shop, stock-outs, expiry write-offs, and manual wage tracking can quietly erode margins. By making inventory, billing, and administration part of one application — and by giving customers a kiosk view — Saviour Medicine reduces friction at the counter and gives owners a clearer picture of stock, revenue, and staff obligations.
Tech choices
- Next.js 16 (App Router) + React + TypeScript — Modern full-stack framework with type-safe UI and routing.
- Tailwind CSS — Utility-first styling for a clean kiosk and admin interface.
- NextAuth.js — Credentials-based authentication with role-aware routing for guest, employee, and admin flows.
- SQLite or PostgreSQL — Local SQLite for simple deployment; PostgreSQL (e.g. Supabase) for cloud deployments.