Pharmacy Management System Using Python with source code

Pharmacy Management System Using Python

Pharmacy Management System Using Python

The Pharmacy Management System is an advanced web application designed to organize the daily workflow of a modern pharmacy. Built with Python and Django, the system brings patient registration, appointments, prescriptions, medicine inventory, suppliers, purchases, dispensing, feedback, notifications, reports, and user access into one connected workspace. The original project requirements identify Administrator, Doctor, Pharmacist, Pharmacy Clerk, and Patient roles; the completed design keeps those roles while expanding the workflow around the real pharmacy domain.

Complete Advance AI Topics: Click Here
Real Time Projects on YouTube:- DecodeIT

Project Overview

AttributeDetails
Project NamePharmacy Management System
FrameworkPython Django
FrontendHTML, CSS, JavaScript
DatabaseSQLite3

User Roles

The system uses role-based access so that every user sees the functions appropriate to their responsibility. The Administrator manages the overall platform, users, catalog, records, reports, and operational settings. Doctors create prescriptions and manage their clinical workflow. Pharmacists control medicine inventory, suppliers, purchases, and dispensing. The Pharmacy Clerk focuses on patient registration and appointment coordination. Patients can view their own records, prescriptions, appointments, and submit service feedback.

Core Project Modules

Patient Management

Patient records contain identification, contact information, date of birth, gender, blood group, allergies, emergency contact, and account status. Search tools make it easier to locate records by name, patient code, or phone number. The patient profile brings related prescriptions and appointments into a single view.

Medicine Inventory

The inventory module maintains medicine names, generic names, categories, suppliers, batch numbers, expiry dates, dosage forms, strengths, prices, current quantities, storage information, and reorder levels. Stock status is automatically represented as In Stock, Low Stock, or Out of Stock. Search and stock filters help pharmacy staff identify items that need attention.

Prescription Management

Doctors can create prescriptions for registered patients and add medicines with dosage, frequency, duration, quantity, and instructions. Prescription status moves through a practical workflow instead of remaining an isolated record. Pharmacists can open an active prescription, verify available quantities, dispense the prescribed medicines, and update stock automatically.

Dispensing Workflow

Dispensing connects the clinical and inventory sides of the system. Before dispensing, the application checks whether the required medicine quantity is available. When the transaction is completed, stock is reduced and a dispensing record stores the responsible pharmacist, timestamp, total value, payment status, and remarks. This gives the project a connected end-to-end workflow rather than separate CRUD pages.

Supplier and Purchase Management

Suppliers can be maintained with contact information, address, status, and responsible contact person. Purchase records capture supplier invoices, purchase dates, status, totals, and notes. These modules establish the foundation for managing incoming stock and maintaining a traceable supply process.

Appointments and Admissions

The appointment module connects patients with doctors using date, time, reason, notes, and status. The Pharmacy Clerk can coordinate visits while doctors can view appointments relevant to them. The structure can also support patient admission workflows without turning the application into an unrelated hospital management system.

Feedback and Notifications

Patients can report dispensing or service concerns through the feedback module. Pharmacy users receive notifications for important feedback events. This provides a simple service-quality workflow and gives the application a communication layer that is directly relevant to pharmacy operations.

Professional Dashboard UI

The interface is designed specifically around a pharmacy operations identity rather than a generic framework admin page. It uses a dark clinical-teal sidebar, a clean light workspace, compact status badges, responsive tables, modern forms, KPI cards, a global search field, notification access, user profile information, quick actions, and domain-focused charts. The dashboard highlights patient count, medicine count, prescription count, low-stock items, appointments, and recent activity. The layout adapts for desktop, tablet, and mobile screens.

Reports and Analytics

The reporting area provides operational indicators for patients, prescriptions, dispensing records, inventory categories, and dispensed value. Charts are tied to project data rather than decorative values. Category breakdowns help users understand the medicine catalog, while dashboard indicators make important stock and workflow conditions visible at a glance.

