Bofalgan Pharmaceuticals
Offline-first desktop pharmacy management system for managing medicine inventory, billing, purchases, suppliers, users, analytics, reports, and secure pharmacy operations.

The context
Bofalgan Pharmaceuticals was built as a local desktop pharmacy management system for pharmacies that need a complete solution for inventory, sales, purchasing, suppliers, users, reporting, and day-to-day pharmacy operations without relying on an internet connection.
The problem
Pharmacy operations require reliable management of medicines, stock levels, expiry dates, suppliers, purchases, billing, users, and reports. Managing these processes manually or across disconnected tools can make it difficult to maintain accurate records and monitor pharmacy activity.
The approach
The system was designed as an offline-first JavaFX application with a layered architecture separating the UI, business logic, data access, and storage layers. MySQL serves as the primary database while JSON storage provides a secondary local backup, with writes mirrored across both storage layers.
The solution
A complete desktop pharmacy management system featuring medicine inventory, expiry and low-stock alerts, POS billing, barcode lookup, purchase orders, supplier management, role-based authentication, analytics dashboards, reports, PDF invoices, Excel exports, audit logging, settings, and local backup functionality.
Highlights
- Runs locally without requiring an internet connection, with MySQL and JSON storage working together for data reliability.
- Complete cart-based billing with barcode scanning, discounts, payment handling, change calculation, and invoice generation.
- Inventory management with expiry tracking, low-stock alerts, search, pricing, suppliers, and stock monitoring.
- Admin and staff roles with granular permissions, BCrypt password hashing, session timeout, and account lockout protection.Admin and staff roles with granular permissions, BCrypt password hashing, session timeout, and account lockout protection.
- Real-data dashboards covering sales, medicines, inventory, expiry analysis, supplier performance, and multiple report types.
- MySQL acts as the primary database while JSON files provide a secondary local backup and synchronization layer.
The result
- Delivered a complete local pharmacy management solution covering inventory, billing, purchasing, supplier management, authentication, analytics, reporting, auditing, and backup workflows in a single desktop application.