All projects

Mobile, desktop & console

Pharmacy Manager · Java Swing

A Java Swing desktop application that helps a pharmacy avoid stockouts, track expiry dates and automate billing.

  • Individual project
roles: pharmacist and administrator
2
automatic alerts: low stock, expiry
2
kinds of UML diagrams
3

01Starting point

Context & mission

The problem

In a pharmacy, a stockout or an expired medication is often only discovered at the counter.

The mission

Give the pharmacist a clear view of stock, automatic alerts and fast billing, with permissions separated by role.

My role

Designed and built on my own.

02Execution

What I did

  1. Role-based login

    Pharmacist and administrator get different screens and permissions.

  2. Medications

    Add, edit, delete, search and filter by stock, price or expiry date.

  3. Alerts

    Automatic alerts for low stock and expired products.

  4. Billing

    Invoices generated, printed and searched by date or amount, with full sales history.

  5. Administration

    Create, edit and delete accounts, assign roles, follow user activity.

03Design

Architecture

A Swing application organised by role (login, administrator, pharmacist), connected to MySQL through JDBC and modelled in UML: use case, class and sequence diagrams.

Architecture
  1. LoginRole
  2. Swing interfacesPharmacist · admin
  3. JDBC
  4. MySQL

04Impact

Results

  • Stockouts and expiries flagged before they reach the counter.
  • Searchable billing and sales history.

05Wrap-up

Takeaways

What this project proves

That I can design a complete business application outside the web, from UML to database.

06Technology

Full stack

  • Java
  • Swing
  • JDBC
  • MySQL
  • Maven
  • UML