Pharmacy management platform

PHMP

A professional pharmacy management platform: point of sale, inventory, prescriptions and reports, plus a customer side to order medicines from a nearby pharmacy with delivery.

PHMP Visit the live site

About this project

PHMP is a two-sided pharmacy management platform. The public side speaks to the customer: pick a pharmacy in your area, browse medicines and order them with home delivery — no complicated forms. The admin side speaks to the owner and pharmacists: a fast barcode point of sale, inventory tracking, prescription records, sales and operations dashboards, multi-pharmacy management with a fine-grained permissions matrix, audit logs for every sensitive action, and official Moroccan legal references for the pharmaceutical sector built into the platform, with links to the original texts.

Added value

PHMP digitizes the pharmacy from the counter to the report:

A two-sided platform in one system

The customer orders medicine from their pharmacy in a few taps with delivery, and the pharmacist receives the order on the same system and prepares it — a complete paperless cycle.

Barcodes instead of handwriting

Barcode scanning cuts entry errors and speeds up the point of sale — the accuracy you cannot do without when handling medicines.

Real Moroccan compliance

The legal references and regulations governing Morocco's pharmaceutical sector are built into the platform with links to the original texts — no guesswork outside the law.

Decisions driven by numbers

Chart dashboards summarize sales, operations and inventory, so the pharmacy knows what sells and what runs low before it runs out.

The effort behind the build

I built the platform on two faces: the simple customer side — choosing a pharmacy, ordering, delivery — and the deep admin side: point of sale, inventory, prescriptions, reports, multiple pharmacies, a permissions matrix and audit logs. The hardest part was not the screens but understanding how a real pharmacy works: how a sale is recorded, when stock is deducted, and how rights and regulations are preserved — together with a medicines database and the official legal references.

Sides served
customer + owner + pharmacists
Admin modules
POS, inventory, prescriptions, reports
Reference
Moroccan pharmaceutical regulations

Technologies used

Used to build

  • React (interactive UI)
  • Vite (fast build tool)
  • Chart dashboards
  • Medicines database
  • Barcode scanning
  • Backend services (Cloudflare Workers)
  • Signed login sessions
  • Cloudflare Pages

Used to run & keep live

  • React + Vite — a fast UI that builds and updates quickly
  • Backend services on Cloudflare Workers
  • Signed sessions and server-checked permissions
  • Audit logs for sensitive operations
  • Cloudflare Pages for hosting

Tools & skills — explained simply

Every tool, library and skill I used in this project, explained in plain language: what it is and what it specifically added — no cryptic symbols.

React

A Meta library for building interactive interfaces: it splits the screen into small reusable components — a button, a card, a table — so a large system like a pharmacy platform stays organized and maintainable, like tidy rooms in one house.

Vite

The modern build tool that bundles the project and refreshes the preview in fractions of a second instead of minutes of waiting — like a fully equipped kitchen that prepares the order the moment it arrives; that is why it became the practical standard for React projects.

Chart dashboards

Charting libraries turn numbers into visual plots — bars, lines and circles — so the pharmacist reads sales and stock movement at a glance instead of scanning long tables.

Medicines database

An organized catalogue of medicines with their names, forms and classifications: a trusted memory for the platform — fast search, accurate information, and one central update reaching every screen at once.

Barcode scanning

Reading the black bars printed on every medicine box: one scan records the sale and deducts the stock automatically — no manual typing, no number errors.

Signed sessions (JWT)

A signed digital pass issued after the account is verified and checked with every request — only those with the right reach the pharmacy's data, like a staff badge that cannot be copied.

Cloudflare Workers (backend services)

Small services running on Cloudflare's global network close to the user: they receive login and data requests and process them without a traditional server — high speed and availability at near-zero cost.

Arabic RTL interface and Cairo font

The platform is natively Arabic, right-to-left, with the clear Cairo typeface — not a bolted-on translation but an Arabic design from the ground up, visible in every button and every table.

Key features

  • Customer side to pick a pharmacy and order medicines with delivery
  • Fast point of sale with barcode scanning
  • Inventory tracking and prescription records
  • Sales and operations dashboards with charts
  • Multi-pharmacy management, permissions and audit logs
  • Moroccan pharmaceutical legal references inside the platform

Estimated cost

Building a similar project

Self-built path (what I actually did)0 MAD — built on a free stack (hosting and backend services) with AI-assisted development.
Via a freelancer/agency in Morocco (estimate)Approximately 60,000 – 180,000 MAD for a pharmacy management system of this depth: POS, inventory, prescriptions, reports and legal compliance.

Running & maintenance

Current setup0 MAD per month on the free tier.
When scaling up (estimate)A dedicated server and database as usage spreads across multiple pharmacies: an estimated 200 – 700 MAD per month.

Indicative estimates in Moroccan dirham (MAD); actual costs vary with scope, exact requirements and the services market. My current projects are built and running entirely on free tiers.

What I learned from it

This project taught me that software in healthcare carries double responsibility: a mistake in a medicine's price or interaction is not like a mistake in an ordinary shop. I learned to build a platform serving two very different sides — a customer who wants effortless ordering and a pharmacist who needs speed and accuracy — and to balance both in one system, and that compliance with official Moroccan regulations is not a constraint but the very foundation of trust in any platform that touches people's health.