How pleastandby/pharmacy works
Pharmacy Management System is a Java Swing desktop application for role-based pharmacy operations backed by MariaDB. The principal workflow is sign-in, role-specific navigation, then inventory/customer lookup and checkout; sales update stock and can later be reviewed or cancelled. Separate capabilities include stock/expiry alerts, administrator summaries, and user administration. The graph follows documented capabilities and indexed source references; unsampled modules are represented at their exact tree paths, but their internal behavior and some links are not inferred.
Main entry points: gui Role dashboards · MedicineService.java Inventory service · dao Data access · SaleFrame.java Checkout and history
Components 19
Desktop entry
- Application start
src/main/java/com/pharmacy/Main.java - Sign-in
src/main/java/com/pharmacy/gui/LoginFrame.java - Role dashboards
src/main/java/com/pharmacy/gui
Pharmacy operations
- Inventory screens
src/main/java/com/pharmacy/gui/MedicineFrame.java - Customer records
src/main/java/com/pharmacy/gui/CustomerFrame.java - Checkout and history
src/main/java/com/pharmacy/gui/SaleFrame.java - User administration
src/main/java/com/pharmacy/gui/UserManagementFrame.java - Summary reports
src/main/java/com/pharmacy/gui/DashboardFrame.java
Domain services
- Inventory service
src/main/java/com/pharmacy/service/MedicineService.java - Customer service
src/main/java/com/pharmacy/service/CustomerService.java - Sales service
src/main/java/com/pharmacy/service/SaleService.java - User service
src/main/java/com/pharmacy/service/UserService.java - Password hashing
src/main/java/com/pharmacy/service/PasswordUtil.java - Domain records
src/main/java/com/pharmacy/models
Persistence
- Data access
src/main/java/com/pharmacy/dao - DB connection
src/main/java/com/pharmacy/database/DatabaseConnection.java - Pharmacy schema
database/schema.sql
Other components
- Pharmacy user
- MariaDB
Connections 27
- Pharmacy user → Application start: starts
README.md - Application start → Sign-in: opens
src/main/java/com/pharmacy/Main.java - Pharmacy user → Sign-in: signs in
README.md - Sign-in → User service: authenticates
src/main/java/com/pharmacy/gui/LoginFrame.java - User service → Password hashing: verifies hashes
src/main/java/com/pharmacy/service/UserService.java - Sign-in → Role dashboards: routes by role
src/main/java/com/pharmacy/gui/LoginFrame.java - Role dashboards → Inventory screens: opens
src/main/java/com/pharmacy/gui/DashboardFrame.java - Role dashboards → Customer records: opens
src/main/java/com/pharmacy/gui/DashboardFrame.java - Role dashboards → Checkout and history: opens
src/main/java/com/pharmacy/gui/DashboardFrame.java - Role dashboards → User administration: opens
src/main/java/com/pharmacy/gui/AdminDashboardFrame.java - Role dashboards → Summary reports: builds summary
src/main/java/com/pharmacy/gui/DashboardFrame.java - Inventory screens → Inventory service: requests inventory
src/main/java/com/pharmacy/gui/MedicineFrame.java - Customer records → Customer service: manages records
src/main/java/com/pharmacy/gui/CustomerFrame.java - Checkout and history → Customer service: loads customers
src/main/java/com/pharmacy/gui/SaleFrame.java - Checkout and history → Inventory service: loads medicines
src/main/java/com/pharmacy/gui/SaleFrame.java - Checkout and history → Sales service: creates and reviews
src/main/java/com/pharmacy/gui/SaleFrame.java - User administration → User service: manages users
src/main/java/com/pharmacy/gui/UserManagementFrame.java - Summary reports → Inventory service: reads stock alerts
src/main/java/com/pharmacy/gui/DashboardFrame.java - Summary reports → Sales service: reads revenue
src/main/java/com/pharmacy/gui/DashboardFrame.java - Inventory service → Data access: queries inventory
src/main/java/com/pharmacy/service/MedicineService.java - Customer service → Data access: queries customers
src/main/java/com/pharmacy/service/CustomerService.java - Sales service → Data access: records sales and stock
src/main/java/com/pharmacy/service/SaleService.java - User service → Data access: persists accounts
src/main/java/com/pharmacy/service/UserService.java - Data access → DB connection: opens connections
src/main/java/com/pharmacy/dao/MedicineDAO.java - DB connection → MariaDB: connects
src/main/java/com/pharmacy/database/DatabaseConnection.java - Pharmacy schema → MariaDB: defines tables
README.md - Sales service → Inventory service: updates stock