DBMS Final Report Lucky
DBMS Final Report Lucky
DBMS Final Report Lucky
BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE AND ENGINEERING
SUBMITTED BY
Koushik Sagar S (1JB21CS072)
Lakshmanan B (1JB21CS076)
CERTIFICATE
Certified that the Mini Project Work entitled “Pharmacy Supply Management System” carried outby
Mr. Koushik Sagar S & Lakshmanan B bearing USN 1JB21CS072 & 1JB21CS076 are bonafide
students of SJB Institute of Technology in partial fulfilment for 5th semester of BACHELOR OF
ENGINEERING in Computer Science and Engineering of the Visvesvaraya Technological
University, Belagavi during the academic year 2023-24. It is certified that all corrections/ suggestions
indicated for Internal Assessment have been incorporated in the Report deposited in the Departmental
library. The project report has been approved as it satisfies the academic requirements in respect of
Project work phase-1 prescribed for the said Degree.
2. External Examiner:_________________________
I
ACKNOWLEDGEMENT
With immense gratitude and heartfelt appreciation, I extend my sincere thanks to the esteemed
institution, SJB INSTITUTE OF TECHNOLOGY, for nurturing and shaping me into a skilled
software engineer.
Special recognition goes to Dr. KRISHNA A. N, the Head of the Department of Computer Science
and Engineering at SJBIT, whose unwavering support and encouragement have been instrumental in
our success.
I extend my thanks to all the faculty members in the Computer Science department and beyond, whose
contributions, whether direct or indirect, have played a significant role in the accomplishment of my
project.
Last but not least, I am deeply indebted to my parents and friends for their unwavering support,
guidance, and encouragement throughout this journey. Their belief in me has been my greatest source
of strength.
Regards,
KOUSHIK SAGAR S [ 1JB21CS072 ]
LAKSHMANAN B [1JB21CS076 ]
II
ABSTRACT
With the rapid growth of urbanization and the increasing number of vehicles on the roads,
efficient management of vehicle parking has become a critical challenge in many cities.
Inefficient parking systems result in various problems, including congestion, environmental
pollution, and frustrated drivers. The Vehicle Parking Management System (VPMS) aims to
address these issues by streamlining the parking process, enhancing user experience, and
optimizing parking space utilization.
The system employs real-time monitoring to track the entry and exit of vehicles. When a
vehicle enters the parking lot, the system identifies its number plate using embedded cameras.
It then tracks which parking space the vehicle occupies. This information ensures efficient
space allocation and helps manage parking capacity effectively.
The VPMS serves as a foundation for future enhancements. Integration with mobile apps,
payment gateways, and smart city infrastructure can further enhance user convenience.
Additionally, data analytics can provide insights into peak parking hours, helping city
planners optimize parking infrastructure and alleviate traffic bottlenecks.
In summary, the VPMS leverages advanced technologies such as sensor networks, data
analytics, and real-time monitoring to optimize parking processes and enhance overall user
satisfaction. Implementing this system can lead to better traffic management, reduced
environmental impact, and a more sustainable urban environment.
III
TABLE OF CONTENTS
Certificate I
Acknowledgement II
Abstract III
Table of contents IV
List of Tables and Figures V
1 INTRODUCTION TO DBMS 1 – 10
1.1 Brief overview on DBMS
1.2 Applications of DBMS
1.3 Motivation to develop a vehicle parking
management system
1.4 Problem statement
1.5 Objective of the project
1.6 Outline of report
2 LITERATURE SURVEY 11 – 19
2.1 Historical overview of parking system
Case study and proposed system
3 SYSTEM REQUIREMENTS 20 – 21
3.1 Software requirements
3.2 Hardware requirements
5 IMPLEMENTATION 31 – 41
5.1 Back-end development
5.2 Front-end development
5.3 Deploying the pharmacy management
web application
6 RESULTS 42 – 43
7 SNAPSHOTS 44 – 51
8 CONCLUSION 52
AND FUTURE
9ENHANCEMENTS
REFERENCES 53
IV
LIST OF FIGURES
V
CHAPTER 1
At its core, a DBMS is a software application that enables users to interact with databases in a structured
and organized manner. It provides a centralized platform for storing data in a structured format, typically
using tables, rows, and columns. One of the key advantages of using a DBMS is its ability to enforce
data integrity through constraints and validations, thereby reducing the risk of data inconsistencies and
errors. Additionally, DBMS offers mechanisms for data security, ensuring that only authorized users
have access to sensitive information.
The evolution of DBMS can be traced back to the 1960s when the need for efficient data management
became apparent with the proliferation of digital data. Early DBMS solutions focused primarily on
hierarchical and network models, which were complex and rigid in nature. However, with the advent
of relational database management systems (RDBMS) in the 1970s, led by the pioneering work of
Edgar F. Codd, data management took a significant leap forward. The relational model, based on the
principles of set theory and relational algebra, introduced a more flexible and intuitive way of
organizing data, paving the way for widespread adoption of database technology.
Today, DBMS has evolved beyond traditional relational databases to encompass a wide range of models
and technologies, including NoSQL databases, object-oriented databases, and graph databases, each
tailored to specific use cases and requirements. NoSQL databases, for example, offer scalability and
flexibility for handling unstructured and semi-structured data, making them well-suited for modern web
applications and big data analytics. Object-oriented databases, on the other hand, provide a natural
representation of complex data structures, ideal for applications in domains such as engineering and
scientific research.
The functionalities provided by a DBMS can be broadly categorized into four main areas: data
definition, data manipulation, data storage and retrieval, and data administration. Data definition
involves creating and managing the structure of the database, including defining tables, specifying data
types, and enforcing integrity constraints. Data manipulation allows users to insert, update, delete, and
query data stored in the database, using SQL (Structured Query Language) or other query languages
supported by the DBMS. Data storage and retrieval involve the physical organization of data on storage
Vehicle Parking Management System
devices, as well as the mechanisms for efficiently accessing and retrieving data based on user queries.
Finally, data administration encompasses tasks such as user management, security, backup and
recovery, and performance tuning, ensuring the overall health and performance of the database system.
In conclusion, Database Management Systems (DBMS) play a crucial role in modern information
systems, providing a robust and efficient framework for storing, managing, and manipulating data.
From its humble beginnings to the present day, DBMS has continued to evolve and adapt to the ever-
changing needs of the industry, offering a diverse array of models and technologies to suit a wide range
of use cases. As the volume and complexity of data continue to grow, the importance of DBMS in
facilitating data-driven decision-making and innovation will only continue to rise.
Database Management Systems (DBMS) find extensive applications across various industries and
domains, playing a critical role in managing and leveraging data for decision-making, operations, and
strategic planning. From finance and healthcare to education and e-commerce, DBMS serve as the
backbone of information systems, facilitating efficient data storage, retrieval, and manipulation. In this
section, we explore some of the key applications of DBMS and their significance in different sectors.
1. Healthcare Industry:
In the healthcare industry, DBMS are used to store and manage electronic health records (EHRs),
patient information, medical history, diagnostic reports, and treatment plans. These systems enable
healthcare providers to access and update patient records securely, ensuring continuity of care and
facilitating collaboration among healthcare professionals. Additionally, DBMS play a crucial role
in medical research and analysis, allowing researchers to analyze large datasets to identify trends,
patterns, and correlations for disease diagnosis, treatment effectiveness, and public health
initiatives.
2. Financial Services:
In the financial services sector, DBMS are utilized for managing banking transactions, customer
accounts, loan portfolios, investment portfolios, and risk assessment. Banks and financial
institutions rely on DBMS to maintain accurate and up-to-date records of financial transactions,
ensuring regulatory compliance and customer satisfaction. Furthermore, DBMS enable real-time
processing of transactions, fraud detection, and personalized customer service through data
analytics and business intelligence.
marketing campaigns, recommend products, and optimize pricing strategies to enhance customer
satisfaction and drive sales.
4. Education Sector:
In the education sector, DBMS are used to manage student information, academic records, course
schedules, and faculty data. Educational institutions rely on DBMS to streamline administrative
processes, such as admissions, enrollment, grading, and transcript generation. Additionally, DBMS
support online learning platforms, student portals, and learning management systems, facilitating
remote education and collaboration among students and instructors.
In conclusion, Database Management Systems (DBMS) have become indispensable tools across a wide
range of industries and domains, empowering organizations to manage and leverage data effectively for
competitive advantage and societal benefit. From healthcare and finance to retail and education, the
applications of DBMS continue to expand, driven by the increasing volume, variety, and velocity of
data generated in today's digital world. As organizations strive to harness the power of data to drive
innovation, DBMS will remain at the forefront, enabling them to unlock new insights, streamline
operations, and create value for stakeholders.
In today's fast-paced and dynamic healthcare landscape, the efficient management of pharmaceutical
resources and patient information is paramount to ensuring quality care delivery and optimizing
operational efficiency. Traditional paper-based systems are increasingly becoming obsolete, giving way
to digital solutions that offer enhanced accessibility, accuracy, and security. It is within this context
that the development of a Vehicle Parking Management System (PMS) emerges as a compelling and
worthwhile endeavor, driven by a myriad of motivations and potential benefits.
robust security measures, audit trails, and reporting capabilities to ensure adherence to
regulatory requirements.
5. Empowering Data-Driven Decision-Making:
In an age of data abundance, harnessing the power of information is key to driving informed
decision-making and strategic planning. By centralizing and digitizing pharmacy data, a Vehicle
Parking Management System enables pharmacists and pharmacy administrators to gain valuable
insights into medication usage patterns, inventory trends, and patient demographics. Armed with
this knowledge, pharmacies can make data-driven decisions to optimize medication stocks, identify
cost-saving opportunities, and tailor services to meet the needs of their patient population.
Problem Statement:
The absence of a modern and efficient Vehicle Parking Management System poses significant
challenges to pharmacies, ranging from inefficient inventory management and prescription processing
to compromised patient safety and regulatory compliance. The existing manual processes and disparate
systems employed by pharmacies are fraught with errors, delays, and inefficiencies, hindering their
ability to deliver timely and quality care to patients. Key challenges include:
• Manual Prescription Processing: The reliance on paper-based prescriptions and manual data entry
processes introduces the risk of transcription errors, illegible handwriting, and misplaced
prescriptions. Pharmacists spend valuable time deciphering handwritten prescriptions, verifying
medication orders, and communicating with prescribers, leading to delays in medication dispensing
and patient dissatisfaction.
• Limited Patient Information Accessibility: Patient records and medication histories are often
scattered across multiple systems or stored in paper files, making it challenging for pharmacists to
access comprehensive patient information in a timely manner. Without a centralized database,
pharmacists may overlook drug interactions, allergies, or duplicate therapies, jeopardizing patient
safety and clinical outcomes.
3. Patient Information Management Module: Centralizes patient records, medication histories, allergies,
and drug interactions in a secure database, providing pharmacists with timely access to critical patient
information.
The objectives of the project are outlined in this section, focusing on the development and implementation
of a comprehensive Vehicle Parking Management System. The objectives include designing a user-
friendly interface, streamlining pharmacy workflows, automating manual tasks, enhancing access to
patient information, and ensuring compliance with regulatory requirements. The section highlights the
project's goal of delivering a scalable and sustainable solution that meets the unique needs of pharmacies
across diverse settings.
The literature review explores existing research and literature on Vehicle Parking Management
Systems, inventory management practices, prescription processing technologies, patient information
management solutions, and regulatory compliance frameworks. It examines case studies, best practices,
and industry standards related to pharmacy operations and technology adoption. The literature review
provides valuable insights and informs the design and development of the proposed PMS.
Methodology :
This section outlines the methodology employed in the development of the Vehicle Parking Management
System. It discusses the software development lifecycle (SDLC) approach, including requirements
gathering, system design, implementation, testing, and deployment. The methodology highlights the use
of agile development methodologies, iterative design processes, and collaboration with stakeholders
to ensure the successful delivery of the PMS. It also addresses data security, privacy
considerations, and regulatory compliance measures implemented during the development process.
System Architecture:
The system architecture section provides an overview of the design and architecture of the Vehicle
Parking Management System. It describes the system components, modules, and functionalities,
including Inventory Management, Prescription Processing, Patient Information Management, and
Regulatory Compliance modules. The architecture diagram illustrates the interaction between different
system components and the flow of data within the PMS. This section also discusses the technologies
and frameworks used in the development of the system, such as database management systems,
programming languages, and web development frameworks.
Implementation Details:
Here, the implementation details of the Vehicle Parking Management System are presented, focusing on
the technical aspects of system development and deployment. It discusses the software tools, libraries,
and frameworks used in building the PMS, as well as the database schema, data models, and system
integrations. The section also highlights key features and functionalities implemented in each module
of the system, along with code snippets and examples to illustrate the implementation process.
This section focuses on the testing and quality assurance processes employed to validate the functionality,
performance, and reliability of the Vehicle Parking Management System. It discusses the types of
testing conducted, including unit testing, integration testing, system testing, and user acceptance
testing (UAT). The section also addresses bug tracking, issue resolution, and quality control measures
implemented to ensure the successful deployment of a robust and stable PMS.
In today's fast-paced healthcare environment, the importance of Vehicle Parking Management Systems
cannot be overstated. These systems play a vital role in ensuring the safe and effective use of medications,
mitigating risks associated with medication errors, adverse drug events, and drug interactions. By providing
pharmacists with timely access to accurate patient information, medication histories, and clinical decision
support tools, PMS empowers them to make informed decisions, optimize medication therapy, and prevent
medication-related harm. Furthermore, PMS enables pharmacies to maintain compliance with regulatory
requirements, such as HIPAA (Health Insurance Portability and Accountability Act) regulations for patient
privacy and FDA (Food and Drug Administration) guidelines for medication safety, thereby reducing the
risk of legal and financial repercussions.
1. Medication Inventory Management: One of the core functionalities of a PMS is to facilitate the
efficient management of medication inventory. This includes tasks such as inventory tracking, stock
replenishment, expiration date management, and inventory optimization. By providing real-time visibility
into medication stocks, PMS helps pharmacies minimize stockouts, reduce wastage, and ensure the
availability of essential medications for patients.
2. Prescription Processing and Dispensing: Another critical aspect of PMS is to streamline the
prescription processing and medication dispensing workflow. PMS automates tasks such as prescription
entry, verification, adjudication, and label printing, thereby reducing the time and effort required to fill
prescriptions accurately. Through integration with electronic prescribing systems and medication
Vehicle Parking Management System
databases, PMS enables pharmacists to verify medication orders, check for drug interactions, and
provide counseling to patients on medication use and adherence.
3. Patient Information Management: PMS serves as a centralized repository for storing and managing
patient information, including demographics, medical history, allergies, and medication profiles. By
maintaining comprehensive and up-to-date patient records, PMS enables pharmacists to access critical
information quickly and make informed decisions regarding medication therapy. Furthermore, PMS
facilitates communication and collaboration among healthcare providers by enabling secure sharing of
patient information across different healthcare settings.
4. Clinical Decision Support: Many PMS solutions incorporate clinical decision support tools to assist
pharmacists in optimizing medication therapy and ensuring patient safety. These tools may include
drug interaction alerts, allergy warnings, dosage calculators, and clinical guidelines, among others. By
providing timely and evidence-based recommendations, PMS helps pharmacists identify potential drug-
related problems, prevent medication errors, and improve patient outcomes.
In summary, Vehicle Parking Management Systems play a crucial role in modern healthcare by enabling
pharmacies to streamline operations, enhance patient care, and ensure compliance with regulatory
standards. By providing a comprehensive suite of functionalities tailored to meet the unique needs of
pharmacies, PMS empowers pharmacists to deliver safe, effective, and patient-centered care, thereby
improving outcomes for patients and enhancing the overall quality of healthcare delivery.
2. PioneerRx:
Overview: PioneerRx is a popular Vehicle Parking Management System known for its user-friendly
interface, customizable features, and robust functionality. It is designed to meet the needs of independent
pharmacies, offering a range of tools to optimize pharmacy workflows and improve patient care.
Key Features:
Overview: QS/1 Vehicle Parking Management Systems offer a suite of pharmacy management
solutions designed to meet the needs of pharmacies, hospitals, and long-term care facilities. Their
software solutions provide comprehensive functionality to optimize pharmacy operations and improve
patient care.
Key Features:
• Clinical Decision Support: Drug utilization review, formulary management, and medication therapy
management.
• Regulatory Compliance: DEA compliance, controlled substance tracking, and adherence to state
and federal regulations.
• Billing and Reimbursement: Claims processing, insurance verification, and reimbursement
management.
Benefits:
1. OpenEMR:
Overview: OpenEMR is an open-source electronic health records (EHR) and medical practice
management software. While primarily designed for healthcare providers, it includes features for
pharmacy management, such as medication lists, prescription management, and drug-drug interaction
checking.
Key Features:
2. GNU Health:
Overview: GNU Health is a free and open-source health and hospital information system. While
primarily focused on electronic medical records and hospital management, it includes features for
pharmacy management, such as medication dispensing, inventory management, and prescription
tracking.
Key Features:
Each Vehicle Parking Management System offers a unique set of features, benefits, and target users,
catering to the diverse needs of pharmacies in today's healthcare landscape. Whether you're looking
for a comprehensive commercial solution like McKesson Pharmacy Systems EnterpriseRx or an open-
source alternative like OpenEMR or GNU Health, there are options available to suit your specific
requirements and preferences. By evaluating the features, benefits, and disadvantages of each system,
pharmacies can choose the best Vehicle Parking Management System to optimize their operations and
improve patient care.
Our literature review uncovers several limitations inherent in current pharmacy supply management
systems:
• Time and Resource Consumption: The manual nature of data entry and paperwork exacts a toll
on both time and resources, contributing to inefficiencies in data management and processing.
• Reliability and Storage Concerns: Reliance on paper-based records poses reliability issues,
exacerbated by escalating storage requirements as data volumes burgeon over time.
• Absence of Aadhar Linkage: The absence of linkage with the official Aadhar database hampers
the system's ability to access accurate and up-to-date information, consequently impeding its
efficacy in managing patient records and prescriptions.
• Efficiency and Accuracy: Existing systems strive to create computerized solutions that are not
only efficient but also accurate, effectively eliminating data redundancy and enhancing processing
speed. The overarching aim is to streamline pharmacy operations, mitigating manual tasks such as
data entry and paperwork to conserve valuable time and resources.
• User-Friendly Interface: Central to the success of any system is its user interface, with emphasis
placed on crafting interfaces that are intuitive and require minimal training. A seamless graphical
user interface (GUI) enhances user experience, ensuring long-term usability without succumbing
to errors or necessitating frequent maintenance interventions.
• Security and Reliability: Given the sensitive nature of healthcare data, security measures such as
login authentication and password protection are imperative. Existing systems prioritize data
security and reliability to uphold trust and confidentiality, safeguarding against potential breaches
or unauthorized access.
While the literature lacks a unanimous definition of Pharmacy Supply Management, scholars advocate
for a standardized definition to facilitate the coherent development of theory in this critical area. It is
proposed that researchers adopt the following definition:
"In order to have a successful supply management, we need to make many decisions related to the flow
of information, product, and funds. Each decision should be made in a way to increase the whole supply
chain profitability. Supply management is more complex in healthcare and other industries because of
the impact on people’s health, requiring adequate and accurate medical supply according to the patient’s
need."
This proposed definition encapsulates the multifaceted nature of supply management, emphasizing the
interconnectedness of various decision-making processes pertaining to information flow, product
distribution, and financial management. It underscores the paramount importance of optimizing these
decisions to enhance the overall profitability and efficiency of the supply chain.
2. Enhanced Patient Care: Ensuring the availability of accurate and timely medical supplies is crucial
for delivering high-quality patient care. The proposed system will help optimize inventory levels and
facilitate timely delivery of medical products, thereby improving patient outcomes and satisfaction.
3. Cost Savings: By optimizing inventory levels, minimizing stockouts, and negotiating favorable
supplier contracts, the proposed system will help reduce procurement costs and enhance supply chain
profitability.
4. Risk Mitigation: The proposed system will enable proactive risk management by providing
stakeholders with real-time visibility into supply chain performance and potential disruptions. This will
help mitigate the impact of unforeseen events such as supplier delays or demand fluctuations.
5. Compliance and Accountability: By maintaining accurate records and ensuring compliance with
regulatory requirements, the proposed system will enhance transparency, accountability, and regulatory
compliance across the supply chain.
Therefore, our literature survey offers a panoramic vista of existing pharmacy supply management
systems, elucidating their objectives, limitations, and potential solutions. By synthesizing insights from
case studies, proposed definitions, and extant systems, we gain profound insights into the challenges
and opportunities pervading the domain of pharmacy supply management. Armed with this knowledge,
we are poised to embark on the design and development of our project, leveraging these insights to craft
a robust and user-centric solution that addresses the evolving needs of the healthcare landscape.
In this section, we outline the system requirements for the proposed Vehicle Parking Management
System, encompassing both software and hardware specifications. These requirements serve as the
foundation for the development and deployment of the system, ensuring compatibility, performance,
and reliability across various environments.
The software requirements delineate the essential components and tools necessary for the
development and execution of the Vehicle Parking Management System. These include:
Frontend Technologies:
• HTML: Hyper Text Markup Language (HTML) serves as the backbone for creating the structure
and content of web pages.
• CSS: Cascading Style Sheets (CSS) is utilized for styling and formatting HTML elements,
enhancing the visual presentation of the user interface.
• JavaScript: JavaScript (JS) adds interactivity and dynamic behavior to web pages, facilitating user
engagement and responsiveness.
• Bootstrap: Bootstrap is a front-end framework that provides pre-designed templates and
components for building responsive and visually appealing web interfaces.
Backend Technologies:
• Python Flask: Flask is a lightweight web framework for Python, ideal for developing web
applications with minimal overhead and flexible design.
• Python 3.7: Python is a versatile programming language known for its simplicity, readability, and
extensive library support.
• SQLAlchemy: SQLAlchemy is an Object-Relational Mapping (ORM) library for Python, enabling
seamless interaction with relational databases.
Operating System:
Windows 10: The Vehicle Parking Management System is compatible with the Windows 10 operating
system, ensuring widespread accessibility and usability.
Web Browsers:
Google Chrome/Internet Explorer: The system supports popular web browsers such as
Google Chrome and Internet Explorer, ensuring cross-browser compatibility.
Vehicle Parking Management System
Development Tools:
Other Requirements:
• AMPPS (Version 3.7): AMPPS is a software stack that includes Apache, MySQL, MongoDB,
PHP, Perl, Python, and Softaculous, facilitating the setup and management of web development
environments.
• Workspace Editor: The system utilizes Sublime Text 3 as the workspace editor for editing code
and managing project files.
The hardware requirements delineate the minimum specifications necessary for the smooth
operation and performance of the Vehicle Parking Management System. These include:
• Computer with a 1.1 GHz or faster processor: A processor speed of 1.1 GHz or higher ensures
efficient execution of computational tasks.
• Minimum 2GB of RAM or more: Adequate RAM (Random Access Memory) is essential for
running the software and handling concurrent processes effectively.
• 2.5 GB of available hard-disk space: Sufficient hard-disk space is required for storing system
files, databases, and other resources.
• 5400 RPM hard drive: A hard drive with a rotational speed of 5400 RPM or higher ensures swift
data access and retrieval.
• 1366 × 768 or higher-resolution display: A high-resolution display enhances the visual clarity
and readability of the user interface.
• DVD-ROM drive: A DVD-ROM drive is required for installing software from optical discs.
In conclusion, the system requirements encompass a comprehensive array of software and hardware
specifications essential for the development, deployment, and operation of the Vehicle Parking
Management System. By adhering to these requirements, the system can ensure compatibility,
performance, and reliability across various environments, thereby meeting the needs and expectations
of users and stakeholders.
High-Level Overview:
At a high level, the architecture of the Vehicle Parking Management System follows a client-server
model, where the client-side interface interacts with the server-side backend to facilitate data processing,
storage, and retrieval. The system architecture comprises three primary layers: the presentation layer,
the application layer, and the data layer.
Presentation Layer:
The presentation layer, also known as the frontend layer, is responsible for rendering the user interface
and facilitating user interaction with the system. It encompasses the graphical user interface (GUI)
components, including web pages, forms, and interactive elements. The frontend technologies such as
HTML, CSS, JavaScript, and Bootstrap are utilized to design and develop the user interface, ensuring
responsiveness, accessibility, and visual appeal.
Application Layer:
The application layer, situated between the presentation layer and the data layer, contains the core
logic and functionality of the Vehicle Parking Management System. This layer comprises the backend
components responsible for processing user requests, executing business logic, and interacting with the
database. The backend is implemented using the Python Flask framework, which provides a lightweight
and flexible environment for developing web applications. SQLAlchemy, an Object-Relational Mapping
(ORM) library, facilitates seamless interaction with the underlying database, enabling CRUD (Create,
Read, Update, Delete) operations and data manipulation.
Data Layer:
The data layer, also referred to as the backend database, serves as the repository for storing and managing
data related to pharmacy operations, including medication inventory, patient records, prescriptions,
and supplier information. The database management system (DBMS) ensures efficient data storage,
retrieval, and manipulation, providing concurrency control, transaction management, and
Vehicle Parking Management System
data integrity. In the Vehicle Parking Management System, a relational database management system
(RDBMS) such as MySQL or PostgreSQL is commonly employed to maintain structured data and
enforce data consistency.
Security Considerations:
Security is paramount in the architecture of the Vehicle Parking Management System to safeguard
sensitive patient data, ensure regulatory compliance, and mitigate cybersecurity risks. Measures such
as authentication, authorization, encryption, and audit logging are implemented to protect data
confidentiality, integrity, and availability. Role-based access control (RBAC) restricts user privileges
based on their roles and responsibilities, preventing unauthorized access to sensitive information.
The architecture of the Vehicle Parking Management System is designed to provide a scalable, robust,
and secure platform for managing pharmacy operations efficiently. By leveraging a client-server
model, layered architecture, and integration with external systems, the system ensures seamless user
experience, data integrity, and interoperability. With a focus on presentation, application, and data
layers, coupled with stringent security measures, the architecture of the Vehicle Parking Management
System caters to the diverse needs of pharmacies in the modern healthcare landscape.
The Vehicle Parking Management System (PMS) is designed as a web-based application following a
three-tier architecture model to efficiently manage pharmacy operations. At the presentation layer,
HTML, CSS, JavaScript, and Bootstrap are employed to create an intuitive and responsive user
interface accessible to pharmacy staff and administrators. This layer encompasses functionalities such as
medication inventory management, prescription processing, patient record management, and reporting
tools, all aimed at enhancing operational efficiency and patient care.
In the application layer, Python Flask serves as the backbone, handling HTTP requests, executing
business logic, and interacting with the backend database. Modules within this layer encompass user
authentication, medication inventory management, prescription processing, patient management, and
reporting and analytics. Utilizing SQLAlchemy, interactions with the relational database management
system (RDBMS) are streamlined, enabling seamless data manipulation and ensuring data integrity
throughout the system.
The data layer comprises the backend database, powered by an RDBMS like MySQL, housing critical
data related to medication details, patient records, prescriptions, suppliers, and sales transactions.
Integration with external systems, such as electronic health records (EHRs) and point-of-sale (POS)
systems, is facilitated through APIs to enhance interoperability and data exchange. Robust security
measures, including authentication, authorization, encryption, and role-based access control, are
implemented to safeguard sensitive information and ensure regulatory compliance, thereby providing a
scalable, robust, and secure platform for pharmacy management.
1. addmp Table:
Attributes:
• sno (Primary Key): Integer, NOT NULL. Serial number for medicines.
• medicine: VARCHAR(500), NOT NULL. Name of the medicine.
Constraints:
Primary Key: sno.
Description: This table stores information about medicines stocked in the pharmacy. It serves as a
reference table for managing medication inventory.
2. addpd Table:
Attributes:
• sno (Primary Key): Integer, NOT NULL. Serial number for products.
• product: VARCHAR(200), NOT NULL. Name of the product.
Constraints:
Primary Key: sno.
Description: Similar to addmp, this table stores details about products available in the pharmacy. It
complements the addmp table and facilitates product management within the system.
3. logs Table:
Attributes:
• id (Primary Key): Integer, NOT NULL, AUTO_INCREMENT. Unique identifier for each log
entry.
• mid (Foreign Key): Integer, NOT NULL. ID of the medicine associated with the action.
• action: VARCHAR(500), NOT NULL. Action performed in the system (e.g., INSERTED,
DELETED).
• date: VARCHAR(500), NOT NULL. Date and time of the action.
Constraints:
Primary Key: id.
Foreign Key: mid references medicines(id).
Description: The logs table records actions performed within the system, such as insertions, deletions,
and updates. It maintains a chronological history of changes made to the database.
4. medicines Table:
Attributes:
• id (Primary Key): Integer, NOT NULL, AUTO_INCREMENT. Unique identifier for each
medicine entry.
• amount: Integer, NOT NULL. Amount of medicine available.
• name: VARCHAR(100), NOT NULL. Name of the medicine.
• medicines: VARCHAR(500), NOT NULL. List of medicines.
• products: VARCHAR(500), NOT NULL. List of products associated with the medicine.
• email: VARCHAR(50), NOT NULL. Email associated with the medicine.
• mid: VARCHAR(50), NOT NULL. Unique medicine ID.
Constraints:
Primary Key: id.
Description: This table stores comprehensive information about medicines stocked in the pharmacy.
It includes details such as amount, name, associated products, contact email, and a unique identifier for
each medicine entry.
5. posts Table:
Attributes:
mid (Primary Key): Integer, NOT NULL, AUTO_INCREMENT. Unique identifier for each
pharmacy post.
6. employees Table:
Attributes:
• emp_id (Primary Key): Integer, NOT NULL, AUTO_INCREMENT. Unique identifier for each
employee.
• emp_name: VARCHAR(100), NOT NULL. Name of the employee.
• emp_email: VARCHAR(100), NOT NULL. Email address of the employee.
• emp_phone: VARCHAR(20), NOT NULL. Phone number of the employee.
Constraints:
Primary Key: emp_id.
Description: The employees table stores information about employees working within the pharmacy.
It includes details such as employee name, email address, and phone number, facilitating employee
management within the organization.
The database schema encompasses tables for managing various aspects of pharmacy operations, including
medication inventory, product listings, pharmacy posts, employee details, and system logs. Each table
is designed with specific attributes and constraints to support efficient data management and integrity
within the Vehicle Parking Management System. The primary and foreign key relationships establish
associations between related entities, ensuring relational connectivity and data consistency throughout
the system. Overall, the schema provides a robust foundation for organizing and managing pharmacy
data effectively.
In the Pharmacy Supply Management System, the utilization of MySQL as the back-end database
solution plays a pivotal role in ensuring efficient data management and retrieval. MySQL, a powerful
Database Management System (DBMS), is chosen for its versatility, reliability, and robust features.
This section elaborates on the implementation details of MySQL and its significance within the
Pharmacy Supply Management System ecosystem.
• Modeling Language: MySQL provides a modeling language for defining the schema of each
database, adhering to the DBMS data model. This facilitates organized data storage and retrieval.
• Data Structures: MySQL optimizes data structures such as fields, records, and files to efficiently
manage large data sets, ensuring optimal performance even with extensive data storage
requirements.
• Data Security: Robust security measures are implemented to prevent unauthorized access and
maintain data integrity. Access control mechanisms, including user privileges and password
protection, safeguard sensitive data from unauthorized modification or retrieval.
• Transaction Mechanism: MySQL incorporates a transaction mechanism that adheres to the ACID
properties (Atomicity, Consistency, Isolation, Durability), ensuring data integrity and reliability
even in the presence of concurrent user accesses and system faults.
• Data Definition: SQL's Data Definition Language (DDL) is utilized to define tables and structures
within the database. This includes creating, modifying, and dropping schema objects such as tables
and indexes.
Triggers, on the other hand, are specialized stored procedures that automatically execute in response to
predefined database events. Within the system, two triggers are utilized to maintain an audit trail of
important database operations. The first trigger, named "on insert," is activated after an insertion event
occurs in the "medicines" table. Upon insertion, this trigger records relevant information, including the
newly inserted record's identifier ("mid"), indicating the action as "inserted," and capturing the current
timestamp using the NOW() function. Similarly, the second trigger, named "on delete," triggers after a
deletion event in the "medicines" table. It captures the identifier of the deleted record ("mid"), marks
the action as "deleted," and logs the deletion timestamp.
These stored procedures and triggers play a crucial role in ensuring data integrity, facilitating
auditability, and automating essential database operations within the Pharmacy Supply Management
System. By leveraging these database components, the system maintains a comprehensive record of
database activities, enhances data reliability, and streamlines administrative tasks, ultimately
contributing to the system's efficiency and effectiveness in managing pharmaceutical supply operations.
The implementation of MySQL as the back-end database solution within the Pharmacy Supply
Management System underscores its significance in enabling efficient data management, retrieval, and
security. MySQL's robust features, including its modeling language, data structures, SQL support, and
transaction mechanism, contribute to the system's reliability and scalability. By leveraging MySQL, the
Pharmacy Supply Management System ensures seamless data organization, retrieval, and manipulation,
ultimately enhancing operational efficiency and user experience.
The implementation of the Pharmacy Supply Management System involves the seamless integration of
various technologies to create a robust and efficient solution for managing pharmaceutical inventory
and supply operations. At its core, Python serves as the primary programming language for backend
logic and Flask as the web framework for frontend development. MySQL is utilized as the backend
database management system, providing reliable storage and retrieval of critical data related to
medicines, suppliers, transactions, and user activities. Through stored procedures and triggers, common
database operations are encapsulated, ensuring data integrity and consistency. The user interface is built
using HTML, CSS, and JavaScript, offering an intuitive and user-friendly experience for accessing and
managing pharmaceutical inventory and supply information. Overall, the implementation aims to
streamline pharmacy operations, enhance efficiency, and improve decision-making processes within
the healthcare industry.
• `Flask: Flask is a micro web framework for Python used to build web applications. It provides
tools and libraries for handling web requests, routing, and templating.
• `render_template`: This function is used to render HTML templates in Flask applications. It
allows dynamic generation of HTML content by inserting data into predefined templates.
• `request`: The `request` object contains information about the HTTP request made by the client
to the server. It provides access to request headers, form data, cookies, and other request
parameters.
• `session`: Session management in Flask is facilitated by the `session` object. It allows storing
user-specific data across multiple requests and is typically used for user authentication and
maintaining user sessions.
• `redirect`: This function redirects the client to a different URL. It is commonly used to redirect
users after form submissions or upon successful login.
• `flash`: Flask's `flash` module provides support for displaying temporary messages to users.
These messages are typically used for displaying feedback or notifications to users, such as
success messages or error alerts.
• `SQLAlchemy`: SQLAlchemy is an SQL toolkit and Object-Relational Mapping (ORM)
library for Python. It provides a set of tools for working with relational databases in an object-
oriented manner, allowing developers to interact with databases using Python objects and
methods.
• `json`: The `json` module is used for encoding and decoding JSON data in Python. In this script,
it is used to read configuration parameters from a JSON file.
Vehicle Parking Management System
• `open('config.json','r')`: The `open()` function is used to open the JSON file in read mode ('r').
It returns a file object that can be used to read the contents of the file.
• `json.load(c)`: The `json.load()` function is used to load JSON data from the file object `c`. It
parses the JSON data and returns a Python dictionary containing the parsed data.
• `["params"]`: The configuration parameters are expected to be stored under the key "params"
in the JSON file. This key is used to access the dictionary containing the parameters.
• `params`: The parsed configuration parameters are stored in the `params` variable for later use
in the application.
• `local_server = True`: This variable is used to determine whether the application is running on
a local server. It can be set to `False` when deploying the application to a production server.
• `app = Flask(__name__)`: The `Flask()` constructor is used to create a Flask application
instance. The `__name__` parameter specifies the name of the current module, which is
typically used as the name of the application package.
• `app.secret_key = 'super-secret-key'`: The `secret_key` attribute is set to a randomly generated
string. This secret key is used to encrypt session cookies and should be kept secure to prevent
unauthorized access to session data.
• `db.Model`: The `db.Model` class serves as the base class for all database models in
SQLAlchemy. It provides a set of common attributes and methods for defining and interacting
with database tables.
• `db.Column`: The `db.Column` function is used to define columns within a database table. It
specifies the data type, constraints, and other properties of each column.
• `primary_key=True`: This parameter specifies that the column is a primary key, which
uniquely identifies each record in the table.
• `nullable=False`: This parameter specifies that the column cannot contain null values,
ensuring data integrity and consistency.
• `db.Integer`, `db.String`, etc.: These data types represent integer, string, and other types of
data supported by the database. SQLAlchemy maps these data types to the corresponding
native data types supported by the underlying database system.
• `class Medicines(db.Model):`, `class Posts(db.Model):`, etc.: Each class represents a database
table, with its attributes mapping to columns in the table. The names of the classes
(`Medicines`, `Posts`, etc.) should be descriptive of the entities they represent in the
application domain.
• `request.method == 'POST'`: This condition checks whether the HTTP request method is POST.
It is commonly used to distinguish between form submission requests (POST) and page load
requests (GET). In this case, it is used to handle form submissions in the search route.
• `if (request.method == 'POST'):`: This conditional statement checks whether the HTTP request
method is POST, indicating that the form has been submitted by the user. It is commonly used
to differentiate between form submission requests and other types of requests, such as page
loads or AJAX requests.
• `# Handle form submission`: This comment represents the logic that would be executed when
the form is submitted. It typically includes tasks such as retrieving form data from the request
object, validating the data, and performing database operations such as inserts, updates, or
deletions.
• `if (post or pro):`: This conditional statement checks whether either `post` or `pro` variables
contain a non-null value. If either of them is not `None`, it indicates that the item is available
in the database.
• `flash("Item Is Available.", "primary")`: If the item is available, a Flash message with the text
"Item Is Available." is displayed to the user with a primary color theme. Flash messages are
temporary messages that are typically used to provide feedback or notifications to users.
• `flash("Item is not Available.", "danger")`: If the item is not available, a Flash message with
the text "Item is not Available." is displayed to the user with a danger color theme.
• `@app.route("/insert", methods = ['GET','POST'])`: This decorator defines a route for the URL
"/insert" and specifies that it accepts both GET and POST requests. The associated view
function
• `insert()` handles the insertion of new records into the database.
• `@app.route("/addmp", methods = ['GET','POST'])`: Similarly, this decorator defines a route
for the URL "/addmp" and specifies that it accepts both GET and POST requests. The
associated view function `addmp()` handles the insertion of new records into the `Addmp` table.
• `@app.route("/addpd", methods = ['GET','POST'])`: This decorator defines a route for the URL
"/addpd" and specifies that it accepts both GET and POST requests. The associated view
function `addpd()` handles the insertion of new records into the `Addpd` table.
• `return render_template('insert.html',params=params)`: After handling the database operation,
the view functions render an HTML template (`insert.html` or `search.html`) to generate the
corresponding web page response. The `params` dictionary containing configuration
parameters is passed to the template for dynamic content generation.
• `if ('user' in session and session['user'] == params['user']):`: This conditional statement checks
whether a user is logged in by verifying the presence of a `'user'` key in the session and whether
its value matches the username stored in the configuration parameters (`params['user']`). If both
conditions are true, it indicates that the user is authenticated and can perform authenticated
actions.
• `return redirect('/login')`: If the user is not authenticated, the user is redirected to the login page
to authenticate themselves. The `redirect` function is used to redirect the user to the specified
URL ("/login").
• `@app.route("/logout")`: This decorator defines a route for the URL "/logout". The associated
view function `logout()` handles user logout requests.
• `return redirect('/login')`: After logging out the user, the view function redirects the user to the
login page ("/login") to authenticate themselves again.
• `session.pop('user')`: This line removes the `'user'` key from the session, effectively logging out
the user and destroying their session data.
• `flash("You are logout", "primary")`: A Flash message is displayed to the user confirming that
they have been logged out. The message has a primary color theme.
• `return redirect('/login')`: After logging out the user and displaying the Flash message, the user
is redirected to the login page to authenticate themselves again.
• `app.run(debug=True)`: The `run()` method of the Flask application instance (`app`) is called
with the `debug=True` parameter. This starts the Flask development server in debug mode,
allowing developers to debug their applications more easily by providing detailed error
messages and stack traces.
The HTML template provided is an integral part of a Flask web application designed for managing a
pharmacy supply system. Let's break down the template into its constituent parts and explain each in
detail.
2. Meta Tags:
Meta tags, including `<meta charset="utf-8">`, `<meta name="viewport" content="width=device-
width, initial-scale=1, shrink-to-fit=no">`, and `<meta name="description" content="">`, provide
important metadata about the HTML document. These tags define character encoding, viewport
settings for responsive design, and a brief description of the page for search engine optimization
(SEO) purposes.
5. Navigation Bar:
The navigation bar (`<nav>`) provides users with easy access to different sections of the website,
facilitating navigation and exploration. It includes links to various routes within the Flask
application, such as home, add medical information, view ordered list, etc. These links are
dynamically generated using Flask's `url_for` function, ensuring flexibility and robustness in
managing routes and URLs.
7. Footer Section:
The footer section contains social media links and copyright information, providing additional
resources and legal attribution. Social media icons with links to Twitter, Facebook, and GitHub
profiles are included to encourage user engagement and interaction. The copyright information
includes the year and name of the website, establishing ownership and acknowledging intellectual
property rights.
Incorporating technology into pharmacy operations has revolutionized healthcare delivery, enabling
pharmacies to optimize processes, improve patient care, and ensure regulatory compliance. A pharmacy
database management system (DBMS) serves as the foundation of digital pharmacy infrastructure,
facilitating the efficient storage, retrieval, and management of patient records, prescriptions, inventory,
and billing data. This guide outlines a step-by-step roadmap for implementing a pharmacy DBMS
project using Flask and the XAMPP server, leveraging their combined capabilities to streamline project
execution.
Database Configuration :
With XAMPP running, navigate to the phpMyAdmin web interface to create a new database for the
pharmacy DBMS project. Specify the database name, username, and password, and assign privileges
to the user account to enable access to the database. Update the database configuration settings in the
Flask application to establish a connection with the MySQL database.
The successful implementation of the Vehicle Parking Management System marks a significant
milestone in our journey towards harnessing practical experience to complement theoretical learning.
This project, built upon the foundations of Ampps and Python Flask, has enabled us to develop a fully
functional offline database management system tailored for pharmacy operations.
Utilizing MySQL as the database has proven to be advantageous due to its accessibility, popularity, and
ease of customization. The versatility of MySQL has empowered us to efficiently store, retrieve, and
manipulate data with minimal SQL knowledge, enhancing our capabilities in database management.
Beyond the technical aspects, this project has imparted invaluable lessons in project planning,
organization, and teamwork. The meticulous planning process undertaken underscored the importance
of structured methodologies in project execution. Moreover, the collaborative efforts and cohesive
teamwork demonstrated throughout the project lifecycle highlighted the pivotal role of teamwork and
coordination in achieving success.
From a personal perspective, this project has been instrumental in deepening our understanding of
project development intricacies. It has provided firsthand experience in project planning, execution,
and teamwork, thereby equipping us with essential competencies as aspiring computer engineers.
In conclusion, the Vehicle Parking Management System project has not only fulfilled academic
requirements but has also served as a platform for holistic learning and skill development. It stands as
a testament to our commitment to bridging the gap between theoretical knowledge and practical
application, ultimately enhancing our proficiency and preparedness for future endeavors in the field of
computer engineering.
REFERENCES
1. XAMPP documentation :
https://www.apachefriends.org/docs/
2. Flask documentation :
https://flask.palletsprojects.com/en/3.0.x/#user-s-guide
4. GitHub Repositories :
https://github.com/LalanaChami/Pharmacy-Mangment-System.git
https://github.com/priyasubburaj05/pharmacy-management-system.git
5. MySQL documentation :
https://dev.mysql.com/doc/