How tmasaiti/pharmassist works
This is a pharmacy and dispensary operations application with inventory, prescribing/dispensing, retail sales, registers, reporting, and organization/user administration. The principal workflow is a staff member using the web client to perform an operational task; the client communicates with the Express API, whose routes invoke domain services and persistent storage. Separate policy engines support permissions, password rules, audit policies, and user settings. The README is empty, and several client pages and server modules were not sampled; those areas are represented at their existing directory or module paths, with only evidenced connections shown.
Main entry points: routes.ts API routes · enterprise-api.ts Enterprise endpoints · users-api.ts User and role endpoints · engine.ts Permission client engine
Components 27
Web application
- Application shell
client/src/App.tsx - API client
client/src/lib/queryClient.ts
API and services
- Express application
server/app.ts - API routes
server/routes.ts - Enterprise endpoints
server/libs/enterprise-api.ts - Organization endpoints
server/libs/org-api.ts - Business setup
server/libs/business-setup-api.ts
Pharmacy operations
- Dispensing workflows
client/src/pages/Dispensary - Inventory management
client/src/pages/Inventory - Patient and prescription UI
client/src/pages - Controlled-drug registers
client/src/pages - Retail dispensing rules
client/src/lib/DFE/retailEngine.ts - Business-model rules
server/libs/business-models - Dispensing rules
server/dfe.ts
Administration and policy
- User and role endpoints
server/libs/users-api.ts - Permission enforcement
server/rpee.ts - Password policy
server/ppee.ts - Audit policy
server/atpe.ts - User settings
server/umse.ts - Permission client engine
client/src/lib/RPEE/engine.ts - Password validator
client/src/lib/PPEE/engine.ts - Audit validator
client/src/lib/ATPE/engine.ts - Settings validator
client/src/lib/UMSE/engine.ts
Persistence and models
- Operational storage
server/storage.ts - Core data schema
shared/schema.ts - Register schema
shared/schema-registers.ts
Other components
- Pharmacy staff
Connections 21
- Pharmacy staff → Application shell: uses
- Application shell → API client: uses
client/src/App.tsx - API client → Express application: sends requests
client/src/lib/queryClient.ts - Express application → API routes: configures routes
server/app.ts - API routes → Operational storage: reads and writes
server/routes.ts - API routes → Enterprise endpoints: registers
server/routes.ts - API routes → Organization endpoints: registers
server/routes.ts - API routes → Business setup: registers
server/routes.ts - API routes → User and role endpoints: registers
server/routes.ts - API routes → Permission enforcement: registers
server/routes.ts - API routes → Password policy: registers
server/routes.ts - API routes → Audit policy: registers
server/routes.ts - API routes → User settings: registers
server/routes.ts - API routes → Dispensing rules: uses
server/routes.ts - Enterprise endpoints → Operational storage: reads and writes
server/libs/enterprise-api.ts - Enterprise endpoints → Business-model rules: uses rules
server/libs/enterprise-api.ts - User and role endpoints → Operational storage: reads and writes
server/libs/users-api.ts - User and role endpoints → Permission enforcement: checks permission
server/libs/users-api.ts - Business setup → Business-model rules: uses rules
server/libs/business-setup-api.ts - Permission client engine → Permission enforcement: requests checks
client/src/lib/RPEE/engine.ts - Permission client engine → Permission client engine: caches results
client/src/lib/RPEE/engine.ts