Skip to main content
Faraz Pharmacy
Custom SoftwareProduction

Faraz Pharmacy

Modern pharmacy management with inventory and POS

A full-featured pharmacy management system handling inventory tracking, billing, customer management, and supplier operations. Designed for independent pharmacies that need enterprise-grade tools without enterprise pricing.

Project Overview

What it is

A pharmacy management platform that centralizes inventory control, sales tracking, customer relationships, and supplier management into a single interface.

Who it serves

Independent pharmacies and small pharmacy chains that need to manage inventory, billing, and customer data without expensive enterprise software.

Business value

Centralizes inventory management across locations, prevents stockouts of critical medications, and reduces losses from expired stock.

Primary users

Pharmacists, pharmacy technicians, cashiers, and inventory managers.

Quick Facts

Category

Custom Software

Role

Software Developer

Timeline

2 months

Status

Production

Team

Solo

Platform

Web

Industry

Healthcare / Retail

Frontend

Next.js

Business Problem

Pharmacies juggle fragmented inventory management, leading to stockouts of critical medications, expired stock waste, and inefficient point-of-sale operations. Staff often duplicate data entry across separate systems for inventory, billing, and customer management.

Key Features

Inventory with Batch Tracking

Track medicines by batch number and expiry date. Receive automated alerts for approaching expiry. FIFO picking algorithm automatically selects the batch closest to expiry at sale time.

Integrated Point of Sale

Barcode-based billing with instant product lookup. Auto-calculates totals, taxes, and discounts. Prints formatted receipts with medicine details and dosage instructions.

Sales Analytics

Daily, weekly, and monthly sales reports with filters by product, category, and cashier. Identify top-selling medicines, slow-moving stock, and peak hours.

Supplier Management

Digital purchase orders with automatic stock receipt. Track supplier performance, payment terms, and order history. Reorder suggestions based on sales velocity.

Technology Stack

Frontend

Next.jsTypeScriptTailwind CSSTanStack Query

Backend

FastAPIPythonSQLModelNode.js

Database

PostgreSQL

Infrastructure

DockerVercel

Tools & Services

GitGitHub
Architecture Preview

A Next.js frontend communicates with a FastAPI Python backend through REST endpoints. PostgreSQL stores all transactional data with Prisma-like type safety through SQLModel. The architecture is designed for future offline capability with a sync engine for multi-location deployments.

Challenges Solved
1

Medicine names and barcodes are not standardized in local markets, causing lookup failures.

Implemented flexible barcode matching that normalizes input codes and supports multiple barcode formats per product. Pharmacies can print custom barcode labels.

2

Pharmacy staff need sub-second search across thousands of SKUs during busy hours.

PostgreSQL full-text search indexes on product names and categories reduced lookup time from 2 seconds to under 50ms.

Results
Centralized inventory management with real-time stock visibility
Expiry date tracking reducing medication waste
Supplier and purchase order management streamlining restocking
Role-based access for pharmacists, cashiers, and managers
Lessons Learned
1Pharmacists have very specific workflow expectations. The billing screen layout and keyboard shortcuts must match their muscle memory from years of using legacy systems.
2Search performance is the most critical UX factor in pharmacy software. Sub-100ms search is table stakes for adoption.
3Multi-tenant architecture from day one would have simplified adding new pharmacy locations.
Related Projects

Interested in building something similar?

I am always open to discussing new projects, technical challenges, and engineering opportunities.