Skip to content

Latest commit

 

History

History
111 lines (77 loc) · 6.17 KB

README.md

File metadata and controls

111 lines (77 loc) · 6.17 KB

Disha-Pharm

Pharmacy System using Java Swing

Table of Contents

Project Description

This is a comprehensive system meant for a pharmacy that can handle multi-layer access levels, contains an invoice system, a data analysis section and more. JavaDoc is used to document method functionalities and descriptions for classes, interfaces and global variables. The GUI is designed mainly using javax.swing. In fact, this particular project has helped me become highly proficient in using javax.swing

First off, we have the Admin which is the owner of the place or the person with the absolute highest authority. An admin can control everything from finances to personnel and can even sell items throught the pharmacist mode.

Next, we have the Pharmacist. A pharmacist can sell items with varying levels of restriction (over the counter, prescribed or scheduled) medicines with higher levels of restriction require additional procedures for the purchase to be completed. A pharmacist with inventory access can also add to the inventory.

Features

Summary of Features in Admin Mode:

  1. Viewing and managing inventory (add/delete/restock products)
  2. A settings menu where the admin can modify multiple variables in the system like the preferred currency, taxes, base delivery fees, login credentials, and more.
  3. Manage all personnel like deliverers, pharmacists and managers with their different configuring settings (vehicle type for deliverers, inventory access for pharmacists, etc.)
  4. Sell products (through pharmacist mode)
  5. Keep notes
  6. See all performed transactions with immense detail (date, time, vendor, number of items, items involved, type of transaction)
  7. View net monthly balance
  8. View data analytics on the past three months (A graph chart for numerical data and a page for non-numerical data) (Planned but still not implemented)
  9. View and manage customer profiles (Planned but still not implemented)

Summary of Features in Pharmacist Mode:

  1. Viewing inventory
  2. Sell products
  3. Manage inventory (add/delete/restock products) (If admin gives them inventory access)
  4. View and manage customer profiles (Planned but still not implemented)

Miscellaneous Features:

  1. Every purchase generates a paper invoice containing all relevant details. The invoice is a printable bill.
  2. Toast message with warnings or recommendations appears from the 'i' icon in the bottom left.
  3. Highly customizable settings (currency, base delivery fees, etc.)
  4. Notifications panel with warnings or recommendations from the system (incomplete)
  5. Carefully designed user-friendly GUI for a simple but powerful experience

Deployment

To run the program, run the system\general\Main.java class

Tools, Libraries & Implementations

  1. IntelliJ IDEA & Netbeans (IDEs)
  2. Java Swing (most of the GUI)
  3. JavaDoc
  4. Graphic libraries like java.awt, javax.imagio, and more.
  5. Implemented using Model View Controller in addition to multiple design patterns
  6. Mostly maintained S.O.L.I.D principles

Sample Run

The following are some of the windows you may see when using the system:

Screenshot (65)

Initial loading screen

Screenshot (66)

Screenshot (68)

Screenshot (69)

Admin Home

Screenshot (70)

Screenshot (71)

By clicking on an operation from the list in the financial tab

Screenshot (72)

Screenshot (73)

Screenshot (74)

Screenshot (75)

Screenshot (79)

Screenshot (80)

Screenshot (96)

Screenshot (97)

Screenshot (98)

Screenshot (99)

Screenshot (100)

Screenshot 2021-11-11 172314

Screenshot (102)

Screenshot (103)

Screenshot 2021-11-13 135249