Case study · Desktop Application / Software Engineering Project

Pharmacy Management System

Desktop inventory prototype

An academic desktop application for registering medications, updating inventory, reviewing stock by laboratory, and generating operational reports.

ACADEMIC PROJECTWindows Desktop
Pharmacy Management System desktop interface with medication and inventory controls.
Role
Developer
Platform
Windows Desktop
Team
4 Developers on the Team

Technologies

PythonTkinterMVCScrumSoftware Testing

01

Overview

The Pharmacy Management System is a collaborative software engineering prototype designed around the daily inventory needs of a pharmacy. The team translated a business scenario into functional and non-functional requirements, an interface design, an application architecture, and a working Python desktop prototype.

02

Problem & goal

Create a clear system for recording medications supplied to patients, prescribed by doctors, or purchased from providers while helping pharmacy staff monitor quantities and prepare recurring inventory reports.

03

Solution

The team designed a Tkinter desktop interface with workflows for registering medicines, adjusting quantities, filtering inventory by laboratory, and generating daily, monthly, and annual summaries. The project also documented an iterative Scrum process, an MVC architecture, and a structured testing and quality-assurance strategy.

04

Key features

  • Medicine registration with manufacturer, quantity, price, category, and date
  • Inventory table with essential medicine details
  • Quantity updates with safeguards against negative stock
  • Inventory filtering by laboratory
  • Daily, monthly, and annual report generation
  • Status messages and input validation

05

Enrique's contribution

  • Requirements analysis and system planning
  • Desktop interface design
  • Python and Tkinter prototype development
  • MVC architecture planning
  • Scrum workflow documentation
  • Functional, integration, system, and acceptance test design

06

Technical considerations

  • Organizing inventory data so registration, updates, filters, and reports remain consistent
  • Validating quantities, prices, and dates before records enter the inventory
  • Separating data, interface, and business logic through an MVC-oriented design
  • Planning secure authentication, backups, and protected storage for a production system

07

What was learned

The project strengthened the team's experience turning business requirements into a testable desktop prototype, organizing work through Scrum, and connecting interface decisions with architecture, validation, and software quality planning.