PharmaHub is an offline-friendly pharmacy management platform designed for Ethiopian pharmacies. It is being built as an open-source, Docker-deployable product with a path for both community self-hosting and a paid managed SaaS offering.
# PharmaHub
PharmaHub is an offline-friendly pharmacy management platform designed for Ethiopian pharmacies. It is being built as an open-source, Docker-deployable product with a path for both community self-hosting and a paid managed SaaS offering.
## Why PharmaHub
The MVP is focused on the problems pharmacies feel every day:
- inaccurate manual inventory tracking
- medicine theft and unexplained stock loss
- expired medicine waste
- slow sales workflows at the counter
- weak owner visibility into daily operations
PharmaHub is designed to solve those problems with a practical desktop web app, a traceable stock ledger, and a deployment model that works for both local self-hosting and commercial hosting.
## What Is In This Repository
This repository currently contains the first technical foundation for the product:
- product definition and MVP workflow
- v1 scope and architecture documents
- initial Prisma data model for the pharmacy domain
- monorepo scaffold for web, API, shared code, and database
- Docker Compose setup for local development and deployment
- initial Prisma migration history for reproducible database setup
- auth foundation API and desktop web flow
## Codebase Overview
```text
apps/
api/ NestJS backend API
web/ Next.js desktop web application
packages/
database/ Prisma schema and database scripts
shared/ Shared constants, enums, and types
infra/
docker/ Dockerfiles for the app services
```
### Current Modules
- `apps/web`
The desktop-first frontend shell for PharmaHub.
- `apps/api`
The NestJS backend that will own authentication, inventory, sales, adjustments, and audit logic.
- `packages/database`
The Prisma schema that models pharmacies, branches, users, medicines, stock batches, sales, adjustments, stock movements, and audit logs.
- `packages/shared`
Shared application constants and domain enums used across services.
## Product Documents
- MVP.md
- PRODUCT_SCOPE.md
- ARCHITECTURE.md
- DATABASE_SCHEMA.md
- …