The Pharmacy Management System (POP) is a software application designed to manage the operations of a pharmacy. It provides functionalities such as managing drug inventory, placing orders, calculating sales, and supporting both terminal and graphical user interface (GUI) modes. The system is built in Java and supports features like guest mode, logging, and prescription validation.
-
Drug Management
- Add, edit, and remove drugs.
- Set maximum capacity for the pharmacy.
- Display all drugs with filtering and sorting options.
-
Order Management
- Place orders for drugs.
- Validate prescription files for prescription drugs.
- Log all orders with details such as drug ID, name, quantity, total cost, and date.
-
Sales Reporting
- Calculate total sales for a specific day.
- Filter sales by drug category.
-
User Modes
- Admin Mode: Full access to all features.
- Guest Mode: Limited access to viewing drugs and placing orders.
-
Graphical User Interface (GUI)
- Intuitive and user-friendly interface for managing the pharmacy.
- Login and guest access options.
- Styled components for better user experience.
-
Logging
- Logs all actions performed in the system.
- View logs through the GUI.
-
Terminal Mode
- Run the
Main.javafile. - Choose "1" for terminal mode.
- Follow the prompts to interact with the system.
- Run the
-
GUI Mode
- Run the
Main.javafile. - Choose "2" for GUI mode.
- Use the graphical interface to manage the pharmacy.
- Run the
Project/
├── Main/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ ├── com/
│ │ │ │ │ ├── mycompany/
│ │ │ │ │ │ ├── main/
│ │ │ │ │ │ │ ├── Main.java
│ │ │ │ │ │ │ ├── GUI.java
│ │ │ │ │ │ │ ├── managementSystem.java
│ │ │ │ │ │ │ ├── placeAnOrder.java
│ │ │ │ │ │ │ ├── FileHandling.java
│ │ │ │ │ │ │ ├── Drug.java
├── README.md
├── Drug.txt
├── Orders.txt
├── log.txt
├── MaxDrugsLimit.txt
- Entry point of the application.
- Allows the user to choose between terminal and GUI modes.
- Provides a graphical user interface for the system.
- Includes login, guest mode, and main menu functionalities.
- Core class for managing the pharmacy.
- Handles drug inventory, orders, and sales reporting.
- Manages the process of placing orders.
- Validates stock availability and prescription files.
- Handles all file operations, including saving and loading drugs, orders, and logs.
- Supports prescription file validation.
- Represents a drug in the system.
- Stores details such as name, ID, price, category, and available quantity.
- Login: Use the credentials
admin/admin. - Main Menu:
- Add, edit, or remove drugs.
- Place orders and validate prescriptions.
- View total sales for a specific day.
- Manage logs and system settings.
- Access: Click "Guest" on the login screen.
- Features:
- View all drugs.
- Place orders (with prescription validation for prescription drugs).
Drug.txt: Stores the list of drugs in the pharmacy.Orders.txt: Logs all orders placed in the system.log.txt: Records all actions performed in the system.MaxDrugsLimit.txt: Stores the maximum capacity of the pharmacy.
- Add support for multiple users with different roles.
- Implement advanced reporting features.
- Enhance the GUI with more interactive components.
- Add support for exporting data to external formats (e.g., CSV, PDF).
- Ahmed Shaban Mohamed (231001388)
- Abdelrahman Mohamed Ramadan (231001161)
- Mohamed Elkassas (231001025)
- Omar Magdy (231000967)
This project is licensed under the MIT License. See the LICENSE file for details.