លំហសិក្សាធិការកម្ពុជា
V1.0
The Pharmacy Management System (PMS) is a desktop-based software application developed to automate the daily operations of a retail pharmacy, including medicine inventory management, sales processing, and expiry-date monitoring. Traditional, manual approaches to pharmacy management, which rely on paper registers and spreadsheets, are prone to significant limitations such as inaccurate stock records, delayed detection of expired medicines, inconsistent billing, and the absence of centralized, searchable records. These shortcomings can lead to financial losses, stock-outs of essential medicines, and, in more serious cases, the dispensing of expired or near-expired products. This project addresses these issues by designing and implementing a computerized system built using Python 3.11+, the PyQt6 graphical user interface framework, and the SQLite3 relational database engine. The system follows a three-tier architecture that separates the presentation layer, business logic layer, and database layer, allowing for a maintainable and extensible codebase. The core functionalities implemented include medicine registration and categorization, supplier and customer record management, real-time inventory tracking with automatic stock deduction upon sale, expiry-date monitoring with visual alerts, low-stock notifications based on configurable reorder levels, and a point- of-sale (POS) module that calculates itemized bills and generates transaction receipts. All data is persisted in a normalized SQLite3 database that enforces referential integrity through primary key and foreign key constraints, as well as data validation rules such as NOT NULL, UNIQUE, and CHECK constraints. The system was evaluated through a structured testing process covering database initialization, CRUD operations, sales transactions, stock deduction accuracy, expiry detection, low-stock alerts, and input validation. Test results confirm that the system performs its intended functions reliably and produces accurate calculations. The developed Pharmacy Management System demonstrates how a combination of an event-driven GUI framework and a lightweight relational database can be used to build a practical, functional application that reduces manual effort, improves data accuracy, and supports better decision- making in a small to medium-sized pharmacy setting.