How to Download

The complete package is available so you can run, study, and submit it with confidence. It includes:

  • Full Source Code
  • Project Report
  • Synopsis
  • PPT Presentation

Screenshot

Database Design

The SQLite database is organized around related entities such as users, profiles, patients, medicine categories, medicines, suppliers, prescriptions, prescription items, dispensing records, purchases, purchase items, appointments, feedback, notifications, and audit logs. Foreign-key relationships connect these entities so that a prescription belongs to a patient and doctor, prescription items reference medicines, and dispensing references the prescription and pharmacist. Created timestamps and status fields support traceability throughout the workflow.

Security and Access Control

Django authentication is used for sign-in and protected application pages. Role checks restrict sensitive actions such as prescription creation, medicine changes, dispensing, patient registration, and supplier management. Passwords are handled by Django’s authentication system rather than being stored directly in application code. Form validation, protected routes, database relationships, and server-side checks provide a realistic security foundation. Demo credentials are included only for local project evaluation and should be changed before any real deployment.

Installation and Setup

Open the project folder in Visual Studio Code and create a virtual environment with python -m venv env. Activate it using env\Scripts\activate on Windows or source env/bin/activate on macOS/Linux. Install dependencies with pip install -r requirements.txt. Then create the application tables using python manage.py makemigrations core followed by python manage.py migrate. Run python manage.py seed_demo to add demonstration accounts and sample pharmacy records. Finally start the application with python manage.py runserver and open the local Django address shown in the terminal.

Usage

After login, the dashboard changes according to the user’s role. An administrator can supervise the entire operation. A doctor can create prescriptions and review relevant appointments. A pharmacist can manage medicines, suppliers, purchases, and dispensing. A Pharmacy Clerk can register patients and schedule visits. A patient can review personal pharmacy information and send feedback. The connected workflow allows information entered in one module to become useful in another module.

Frequently Asked Questions

What is the purpose of this project?

It provides a centralized Django-based system for organizing pharmacy records, prescriptions, stock, dispensing, appointments, and related operational activities.

Which user roles are included?

The project includes Administrator, Doctor, Pharmacist, Pharmacy Clerk, and Patient roles with different access responsibilities.

Which database is used?

SQLite3 is used as the default database, making the project convenient for local college-project development and demonstration.

Can pharmacists update medicine stock?

Yes. Authorized pharmacy users can manage medicine quantities and the dispensing workflow automatically reduces stock when a prescription is dispensed.

Does the project include reports?

Yes. The application contains a reports and analytics area with project-related counts, category information, and dispensing value indicators.

Is the UI responsive?

Yes. The custom interface includes responsive layouts for dashboards, cards, forms, tables, navigation, and smaller screens.

Future Scope

  • Add barcode-based medicine scanning for faster inventory operations.
  • Add printable prescription and dispensing documents.
  • Introduce stronger configurable permission management for larger organizations.
  • Add scheduled expiry notifications and automated reorder reminders.
  • Provide richer date-range and exportable operational reports.
  • Support deployment with PostgreSQL and production-grade infrastructure.

Conclusion

The Pharmacy Management System is structured as a complete domain-focused software project rather than a simple login and CRUD demonstration. Its main strength is the connection between patients, doctors, prescriptions, pharmacists, inventory, purchases, dispensing, feedback, and reporting. For BCA, MCA, and Computer Science students, it provides practical exposure to Django models, authentication, role-based access, database relationships, responsive frontend design, validation, workflow logic, and real-world application structure.Pharmacy Management System Pharmacy Management System pharmacy management system project pharmacy management system project with source code pharmacy management system project in python pharmacy management system github pharmacy management system er diagram pharmacy management system project github pharmacy management system ui design pharmacy management system images pharmacy management system use case diagram

Leave a Reply

Your email address will not be published. Required fields are marked *