A robust NestJS backend system for managing pharmaceutical compensation calculations and inventory management for central pharmacies in Tunisia.
# Pharmaceutical Compensation Management System - Backend
A comprehensive backend system for automating pharmaceutical compensation calculations and inventory management for Tunisia's central pharmacy system.
## đź“‹ Table of Contents
- Overview
- Features
- Technology Stack
- Installation
- Database Schema
- API Documentation
- Compensation Algorithm
- Development Progress
- Contributing
- License
## 🏥 Overview
This backend system revolutionizes how Tunisia's central pharmacy manages pharmaceutical compensations by replacing error-prone manual processes with an automated, accurate, and secure digital solution. The application handles complex compensation calculations, inventory management, and regulatory reporting requirements.
## ✨ Features
- **Automated Compensation Engine**: Sophisticated algorithm for precise pharmaceutical reimbursement calculations
- **Inventory Management**: Complete stock control with batch and expiration tracking
- **Multi-User System**: Role-based access control (Admin, Pharmacist, Auditor)
- **Real-time Reporting**: Generate compliance reports for government submissions
- **Audit Trail**: Comprehensive activity logging for full traceability
- **RESTful API**: Well-documented endpoints for seamless frontend integration
- **Data Validation**: Robust input validation and error handling
## 🛠️ Technology Stack
- **Framework**: NestJS 10+ with TypeScript
- **Database**: MySQL with TypeORM
- **Authentication**: JWT with passport.js
- **Validation**: Class-validator & class-transformer
- **API Documentation**: Swagger/OpenAPI
- **Testing**: Jest for unit and integration tests
## 📦 Installation
### Prerequisites
- Node.js 18+
- MySQL 8.0+
- npm or yarn
### Setup Instructions
1. **Clone the repository**
```bash
git clone
github.com
cd pharmaceutical-compensation-backend
```
2. **Install dependencies**
```bash
npm install
```
3. **Environment configuration**
```bash
cp …