Pharmacy Management System For The Central Pharmacy - Pokunuwita
Pharmacy Management System For The Central Pharmacy - Pokunuwita
W.D.W.T. Rathnayake
University of Colombo School of Computing
2018
i
Declaration
The thesis is my original work and has not been submitted previously for a degree at this or any
other university/institute.
To the best of my knowledge it does not contain any material published or written by another
person, except as acknowledged in the text.
_____________________ /09/2018
Signature: Date:
Mr./Ms.
under my supervision. The thesis has been prepared according to the format stipulated and is of
acceptable standard.
Certified by:
Supervisor Name:
_____________________
Signature: Date:
i
Abstract
This project illustrates the designing and implementation of a web based Pharmacy
management system for the Central Pharmacy – Pokunuwita. The primary aim of is to improve
accuracy and enhance safety and efficiency in the pharmaceutical store by minimizing issues
occur in day to day operations.
Currently they are using a manual system which is very hard in handling. Managing the stock
with paper records based on the expiry dates and the quantity available in the stock are some
major problems identified in the problem domain. The system intends to minimize the workload
of the staff and increase the value of the business to gain the competitive advantages in the
pharmaceutical industry.
The system allows different tasks for different users. They are administrator, cashier, data entry
operator and normal user who can logging the system as different user roles to perform their
functions separately. Administrator has all privileges of the system. Create users, generate
reports for managerial decisions, manage employee attendance are some administrator tasks. In
addition, the system will show a notification about expiry dates of drugs and stock ending
details. It is easy to handle stock management through the software rather than working with
paper records.
Customers are the main asset of the business. So, the system will help to reduce waiting time
of the customers. They can check the availability of the items before they come to the pharmacy
by using the search facility provided in the pharmacy web site.
The system is developed using Laravel which is open-source PHP web framework and MySQL
database. Laravel supports the MVC architecture which is more efficient and attains perfect
design for the system. CSS, Bootstrap, Java Script are some other technologies used to develop
this system.
ii
Acknowledgement
First and foremost, I would like to express my sincere gratitude to my supervisor Dr. K.L.
Jayarathne for the continuous support he had gave me. His comments, encouragements,
patience, enthusiasm, knowledge and guidance helped me in all the time of this project and
writing of the thesis.
Besides my supervisor, I would like to thank the rest of my lecturers in the UCSC, who helped
me to improve my knowledge and professional qualifications throughout this MIT program. I
take this opportunity to respect them as well.
And also, the other staff members of the UCSC helped me in various ways. I am grateful for
their contribution and support.
I would like to express my gratitude to the staff of The Library, UOC, where I am currently
employed. There are various challenges when carrying out an individual project as an
employee. I thankfully remembered them for their patience and support in overcoming
numerous obstacles I have been facing through my Master programme.
In addition, I would like to thank my friends for helping me in various ways. When I had
problems in my implementation stage my friends always provided the guidelines to overcome
them. Without their guidance, the project could not have been successfully completed.
Finally, I must express my very profound gratitude to my mother and to my relations for
providing me with unfailing support and continuous encouragement throughout my years of
study and through the implementation of project and writing this thesis. This accomplishment
would not have been possible without them.
iii
Table of Contents
Declaration................................................................................................................................... i
Abstract .......................................................................................................................................ii
Acknowledgement .....................................................................................................................iii
List of Tables ............................................................................................................................vii
Table of Figures ......................................................................................................................... ix
Chapter 01: Introduction ............................................................................................................. 1
1.1 Project Background ...................................................................................................... 1
1.2 Problem definition ....................................................................................................... 1
1.3 Motivation .................................................................................................................... 2
1.4 Scope & Limitations .................................................................................................... 2
1.5 Objectives .................................................................................................................... 3
1.6 Structure of the Theses ................................................................................................ 3
Chapter 02: Background ............................................................................................................. 5
2.1 Introduction .................................................................................................................. 5
2.2 Current System ............................................................................................................ 5
2.3 Proposed System .......................................................................................................... 6
2.4 Analyses requirements ................................................................................................. 6
2.5 Similar Systems ........................................................................................................... 7
Chapter 03: Analysis and Design ............................................................................................. 11
3.1 Introduction ................................................................................................................ 11
3.2 Analysis of Existing System ...................................................................................... 11
3.3 Analysis of Proposed System .................................................................................... 12
3.4 Requirements Definition ............................................................................................ 12
3.4.1 Functional requirements ............................................................................................... 13
3.4.2 Non-Functional requirements ....................................................................................... 14
3.5 System Design ........................................................................................................... 15
3.6 System Modelling ...................................................................................................... 15
3.6.1 Data Flow Diagram ........................................................................................................ 16
3.6.2 Use Case Diagram.......................................................................................................... 17
3.6.3 Use Case Narratives....................................................................................................... 18
3.6.4 Activity Diagrams........................................................................................................... 20
iv
3.6.5 Entity Diagram ............................................................................................................... 22
Chapter 04: Implementation ..................................................................................................... 23
4.1 Introduction ................................................................................................................ 23
4.2 Implementation Challenges ....................................................................................... 23
4.3 Implementation methodology .................................................................................... 23
4.3.1 The waterfall method .................................................................................................... 24
4.4 Technology used ........................................................................................................ 24
4.4.1 PHP (version 7 or above) .............................................................................................. 24
4.4.2 Laravel Framework (5.5) ............................................................................................... 25
4.4.3 HTML ............................................................................................................................. 27
4.4.4 Java Script ...................................................................................................................... 27
4.4.5 CSS ................................................................................................................................. 28
4.4.6 MySQL ........................................................................................................................... 28
4.4.7 Bootstrap (version 4) ..................................................................................................... 29
4.5 Interface Design ......................................................................................................... 29
Chapter 05: Testing and Evaluation ......................................................................................... 31
5.1 Introduction ................................................................................................................ 31
5.2 Testing stages ............................................................................................................. 31
5.2.1 Unit testing .................................................................................................................... 31
5.2.2 Integration testing ......................................................................................................... 31
5.2.3 Sub-System and System Testing .................................................................................... 31
5.3 Test Plan .................................................................................................................... 32
5.3.1 Process of test plan ....................................................................................................... 32
5.4 Test Cases .................................................................................................................. 33
5.5 Evaluation .................................................................................................................. 33
5.6 Evaluation plan .......................................................................................................... 33
5.7 Evaluation Report ...................................................................................................... 34
Chapter 06: Conclusion ............................................................................................................ 45
6.1 Achievements ............................................................................................................. 45
6.2 Lessons Learnt ........................................................................................................... 45
6.3 Problems Encountered ............................................................................................... 45
6.4 Future Developments ................................................................................................. 46
References ................................................................................................................................ 47
Appendix A: System Documentation ....................................................................................... 48
v
Appendix B: Design Documentation........................................................................................ 54
Appendix C: User Documents .................................................................................................. 59
Appendix D: Report generation ................................................................................................ 67
Appendix E: Test Cases............................................................................................................ 70
Appendix F: Sample Codes ...................................................................................................... 85
Appendix G: User Evaluation .................................................................................................. 93
vi
List of Tables
vii
Table 31: Test case - Search02 ................................................................................................. 80
Table 32: Test case - UploadPrescription01 ............................................................................. 80
Table 33: Test case - UploadPrescription02 ............................................................................. 81
Table 34: Test case - Bill01 ...................................................................................................... 81
Table 35: Test case-Excel01 ..................................................................................................... 82
Table 36: Test case- Excel02 .................................................................................................... 82
Table 37: Test case- Excel03 .................................................................................................... 83
viii
Table of Figures
ix
Figure 31: Searching option ..................................................................................................... 43
Figure 32:Report generation of the system............................................................................... 43
Figure 33:Finding stock details ................................................................................................ 44
Figure 34:Affecting of the income ........................................................................................... 44
Figure 35: download XAMPP .................................................................................................. 48
Figure 36: XAMPP download complete .................................................................................. 49
Figure 37: Run XAMPP setup .................................................................................................. 49
Figure 38: XAMPP setup steps ................................................................................................ 50
Figure 39: XAMPP in task bar ................................................................................................. 51
Figure 40: Start services in XAMPP ........................................................................................ 51
Figure 41: Open MySQL Administrator .................................................................................. 51
Figure 42: phpMyAdmin open ................................................................................................. 52
Figure 43: Create new database ................................................................................................ 52
Figure 44: Import database ....................................................................................................... 53
Figure 45: Paste project folder in to htdocs .............................................................................. 53
Figure 46: Admin sidebar ......................................................................................................... 59
Figure 47: System dashboard ................................................................................................... 59
Figure 48: View user ................................................................................................................ 61
Figure 49: Edit user .................................................................................................................. 61
Figure 50: Permissions ............................................................................................................. 62
Figure 51: Category table ......................................................................................................... 62
Figure 52: Admin manage attendance ...................................................................................... 63
Figure 53: Law quantity drug table .......................................................................................... 63
Figure 54: Upload excel form ................................................................................................... 64
Figure 55: Bill........................................................................................................................... 64
Figure 56: Notification ............................................................................................................. 65
Figure 57:Cashier notifications ................................................................................................ 65
Figure 58: Cashier side navbar ................................................................................................. 65
Figure 59:Operator notification ................................................................................................ 66
Figure 60:Operator side navbar ................................................................................................ 66
Figure 61:Employee side navbar .............................................................................................. 66
Figure 62: Low quantity Drug .................................................................................................. 67
x
Figure 63: Low quantity drug pdf ............................................................................................ 67
Figure 64: Highest sold product ............................................................................................... 68
Figure 65:Highest sold product pdf .......................................................................................... 68
Figure 66: Daily income ........................................................................................................... 69
Figure 67: Daily purchase......................................................................................................... 69
Figure 68: Error message - Login2 .......................................................................................... 71
Figure 69:Upload excel success message ................................................................................. 82
Figure 70:Excel file not import error ........................................................................................ 83
Figure 71: Invalid file type ....................................................................................................... 84
xi
Chapter 01: Introduction
In addition, the pharmacist has to manage employees and their details such as their personal
information, employment details, and attendance manually.
In the aspect of customer, they need to physically be in pharmacy to purchase medicines and
finding the relevant medicine according to prescription is a time-consuming task.
1
1.3 Motivation
The automated pharmacy management system can be used for the sake of ensuring effective
and clear data saving and manipulating as well as neat work on the pharmacy medical products.
Highly minimize time and resource by which, searching the medicine data, can get the data in
quickest time. And almost the resources are wise used since most actions are done on the
pharmacy system. Some of the resources minimized include paper, manpower and related thing.
The other thing is for storing data's in secure way.
A summarized list of drugs dispensed to patient can be viewed for monitoring purposes. Also,
PMS will be able to generate report on the list of drugs dispensed in the polyclinic for the given
time period. And there is a message alert for the user if the stock holding quantity reaches a low
level. Thus, the pharmacist will need to replenish the drugs.
Because now a day’s Information and communication technology (ICT) plays a great role in
different fields or areas including the Health care systems. This leads to various studies and
researches being conducted to selected health care facilities. It is necessary to ensure a
technologically appropriate, equitable, affordable, efficient and environmentally adaptable and
consumer friendly system, designed to fully utilize the ICT for the maximum benefit in the
health care industry.
The system will not be able to handle drug to drug interaction, contraindication and
polypharmacy in a prescription; this implies that these services will be manually completed by
the pharmacist.
2
1.5 Objectives
Pharmacy management system is a user-friendly application which reduces the burden and
helps to manage all sections of pharmacy like medicine management and billing etc., which
improve the processing efficiency.
The aim of this project is to develop a user-friendly application for the effective management
of The Central Pharmacy which reduces the burden and helps to manage all sections of
pharmacy like medicine, store and billing etc. It will be able to achieve the following objectives:
• To display Relevant messages of stock which are ending soon, expiry dates.
• To ensure that there exists a level of restricted access based on functionality and role.
• Customer can search the availability of a particular product by viewing the website.
Chapter two consist of background, brief descriptions of current system and proposed system,
methods of gathering requirements, similar systems, tools and technologies that going to be
used for the proposed system.
3
Chapter three deals with the analysis of the existing system under which description of the
current system will be analyzed, problems of existing system, description of the proposed
system and the advantages of the proposed system, system design and model diagrams.
Chapter four consists of implementation details, methodology use to develop the project,
technology use, interface designs and some codes.
Chapter five describes about the importance of testing and test methods. Furthermore, it
includes the test plan and test cases which are going to be tested. The results of the test cases
may also include here.
Chapter six of this thesis has the information about project evaluation part. It mentions the
importance of the evaluation for a project.
Chapter seven consists of conclusion of the project. It describes project achievements within
the given time period, problems encounter when doing the project individually within short
period of time and future enhancements for increase the quality of the project
4
Chapter 02: Background
2.1 Introduction
Due to the size and quality service of the pharmacy, the pharmacy has a large customer base.
These customers tend to visit the pharmacy for services mostly when they close from work. At
this period, the number of customers that patronize the pharmacy is on the increase, thereby
making the workload of the pharmacists much more tedious. This case makes it difficult for the
pharmacist to attend to customers in a short period. Meanwhile the pharmacist has to ensure
satisfaction in services to keep their customers. The factors mentioned above, results in delay
of the services being rendered to the customers, thereby slowing down sales and risk losing
valuable customers in the long run.
This implies that these services are manually completed by the pharmacist. This usually leads
to mistakes as the workload of the pharmacist increases. It is hard to do with large number of
employees.
5
2.3 Proposed System
The proposed project named “Pharmacy Management System”, is a client/server based
application.
An interactive application for managing stock, billing, manage employees, generate reports etc.
It helps in maintaining the records of medicine, the users and store details and also reduce the
work of searching the records of the medicine. The main aim of this application is applying
technology to reduce the human effort.
The project has been developed based on “Stock managing” and its “billing process” being
presently used in the medical stores for storing and retrieving the available information in the
store.
The user must get his username and password from the admin by providing the name, address,
phone no, id proof. And can get the access to the application. Without the username and
password, he cannot get access to the application.
Admin has almost all the permission to work with. The stock manager has permissions that less
than the admin. Cashier has the permission of handling of billing. Every user has permission of
mark their attendance and edit their profile data.
Anybody including the customer can search the availability of particular product through the
system. It is good for the customers who don’t want to waste their valuable time in queues for
non-stock items. Customer can upload a prescription to the system after creating a customer-
user account. Pharmacy users need to check the relevant details of the prescription and update
the state. Customer can see it by logging to their account.
The reports can be generated through the system. After generated relevant report it can be
download as a PDF or an Excel document.
6
• Studying the current manual system in detail and the organizational style.
• Knowing and understanding the input and output processes of the existing system.
• Held meetings with the manager of the Central Pharmacy to know the equipment
needed, and the mode of operation of the old system.
• Make discussions with the current employees in the pharmacy and collect their opinions
abut the existing system they are working.
• And also discuss with the people who are living in this area about their problems when
going to buy something from the pharmacy.
• Collecting and analyzing existing materials on the project topic, written by different
experts.
• HHIMS.org
HHIMS [1] is a Free and Open Source Hospital Health Information Management System
designed for use in Sri Lanka government hospitals by ICTA (Information and
Communication Technology Agency of Sri Lanka). It includes a patient record system, a
7
pharmacy management system and a laboratory information system. This system is
designed to replace paper records.
There are many functionalities for this system in addition to pharmacy management such
as patient management, clinic management, consultation, laboratory information
management. This may not suitable for the Central Pharmacy Management System because
it contains more additional functionalities like above. PMS for Central pharmacy has been
developed for focusing on pharmacy functions management. But also, it has similarities
such as drug maintenance, reports, notifications and logs.
• ScriptPro
ScriptPro [2] is a technology company founded in 1994. Corporate headquarters are in the
Kansas City area. ScriptPro's SP Central Pharmacy Management System allows a
pharmacy to process, track, and dispense all prescriptions with the highest level of security,
accuracy, and efficiency. Followings are some key features of it:
• Barcode driven workflow tools to manage high volumes of dispensing and promote
safety at every step of the dispensing process
• Industry-leading drug database including visual drug verifications to minimize
dispensing errors
8
• Inventory management controls to efficiently manage pharmacy inventory and
minimize out-of-stock items
• Pharmacy reporting engine for monitoring financial and key performance indicators
ScriptPro pharmacy management system has some same functionalities with implemented PMS
such as stock maintenance, out of stock management, report generating. And it has more
additional functions rather than ScriptPro system such as upload prescriptions, search product
availability on web, employee management.
It is an online pharmacy management system. The system will pre-load all physicians and
drugs databases. It consists of many functionalities like mobile delivery, advanced search,
notification system, add/edit prescriber from database, windows-based software, online
billing, inventory control/re-order, various reports.
It has so many features to manage pharmacy operation. So, it is not suitable for medium
size pharmacy. The implemented software has more additional functionalities such as
prescription uploading facility for the customers, search product availability in stores,
employee attendance management facility. Online billing facility is not including the
implemented system but in the DigitalRX [3] system.
9
• State Pharmaceuticals Corporation (SPC)
SPC [4] has the facility to search product details such as price, supplier and description for
the customers via their website. Implemented PMS also has this feature including quantity
available detail too. It’s an extra advantage in the PMS for customers to check the
availability of a product before coming to the pharmacy. PMS can search product by its
name or a product id, SPC system can search product only by name. Various reports can
be generated in both systems.
10
Chapter 03: Analysis and Design
3.1 Introduction
System is a collection of an interrelated components that works together to achieve a purpose.
System analysis is referred to the systematic examination or detailed study of a system in order
to identify problems of the system, and using the information gathered in the analysis stage to
recommend improvements or solution to the system. System design is an abstract representation
of a system component and their relationship and which describe the aggregated functionality
and performance of the system. System design is also the overall plan or blueprint for how to
obtain answer to the question being asked. The design specifies which of the various type of
approach.
Followings are some of the problems associated with the existing system;
• Significant amount of time is allocated for writing the order as the pharmacist needs
to go through the stock balance and make rough estimate for the amount to order
based on Figures.
11
3.3 Analysis of Proposed System
existing system works using the facts gathered at the preliminary investigation that leads to
focusing on the possibility of replacing the existing system or improving upon the existing
system. This task involves information gathering.
12
3.4.1 Functional requirements
Generate reports:
The PMS (Pharmacy Management System), stores the detail information about each product
including the medicine. Since the information for each drug were required in some cases like
the use of drugs, when use drugs and for whom is given.
User can import data to the database by using an excel or csv file. It is an additional advantage
for the users, because it helps to insert large number of records at once to a table. Then time
and effort of the user may save.
Searching facility:
This facility is provided for all including the customers. The PMS has easily searching of
product, the behavior of the medicine, quantity remain etc. The searching process is based on
the name of the given data or the “id” of the item.
Billing facility:
In this system, automated billing facility is provided. It can calculate total price automatically
when entering the quantity of the product and “id”. It’s very accurate rather than manual
calculations.
Upload prescription:
The customer can upload a prescription after register with the system. He can view his
prescription status by logging to his profile. It will help to reduce waiting times in queues.
13
3.4.2 Non-Functional requirements
Portability:
Portability specifies the ease with which the software can be installed on all necessary
platforms, and the platforms on which it is expected to run.
Reliability:
Reliability specifies the capability of the software to maintain its performance over time.
Unreliable software fails frequently, and certain tasks are more sensitive to failure (for example,
because they cannot be restarted, or because they must be run at a certain time).
Availability:
A system's availability, or "uptime," is the amount of time that it is operational and available
for use. This is specified because some systems are designed with expected downtime for
activities like database upgrades and backups.
Robustness:
A robust system is able to handle error conditions gracefully, without failure. This includes a
tolerance of invalid data, software defects, and unexpected operating conditions.
Scalability:
Software that is scalable has the ability to handle a wide variety of system configuration sizes.
The nonfunctional requirements should specify the ways in which the system may be expected
to scale up (by increasing hardware capacity, adding machines, etc.).
Usability:
Ease-of-use requirements address the factors that constitute the capacity of the software to be
understood, learned, and used by its intended users.
Efficiency:
Specifies how well the software utilizes scarce resources: CPU cycles, disk space, memory,
bandwidth, etc.
14
3.5 System Design
System design is the process of defining the architecture, components, modules, interfaces, and
data for a system to satisfy specified requirements through system modeling. One could see it
as the application of systems theory to produce development. The design of the system should
be user friendly. It is designed in such a way that employees will be able to navigate easily
through the information supplied on the system. In other words, system design consists of
design activities that produce system specifications satisfying the functional requirements that
were developed in the system analysis process. System design specifies how the system will
accomplish. System design is the structural implementation of the system analysis.
15
3.6.1 Data Flow Diagram
16
3.6.2 Use Case Diagram
17
3.6.3 Use Case Narratives
Followings are the use case narratives for use cases in the system. (Appendix B)
Table 1: Use case narrative for Manage Users
18
3. Then go to Product
4. System will display product detail table
5. Select the relevant action (create, edit, delete product)
6. System will show the relevant form.
7. Fill the required fields
8. Click submit button
9. If success action, system will not show error message
Alternatives 8 a) If the form submits with empty field it is shown error
message
Post-Conditions Information will be saved to the database
19
3.6.4 Activity Diagrams
20
Activity diagram of Data operator
21
3.6.5 Entity Diagram
22
Chapter 04: Implementation
4.1 Introduction
This chapter focuses on the implementation part of the Pharmacy management system. The act
of transforming the detailed design which mentioned in the design chapter, into a valid program
in some programming language, together with all its supporting activities is referred to as
implementation. The ultimate goal of most software projects is to produce a working program.
There are some challenges faced by the developers while implementing the software.
Code-reuse: Programming interfaces of present-day languages are very sophisticated and are
equipped huge library functions. Still, to bring the cost down of end product, the organization
management prefers to re-use the code, which was created earlier for some other software.
There are huge issues faced by programmers for compatibility checks and deciding how much
code to re-use.
Version Management: Every time a new software is issued to the customer, developers have
to maintain version and configuration related documentation. This documentation needs to be
highly accurate and available on time.
Target-Host: The software program, which is being developed in the organization, needs to be
designed for host machines at the customers end. But at times, it is impossible to design a
software that works on the target machines.
23
4.3.1 The waterfall method
The diagram above is a system development life cycle that illustrates how the design of the
project is broken down into five different phases, which are Project Planning, Requirement
Gathering, Project Implementation and Interface Design, Implementation and System Testing,
Maintenance and System Upgrading. The proposed Pharmacy Management System for The
Central Pharmacy starts with project planning by determining the users of the system, aims and
objectives of the project. After these, extensive research has done to determine how to design
an effective system, as well as to review the current system. Then, the design is with an initial
prototype of the system, and then refined it based on their suggestions. Phases of analysis,
design and implementation are performed iteratively until users and designers agreed on a final
system specification. At this point, the project could move to the final implementation phase.
PHP is a powerful server – side scripting language designed for creating dynamic and
interactive websites. It is perfectly suited for web development and can be embedded directly
into the HTML code. It can be deployed on most web servers and on almost every operating
system and platform free of charge.
24
Server support
Database support
PHP supports many databases like MySQL, Oracle, Solid, PostgreSQL, etc. Most popular used
is MySQL.
MVC represents Model, View, Controller. This methodology typically splits the architecture of
the website into 3 distinct parts which are kept operationally separate but interact with each
other to deliver all aspects of the website and the administration system. The main aim of the
MVC architecture is to separate the business logic and application data from the presentation
data to the user. Adhering to MVC architecture benefits you in attaining a perfect design for an
enterprise web application.
25
The Model
The model is responsible for managing the data of the application. It responds to the request
from the view and it also responds to instructions from the controller to update itself.
The View
The Controller
The controller is responsible for responding to the user input and perform interactions on the
data model objects. The controller receives the input, it validates the input and then performs
the business operation that modifies the state of the data model.
Database Access
Database migrations enable you to easily design and modify a database in a platform-
independent way. The migrations can then be run against any of the database types that Laravel
supports (MySQL, PostgreSQL, MSSQL, and SQLite). Laravel’s Active Record
implementation is called Eloquent. Interacting with a database in an object-oriented way is the
modern standard. With Eloquent, we can create, retrieve, update, and delete the database
records without needing to write a single line of SQL. In addition to this, Eloquent provides
powerful relationship management and it can even handle pagination automatically.
Laravel also ships with a command-line interface tool called Artisan. With Artisan, a developer
can interact with their application to trigger actions such as running database migrations,
executing unit tests, and schedule a job. Another beauty of Artisan is that, it is completely
extensible so that can add a new command to perform any type of functionality that we’d like.
Routing
Laravel allows to organize all website URLs through routers. If we want to change the link of
some website or API, we need to change it at one file and the website should work as expected.
26
View Template Engine
The Blade templating engine cleans up views by providing aesthetically pleasing replacements
for inline PHP and by including powerful new features.
Job Scheduling
Introduced in Laravel 5.0, is an addition to the Artisan that allows programmatic scheduling of
periodically executed tasks. Internally, Scheduler relies on the cron daemon to run a single
Artisan job that, in turn, executes the configured tasks.
File System
There is a file system abstraction layer that allows local file systems and cloud-based storage
services provided by Amazon S3 and Rackspace Cloud to be used transparently and in the same
way.
4.4.3 HTML
Hypertext Markup Language (HTML) is the standard markup language for creating web pages
and web applications.
HTML consists of a series of short codes typed into a text-file by the site author — these are
the tags. The text is then saved as a html file, and viewed through a browser, like Internet
Explorer or Netscape Navigator. This browser reads the file and translates the text into a visible
form, hopefully rendering the page as the author had intended. Writing your own HTML entails
using tags correctly to create your vision. You can use anything from a rudimentary text-editor
to a powerful graphical editor to create HTML pages.
The purpose of web browser is to read HTML documents and compose them into visible or
audible web pages. The browser does not display the HTML tags, but uses the tags to interpret
the content of the page.
27
4.4.5 CSS
“Cascading Style Sheets, fondly referred to as CSS, is a simple design language intended to
simplify the process of making web pages presentable.
CSS handles the look and feel part of a web page. Using CSS, you can control the color of the
text, the style of fonts, the spacing between paragraphs, how columns are sized and laid out,
what background images or colors are used, layout designs, variations in display for different
devices and screen sizes as well as a variety of other effects.”
4.4.6 MySQL
“MySQL is a freely available open source Relational Database Management System (RDBMS)
that uses Structured Query Language (SQL). SQL is the most popular language for adding,
accessing and managing content in a database. It is most noted for its quick processing, proven
reliability, ease and flexibility of use.”
• MySQL is released under an open-source license. So, you have nothing to pay to
use it.
• MySQL is a very powerful program in its own right. It handles a large subset of the
functionality of the most expensive and powerful database packages.
• MySQL uses a standard form of the well-known SQL data language.
• MySQL works on many operating systems and with many languages including
PHP, PERL, C, C++, JAVA, etc.
• MySQL works very quickly and works well even with large data sets.
• MySQL is very friendly to PHP, the most appreciated language for web
development.
• MySQL supports large databases, up to 50 million rows or more in a table. The
default file size limit for a table is 4GB, but you can increase this (if your operating
system can handle it) to a theoretical limit of 8 million terabytes (TB).
• MySQL is customizable. The open-source GPL license allows programmers to
modify the MySQL software to fit their own specific environments.
28
4.4.7 Bootstrap (version 4)
“Bootstrap is an open source toolkit for developing with HTML, CSS, and JS. Quickly
prototype your ideas or build your entire app with our Sass variables and mixins, responsive
grid system, extensive prebuilt components, and powerful plugins built on jQuery.”
Customer can search products in the pharmacy by using the given search bar in
“Home/ Product”
• Administrator
• Cashier
• Data entry operator
• Other employee
Admin can handle user permissions. System accessibility is changed according to their user
role. They are given different user names and passwords to log in to the system.
(See Appendix C)
30
Chapter 05: Testing and Evaluation
5.1 Introduction
Software testing is a process that ensures the quality of the product to its stakeholders with
information about the quality of the product or service under test.
• To demonstrate to the developer and the customer that the software meets its
requirements.
31
5.3 Test Plan
The software test plan is designed to prescribe the scope, approach, resources and schedule of
testing activities. The plan identifies items to be tested, features to be tested, the types of testing
to be performed and schedule required to complete testing.
• Note down the test data, test cases used during the testing process.
Login02 True
Login03 True
Login04 True
2. Add Category details Category01 True
Category02 True
Subcategory02 True
Employee02 True
5. Add Order details Order01 True
Order02
32
6. Notification Notification01 True
Search02 True
9. Upload Prescription UploadPrescription01 True
UploadPrescription02 True
10. Bill Bill01 True
Excel02 True
Excel03 True
Excel04
5.5 Evaluation
33
the pharmacy staff members. The system was demonstrated to the system users and their
feedback was gathered using the following questionnaire. This questionnaire is focused on few
key areas, concept, performance, functionality, interfaces and usefulness of the system.
Analysis of Q1 to Q4.
Result - It’s very clearly shown that the customers do not have good intention of manually
handled system.
5
count
0
Q1 Q2 Q3 Q4
Question number
34
Idea about computerized pharmcy system
7
4
Count
0
Q05 Q06
Question Number
Strongly disagree Disagree Neither agree nor disagree Agree Strongly agree
Analysis of Q07
Result - Computer knowledge of the system users is positive.
Table 5: Results of Q07
Count
Never 0
Seldom 1
2 to 4 times a month 2
Weekly 5
Daily 2
Total 10
35
How Often Do The Pharmacy Employees Use The
Computer?
10%
20%
20%
50%
20 - 30 31 - 40 41 - 50 51 - 60 Total
Never 0
Seldom 1 1
2 to 4 times a month 1 1 2
Weekly 3 2 5
Daily 1 1 2
Total 3 4 2 1 10
36
Computer ability of employees according to age
20 - 30 31 - 40 41 - 50 51 - 60
4
3
No of employees
0
Never Seldom 2 to 4 times a month Weekly Daily
Computer usage
Count
Never 0
Seldom 1
2 to 4 times a month 0
Weekly 4
Daily 5
37
Ability To Use Internet
0%
10%
0%
50%
40%
Result – Most of them have good typing ability. No one is bad for use key board.
Ability To Usekeyboard
0%
10%
30%
60%
38
Hardware knowledge of employees.
Hardware Knowledge
0%
10%
40%
50%
5
count
0
Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20
Questions
Strongly disagree Disagree Neither agree nor disagree Agree Strongly agree
39
User friendliness of whole system
Result – The system is user friendly according to the results.
Disagree
Strongly disagree 0% Average
0% 0%
Strongly agree
30%
Agree
70%
Q12.It is easy to work with computerized system rather than manual system
Result – Most of are agree with the easiness of the computerized system and few of them have
average idea of it.
Strongly disagree Disagree
0% 0%
Average
9%
Strongly agree
27%
Agree
64%
40
Q13. Can work with the system without any others help
Result – Working with the system is easy for most of them without any help. 20% of them need
some guide or help.
Strongly disagree Disagree
0% 0%
Average
Strongly agree 20%
20%
Agree
60%
Strongly Average
agree 10%
10%
Agree
80%
41
Q15. System provided relevant error messages when needed
Result – Showing error messages when needed is good in the system.
Strongly agree Strongly disagree Disagree
0% 0% 0%
Average
20%
Agree
80%
Strongly agree
20%
Agree
80%
42
Q17. Can quickly search products
Average
10%
Strongly agree
20%
Agree
70%
Agree
40%
Strongly agree
60%
43
Q19. Easy to find stock details quickly
Strongly agree
Average
20%
30%
Agree
50%
44
Chapter 06: Conclusion
6.1 Achievements
Today management is one of the most essential features of all form. Management provides
sophistication to perform any kind of task in a particular form. This is pharmacy management
system; it is used to manage most pharmacy related activities in the pharmacy. The primary aim
of is to improve accuracy and enhance safety and efficiency in the pharmaceutical store. In this
system the pharmacist can manage stock details accurately and efficient manner without using
papers. And also administrator will get notifications about expiry dates about medicine and out
of stock details for a particular drug. System will automatically generate the bill for particular
transaction. Every employee work in the pharmacy can mark their attendance by logging to the
system. Customers can check the availability of a medicine or item before coming to the
pharmaceutical store. User friendly interfaces are uses in this system, so the staff of the
pharmacy can easily work with them.
How to deal with people, how to write reports are some other things that learnt.
As I said earlier, every and each simple thing regarding the framework had to learn. Within the
given time period it was difficult to do.
It is difficult to maintain continuous communication with the client. Because we both are
busy with our careers and sometimes he had migrated when I tried to contact him.
45
6.4 Future Developments
The pharmacy industry is unfavorably affected by a wide range of problems such as serious
social conflicts on miss-use of drugs, quality issues and government initiatives on drugs.
Quality issues have a prominent effect on pharmaceutical trade.
Suggestions for further development also include the expansion of the functionalities and
techniques in order to address competitiveness of the current system.
46
References
47
Appendix A: System Documentation
The system documentation includes the necessary hardware and software requirements to run
the system accurately. It provides step by step guidance to how to install the system properly.
Follow the steps according to the given order in the following images.
2
Figure 35: download XAMPP
1: Go to https://www.apachefriends.org/download.html site.
3: Downloading XAMPP
48
3
4
49
7
6
8 9
10
6: Select components
7: Select location to install and go next. (Better to keep its default position in C:/)
10: Finished. Installation completed. Now you can start the XAMPP server.
50
Step2: Import the Database
11
Figure 39: XAMPP in task bar
12
13 14
51
15
16
52
17
53
Appendix B: Design Documentation
54
Pre-Conditions Login as administrator or Operator
Successful 1. Login to the system
Completion 2. Go to Product Management in side navigation
3. Then go to Subcategories
4. System will display subcategory detail table
5. Select the relevant action (create, edit, delete
subcategory)
6. System will show the relevant form.
7. Fill the required fields
8. Click submit button
9. If success action, system will not show error message
Alternatives 8 a) If the form submits with empty field it is shown error
message
55
Table 11: Use case narrative for Mark Attendance
56
Table 13:Use case narrative for Upload Prescription
Table 14:Use case narrative for Search products via the web site
57
3. Enter product name in the given search bar
4. Click the search button
Alternatives 4 a) If the given name is not in the database system will
display none.
Post-Conditions System will display the relevant product details if available
58
Appendix C: User Documents
User Interfaces
Administer View
59
Crete, Edit, View and delete functions can be done.
As an example, “User” details interface is given.
60
Figure 48: View user
61
Admin can give difference permissions to difference users. Following table displays the
types of permissions.
Can upload data from an excel or csv data sheet to the table.
And also the table data can download as excel or csv format.
62
Admin can view the attendance of every employee in the table.
63
Excel or csv upload interface.
64
Law quantity drugs and expire date near items are shown here as notification. Only admin
can see.
Cashier View
65
Data entry operator view
Other employees except admin, cashier, data entry operator can only mark and see their
attendance.
66
Appendix D: Report generation
67
Highest sold product
68
Daily income
Daily purchase
69
Appendix E: Test Cases
Login
70
Table 16: Test case - Login 02
71
adminwasana@
gmail.com
72
Add Category details
73
error message
‘Required field’
74
Table 22: Test case - Subcategory02
75
Test Case ID: Employee02
Test Title: Employee02– Add new employee without filling the form correctly
Test Priority (Low/Medium/High): High
Purpose: To verify adding new employee without filling the form correctly
76
2 Fill the form Fill the form with
correctly correct data
Notification
77
Purpose: To verify of displaying the notification successfully
Customer Search
78
2 Type valid ‘Product0001’ System should display
input in search search results with the
bar provided price
Search as user
79
2 Search with Product 001 Should display data True
valid input with price, quantity,
and other relevant
information
Upload Prescription
1 Go to ‘Upload
prescription’
on home page
80
2 Upload valid Fill form correctly Upload with out an True
document error
1 Go to ‘Upload
prescription’
on home page
Create Bill
1 Create a bill Use some items to Correct bill with sub True
check the bill total
(Qty*UnitPrice)
81
Upload Excel sheet
Test Case ID: Excel01
Test Title: Excel01– Upload excel correctly
Test Priority (Low/Medium/High): High
Purpose: To verify upload data correctly to the table
1 Go to ‘Upload
Excel’ page
82
1 Go to ‘Upload
Excel’ page
2 Submit without Submit without any System should show error True
uploading a file file uploading message
1 Go to ‘Upload
Excel’ page
83
Figure 71: Invalid file type
84
Appendix F: Sample Codes
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=pms
DB_USERNAME=root
DB_PASSWORD=
85
}
@extends('layouts.app')
@section('sidebar')
@include('admin.sidebar')
@endsection
@section('content')
<div class="container">
<div class="row">
<div class="col-md-11">
<div class="panel panel-default">
<div class="panel-heading"><h3><b><i class="fa fa-fa fa-tag"></i>
Category</b></h3></div>
<div class="panel-body">
<form method="get" action="{{ url('admin/uploadexcel') }}">
<input type="hidden" name="tbname" value="category">
<a href="{{ url('/admin/category/create') }}" class="btn btn-success btn-
xs" title="Add New Category">
<i class="fa fa-plus" aria-hidden="true"></i> Add New
</a>
<button type="submit" class="btn btn-primary btn-xs" >
<i class="fa fa-upload" aria-hidden="true"></i> Upload Excel
</button>
<a href="{{
url('admin/downloadexcel',['type'=>'xlsx','tbname'=>'category']) }}" class="btn btn-info btn-
xs" >
<i class="fa fa-download" aria-hidden="true"></i> Download Excel
</a>
86
<a href="{{
url('admin/downloadexcel',['type'=>'csv','tbname'=>'category']) }}" class="btn btn-warning
btn-xs" >
<i class="fa fa-download" aria-hidden="true"></i> Download csv
</a>
</form>
<form method="GET" action="{{ url('/admin/category') }}" accept-
charset="UTF-8" class="navbar-form navbar-right" role="search">
<div class="input-group">
<input type="text" class="form-control" name="search"
placeholder="Search..." value="{{ request('search') }}">
<span class="input-group-btn">
<button class="btn btn-default" type="submit">
<i class="fa fa-search"></i>
</button>
</span>
</div>
</form>
<br/>
<br/>
<div class="table-responsive">
<table class="table table-borderless">
<thead>
<tr>
<th>#</th><th>Category Id</th><th>Category
Name</th><th>Actions</th>
</tr>
</thead>
<tbody>
@foreach($category as $item)
<tr>
<td>{{ $item->id }}</td>
87
<td>{{ $item->category_id }}</td><td>{{ $item->category_name
}}</td>
<td>
<a href="{{ url('/admin/category/' . $item->id) }}" title="View
Category"><button class="btn btn-info btn-xs"><i class="fa fa-eye" aria-
hidden="true"></i> View</button></a>
<a href="{{ url('/admin/category/' . $item->id . '/edit') }}"
title="Edit Category"><button class="btn btn-primary btn-xs"><i class="fa fa-pencil-
square-o" aria-hidden="true"></i> Edit</button></a>
88
Call Edit category (in controller)
<div class="container">
<div class="row">
<div class="col-md-11">
<div class="panel panel-default">
<div class="panel-heading"><h3><b><i class="fa fa-fa fa-tag"></i> Edit
Category (# {{ $category->category_id }})</b></h3></div>
<div class="panel-body">
<a href="{{ url('/admin/category') }}" title="Back"><button class="btn btn-
warning btn-xs"><i class="fa fa-arrow-left" aria-hidden="true"></i> Back</button></a>
<br />
<br />
@if ($errors->any())
<ul class="alert alert-danger">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif
<form method="POST" action="{{ url('/admin/category/' . $category->id)
}}" accept-charset="UTF-8" class="form-horizontal" enctype="multipart/form-data">
{{ method_field('PATCH') }}
{{ csrf_field() }}
89
@include ('admin.category.form', ['submitButtonText' => 'Update'])
</form>
</div>
</div>
</div>
</div>
</div>
90
<div class="container">
<div class="row">
<div class="col-md-11">
<div class="panel panel-default">
<div class="panel-heading"><h3><b><i class="fa fa-fa fa-tag"></i> Create
New Category</b></h3></div>
<div class="panel-body">
<a href="{{ url('/admin/category') }}" title="Back"><button class="btn btn-
warning btn-xs"><i class="fa fa-arrow-left" aria-hidden="true"></i> Back</button></a>
<br />
<br />
@if ($errors->any())
<ul class="alert alert-danger">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif
<form method="POST" action="{{ url('/admin/category') }}" accept-
charset="UTF-8" class="form-horizontal" enctype="multipart/form-data">
{{ csrf_field() }}
@include ('admin.category.form')
</form>
</div>
</div>
</div>
</div>
</div>
91
public function store(Request $request)
{
$requestData = $request->all();
$id = $requestData['category_id'];
$query = "select * from categories where category_id='$id'";
$valdiate = DB::select($query);
if(sizeof($valdiate) > 0){
$request->session()->flash('alert-danger', 'duplicate category id!');
return view('admin.category.create');
die();
}
$model = Category::create($requestData);
return redirect('admin/category')->with('flash_message', 'Category added!');
}
92
Appendix G: User Evaluation
Questionnaire
Female Married
02. what do you think about following factors regarding the pharmacy which has a manually
handled system? (customer point of view)
93
03. Indicate whether you agree with the following statements.
04. Answer the following questions: (to know employee’s computer ability)
a. Never used
b. Seldom
c. Use 2 to 4 times a month
d. Use weekly
e. Use Daily
94
Q09. How is your keyboard typing ability?
a. Very bad
b. Bad
c. Average
d. Good
e. Very good
a. Very bad
b. Bad
c. Average
d. Good
e. Very good
95
Q13 Can work with the system
without any others help
Evaluation Results
96
(a) (b) (c) (d) (e)
Q01 6 3 1
Q02 7 3
Q03 5 5
Q04 7 2 1
Q05 4 6
Q06 5 5
Q07 1 2 5 2
Q08 1 4 5
Q09 1 3 6
Q10 1 5 4
Q11 7 3
Q12 1 6 3
Q13 2 6 2
Q14 1 8 1
Q15 2 8
Q16 8 2
Q17 1 7 2
Q18 4 6
Q19 5 5
Q20 3 5 2
97