Medimanage 3
Medimanage 3
Hinduja Trust’s
K.P.B. Hinduja College of Commerce
(Autonomous)
NAAC Re-Accredited A+ (3rd Cycle )
College with Potential for Excellence by UGC
CERTIFICATE
This is to certify that Miss. Tisha Bipin Jain of T. Y. B. Sc. [IT] Roll No. 19
CERTIFICATE
This is to certify that Miss. Dubey Shivam Vipin Mira of T. Y. B. Sc. [IT]
Roll No. 56 , University Exam seat No 2020289 2023-24 has completed his/her
A Project Report
Submitted in Partial fulfilment of the Requirements for the award of the Degree of
CERTIFICATE
This is to certify that the entitled, “MEDIMANAGE”, is bonafied work of TISHA BIPIN
JAIN & SHIVAM VIPIN DUBEY, bearing Roll No: 19 & 56 submitted in partial
fulfilment of the requirements for the award of degree of BACHELOR OF SCIENCE in
INFORMATION TECHNOLOGY from University of Mumbai.
External Examiner
It gives us a great pleasure to present this project on MEDIMANAGE and would like to
take this opportunity to present my gratitude to Dr. (MS.) Minu B. Madlani.
I would also like to thank Prof. Ansari Nasir our internal guide, for providing all the
necessary system facilities and privileges than enabled us to complete the project on time.
I sincerely express our gratitude to Prof. Ansari Nasir our internal guide. I am heartily
thankful to them for their unfailing inspiration and encouragement during the course of our
project. The innate knack of unfolding new ideas from us and applying the same to practical
work has been of great help.
During the progress of this report, I received all possible help from my colleagues, friends
and I most sincerely acknowledge the same. Also, would like to thank Shahid Pervez Sir
and Arun Maurya sir for providing their guidance time-to-time. Last but not the least, I owe
great debt to my friends for offering their invaluable guidance and help in the hour of need,
for improving my project with positive criticism.
DECLARATION
I hereby, declare that the project entitled, “MEDIMANAGE” done at K.P.B. HINDUJA
COLLEGE OF COMMERCE, has not been in any case duplicated to submit to any other
university for the award of any degree. To the best of my knowledge other than me, no one
has submitted to any other university.
The project is done in partial fulfilment of the requirements for the award of degree of
BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY) to be submitted as
final semester project as part of our curriculum.
Table of Contents
Introduction ........................................................................................................................................................ 10
1.1 Background ................................................................................................................................................ 10
1.2 Objectives ................................................................................................................................................... 10
1.3 Purpose, Scope and Applicability .............................................................................................................. 10
1.4 Achievements .............................................................................................................................................. 11
Web Application
A web application is an application that is hosted and delivered over the Internet and the Worldwide-
web. The advantage of such an application is that it can be accessed from anywhere and is an
anytime application- i.e., it is always available, regardless of the location of the user or other factors.
A web application can be used to efficiently deliver functionality to the end user without burdening
their systems. Processing can be done on the server to prevent data and memory leaks. There are
many frameworks, languages, tools and paths to create a web application. MediManage uses Java,
JavaScript, CSS, HTML for the frontend and MySQL for the backend along with NetBeans
framework.
1.2 Objectives
Some of the basic objectives are as follows:
To manage all sections of pharmacy like medicines, stocks, sales, etc. which
improve the processing efficiency.
To make the pharmacy organizations computerized through minimizing or
eliminating wasting of time as well as removing the resources such as papers for
data-saving.
To give correct information on each medicines.
Purpose
This project is basically updating the manual chemist Inventory System to
Automated Inventory System. So that, organization can manage their record in
efficient and organized form.
Based on the same, they can draw conclusions and have efficient decision-making
process for their shop.
Also, the purpose of building this application is to reduce the manual work for
managing sales, purchase, medicine details, stocks, etc.
Scope
As this is generic software, it can be used by a wide variety of outlets (Retailers and
Wholesalers) to automate the process of manually maintaining the records related to
the subject of maintaining the stock and cash flows.
This software helps you to track all the products of medical shop, moreover, this
flexible and adaptive software is suitable for medical shops or stores or pharmacies
of any size.
The scope of this project is that the owner should have basic knowledge about
medical field as well as technical knowledge related to computers.
Applicability
As the owner sign-in, the dashboard appears. There are multiple options available,
such as Add/Update Product, Product Report, Add Customer, Customer Report,
Sales Report, etc.
Similarly, on clicking supplier report, medicine report, customer report, etc. it opens
respective window for checking the inventory for supplier details, medicine stock,
customer details, etc. respectively.
1.4 Achievements
We aim to make the daily work of medical owner easy by automating them rather
than manually keeping records and tracking them. It’s a very tedious job to do all
the operations manually. It also increases the paperwork and space occupancy, thus
creating inconvenience for the owners. Thus, we have built this application to make
chemist’s work easy.
2. SURVEY OF TECHNOLOGIES
2.1 JUSTIFICATION OF SELECTION OF TECHNOLOGY
Front End
The part of a website that the user interacts with directly is termed the front end. It is also
referred to as the ‘client side of the application. It includes everything that users
experience directly: text colours and styles, images, graphs and tables, buttons, colours,
and a navigation menu. HTML, CSS, and JavaScript are the languages used for Front End
development. Responsiveness and performance are the two main objectives of the Front
End. The developer must ensure that the site is responsive i.e. it appears correctly on
devices of all sizes no part of the website should behave abnormally irrespective of the
size of the screen.
There are many type of frontend languages such as: HTML, CSS, JAVASCRIPT, PHP,
REACJS, SWIFT, SCALA, etc.
HTML
This is one of the fundamental building blocks of the web. HTML, or “Hypertext Markup
Language,” has been around in some form since roughly 1993, when it was created by physicist
Tim Berners-Lee. It’s now in its fifth generation, HTML5. HTML isn’t a programming
language, rather it’s a “Markup language.” It uses a syntax of tags to change the way text is
displayed, for instance. It can also define where images go on a page. What’s great is that
HTML is relatively simple to learn. It provides a great place to start for people who don’t have
experience with programming languages to learn the basics of coding.
Hyper Text: Hypertext simply means "Text within Text." A text has a link within it, is a
hypertext. Whenever you click on a link which brings you to a new webpage, you have
clicked on a hypertext. Hypertext is a way to link two or more web pages (HTML
documents) with each other.
Markup language: A markup language is a computer language that is used to apply layout
and formatting conventions to a text document. Markup language makes text more
interactive and dynamic. It can turn text into images, tables, links, etc.
Web Page: A web page is a document which is commonly written in HTML and translated by
a web browser. A web page can be identified by entering an URL. A Web page can be of the
static or dynamic type. With the help of HTML only, we can create static web pages.
CSS
BACKEND
JAVA
Java is a widely used object-oriented programming language and software platform that runs
on billions of devices, including notebook computers, mobile devices, gaming consoles,
medical devices and many others. The rules and syntax of Java are based on the C and C++
languages.
One major advantage of developing software with Java is its portability. Once you have written
code for a Java program on a notebook computer, it is very easy to move the code to a mobile
device. When the language was invented in 1991 by James Gosling of Sun Microsystems (later
acquired by Oracle), the primary goal was to be able to "write once, run anywhere."
1) Simple
Java is easy to learn and its syntax is quite simple, clean and easy to understand. The confusing
and ambiguous concepts of C++ are either left out in Java or they have been re-implemented
in a cleaner way.
2) Object Oriented
In java, everything is an object which has some data and behaviour. Java can be easily extended
as it is based on Object Model. Following are some basic concept of OOP’s:
class
object
inheritance
polymorphism
abstraction
encapsulation
3) Robust
Java makes an effort to eliminate error prone codes by emphasizing mainly on compile time
error checking and runtime checking. But the main areas which Java improved were Memory
Management and mishandled Exceptions by introducing automatic Garbage
Collector and Exception Handling.
4) Platform Independent
Unlike other programming languages such as C, C++ etc. which are compiled into platform
specific machines. Java is guaranteed to be write-once, run-anywhere language.
On compilation Java program is compiled into bytecode. This bytecode is platform independent
and can be run on any machine, plus this bytecode format also provide security. Any machine
with Java Runtime Environment can run Java Programs.
5) Secure
When it comes to security, Java is always the first choice. With java secure features it enables
us to develop virus free, temper free system. Java program always runs in Java runtime
environment with almost null interaction with system OS, hence it is more secure.
MySQL
MySQL is a relational database management system (RDBMS) based on the SQL (Structured
Query Language) queries. It is one of the most popular languages for accessing and managing
the records in the table. MySQL is open-source and free software under the GNU license.
Oracle Company supports it.
Easy to use
MySQL is easy to use. We have to get only the basic knowledge of SQL. We can build and
interact with MySQL by using only a few simple SQL statements.
It is secure
MySQL consists of a solid data security layer that protects sensitive data from intruders. Also,
passwords are encrypted in MySQL.
It is scalable
MySQL supports multi-threading that makes it easily scalable. It can handle almost any amount
of data, up to as much as 50 million rows or more. The default file size limit is about 4 GB.
However, we can increase this number to a theoretical limit of 8 TB of data.
Speed
MySQL is considered one of the very fast database languages, backed by a large number of the
benchmark test.
High Flexibility
MySQL supports a large number of embedded applications, which makes MySQL very
flexible.
MySQL is compatible to run on many operating systems, like Novell NetWare, Windows*
Linux*, many varieties of UNIX* (such as Sun* Solaris*, AIX, and DEC* UNIX), OS/2,
FreeBSD*, and others. MySQL also provides a facility that the clients can run on the same
computer as the server or on another computer (communication via a local network or the
Internet).
Allows roll-back
Memory efficiency
Its efficiency is high because it has a very low memory leakage problem.
High Performance
MySQL is faster, more reliable, and cheaper because of its unique storage engine architecture.
It provides very high-performance results in comparison to other databases without losing an
essential functionality of the software. It has fast loading utilities because of the different cache
memory.
High Productivity
MySQL uses Triggers, Stored procedures, and views that allow the developer to give higher
productivity.
Platform Independent
It can download, install, and execute on most of the available operating systems.
Partitioning
This feature improves the performance and provides fast management of the large database.
MySQL version 8.0 provides support for dual passwords: one is the current password, and
another is a secondary password, which allows us to transition to the new password.
Tools:
StarUML
StarUML is an open-source software modeling tool that supports the UML (Unified
Modeling Language) framework for system and software modeling. It is based on UML
version 1.4, provides eleven different types of diagrams and it accepts UML 2.0 notation.
It actively supports the MDA (Model Driven Architecture) approach by supporting the
UML profile concept and allowing to generate code for multiple languages.
Word
Microsoft Word is a widely used commercial word processor designed by Microsoft.
Microsoft Word is a component of the Microsoft Office suite of productivity software but
can also be purchased as a stand-alone product.
Microsoft Word was initially launched in 1983 and has since been revised numerous times.
It is available for both Windows and Apple operating systems.
Microsoft Word is often called simply Word or MS Word.
Microsoft Word lets you create professional-quality documents, reports, letters, and
resumes. Unlike a plain text editor, Microsoft Word has features including spell check,
grammar check, text and font formatting, HTML support, image support, advanced page
layout, and more.
3. REQUIREMENTS AND ANALYSIS
3.1 Problem Definition
The old manual system was suffering from a series of drawbacks. Since whole of the system
was to be maintained with hands, the process of keeping, maintaining and retrieving the
information was very tedious and lengthy.
The records were never used to be in a systematic order, there used to be lots of difficulties in
associating any particular transaction with a particular context. If any information was to be
found it was required to navigate through a lot of bills, reports and other records, because in
manual system there is nothing like report generation.
There would always be unnecessary time consumption in maintaining the bills, keeping the
records and searching for them and fetching them. One more problem was that it is very
difficult to find errors while entering the records. Also, once the records are entered, it is very
difficult to update them.
The reason behind it is that there is a lot of information to be maintained and have to be kept
in mind while running these business. For the very same reason we have developed these
management system, to make the system partially automated(computerized), actually existing
system is quite laborious as one has to enter same information at three different places.
Description Type
Memory 2 GB RAM
Database MySQL
Record Review
Records and reports are the collection of information and data accumulated over the time
by the users about the system and its operations. This can also put light on the
requirements of the system and the modifications it has undergone. Records and reports
may have a limitation if they are not up-to-date or if some essential links are missing. All
the changes, which the system suffers, may not be recorded.
The analyst may scrutinize the records either at the beginning of his study which may give
him a fair introduction about the system and will make him familiar with it or in the end
which will provide the analyst with a comparison between what exactly is/was desired
from the system and its current working.
One drawback of using this method for gathering information is that practically the
functioning of the systems is generally different from the procedure shown in records. So,
analyst should be careful in gathering in gathering information using this method.
Interview
An interview is the most used technique to collect information from the face-to-face
interviews. The purpose of the interview is to find, verify, clarify facts, motivate end-users
involved, identify requirements, and gather ideas and opinions. The role of the interview
includes the interviewer who is a system analyst and the interviewee who is a system
owner or user. The interviewing technique needs good communication skills for
interaction between system analysts and users. There are two types of interviews.
▪ Unstructured interviews
An interview that is conducted with only a general goal or subject in mind and
with few, if any, specific questions. The open-ended questions type is used in an
unstructured interview that allows the user to answer freely in an appropriate way.
▪ Structured interviews
A structured interview is an interview that contains a predefined set of questions.
In a structured interview, close-ended questions type is used to limit answers to
specific choices, short and direct responses from the interviewees.
Questionnaires
Questionnaires are also one of the useful fact-finding techniques to collect information from many
users. Users fill up the questions which are given by the system analyst and then give the answers
back to the system analyst. Questionnaires can save time because the system analyst does not need
to interview each of the users and if the time of the interview is short, questionnaires are more
useful. To fulfil the requirements of the system objective, a system analyst should have the ability
to clearly define the design and frame of questionnaires. There are two types of questionnaires:
Free-format questionnaires
In free format questionnaires, users are allowed to answer questions freely without an immediate
response. The results are also useful in learning about the feelings, opinions, and experiences of
the respondents.
Fixed-format questionnaires
The purpose of fixed-format questionnaires is to gather information from the predefined
format of questions. Users are allowed to choose the result from the given answers. There
are three types of fixed-format questions: multiple-choice questions (Yes or No type),
rating questions (Strongly Agree, Agree, No opinion, Disagree, Strongly disagree),
ranking questions.
Technical Feasibility
Technical feasibility is used to find out whether the necessary technology, the proposed
requirement has the capacity to hold the data, which is used in the project. It is a study
of function, performance and constraints that may affect the ability to achieve an
acceptance system.
The technical Feasibility issues usually raised during the feasibility stage of
investigation includes these:
The software which is running on Windows 7/8/10 operating system can be easily
installed.
The hardware required is Pentium based server.
Operational Feasibility
This feasibility test asks if the system will work when it is developed is
installed.Operational feasibility in this project are:
The proposed system offers greater level of user-friendly lines.
The proposed system produces best results and gives high performance.
It can be implemented easily. So the project is operational feasible.
Economical Feasibility
Economical feasibility deals about the economical impact faced by the organization to
implement a new system. Financial benefits must be equal or exceed the cost of the
existing system. The cost for implementing the proposed system, including hardware
and the software cost should be evaluated.
Economical feasibility in this project are:
There is no additional man power requirement.
There is no additional cost involved maintaining the proposed system.
4. SYSTEM DESIGN
4.1 Basic Modules (Module division)
Dashboard
o Provides different operations to perform
Customer Module
o Add/update customer
o Maintain customer reports
Product Module
o Add/update product
o Maintain product reports
Company Module
o Add/update company
o Maintain company report
Order Module
o Add/update sales cart
o Maintain order reports
A database schema is the skeleton structure that represents the logical view of the entire
database. It defines how the data is organized and how the relations among them are
associated. It formulates all the constraints that are to be applied on the data.
A database schema defines its entities and the relationship among them. It contains a
descriptive detail of the database, which can be depicted by means of schema diagrams. It’s
the database designers who design the schema to help programmers understand the database
and make it useful.
4.3 Gantt Chart
A Gantt chart, commonly used in project management, is one of the most popular and
useful ways of showing activities (tasks or events) displayed against time. On the left of the
chart is a list of the activities and along the top is a suitable time scale. Each activity is
represented by a bar; the position and length of the bar reflects the start date, duration and end
date of the activity. Originally Gantt charts were prepared laboriously by hand; each time a
project
changed it was necessary to amend or redraw the chart and this limited their usefulness,
continual change being a feature of most projects. Nowadays, however, with the advent of
computers and project management software, Gantt charts can be created, updated,
and printed easily.
4.4 Use Case Diagram
A UML use case diagram is the primary form of system/software requirements for a new
software program underdeveloped. Use cases specify the expected behaviour (what), and
not the exact method of making it happen (how). Use cases once specified can be denoted
both textual and visual representation (i.e., use case diagram). A key concept of use case
modelling is that it helps us design a system from the end user's perspective. It is an effective
technique for communicating system behaviour in the user's terms by specifying all
externally visible system behaviour.
Notation Description Actor
• Someone interacts with use case (system function).
• Named by noun.
• Actor plays a role in the business
• Similar to the concept of user, but a user can play different roles Use Case
• System function (process - automated or manual)
• Named by verb + Noun (or Noun Phrase).
• i.e., Do something
• Each Actor must be linked to a use case, while some use cases may not be
linked to actors.
Communication Link
• The participation of an actor in a use case is shown by connecting an actor to a use
case by a solid link.
• Actors may be connected to use cases by associations, indicating that the actor and
the use case communicate with one another using messages.
Boundary of system
• The system boundary is potentially the entire system as defined in the requirements
document.
• For large and complex systems, each module may be the system boundary.
• For example, for an ERP system for an organization, each of the modules such as
personnel, payroll, accounting, etc.
4.4 Activity Diagram
Activity diagram is another important diagram in UML to describe the dynamic aspects of
the system.
Activity diagram is basically a flowchart to represent the flow from one activity to another
activity. The activity can be described as an operation of the system. The control flow is
drawn from one operation to another. This flow can be sequential, branched, or concurrent.
Activity diagrams deal with all type of flow control by using different elements such as
fork, join, etc.
Notation Description Activity
Is used to represent a set of actions
Action
A task to be performed
Control Flow
Shows the sequence of execution
Object Flow
Show the flow of an object from one activity (or action) to another activity (or action).
Initial Node
Portrays the beginning of a set of actions or activities
Decision Node
Represent a test condition to ensure that the control flow or object flow only goes down one
path
Merge Node
Bring back together different decision paths that were created using a decision-node.
External actors
Messages (methods) invoked by these actors
Return values (if any) associated with previous messages
Indication of any loops or iteration area
4.6 STATE-CHART DIAGRAM
The name of the diagram itself clarifies the purpose of the diagram and other details. It
describes different states of a component in a system. The states are specific to a
component/object of a system.
Activity diagram explained in the next chapter, is a special kind of a State-chart diagram.
As State-chart diagram defines the states, it is used to model the lifetime of an object.
4.7 COLLABORATION DIAGRAM
A collaboration diagram, also known as a communication diagram, is an illustration of the
relationships and interactions among software objects in the Unified Modeling Language
(UML). Developers can use these diagrams to portray the dynamic behaviour of a
particular use case and define the role of each object.
To create a collaboration diagram, first identify the structural elements required to carry out
the functionality of an interaction. Then build a model using the relationships between those
elements. Several vendors offer software for creating and editing collaboration diagrams.
1. Objects. These are shown as rectangles with naming labels inside. The naming label
follows the convention of object name: class name. If an object has a property or state
that specifically influences the collaboration, this should also be noted.
2. Actors. These are instances that invoke the interaction in the diagram. Each actor has a
name and a role, with one actor initiating the entire use case.
3. Links. These connect objects with actors and are depicted using a solid line between two
elements. Each link is an instance where messages can be sent.
4. Messages between objects. These are shown as a labelled arrow placed near a link.
These messages are communications between objects that convey information about the
activity and can include the sequence number. The most important objects are placed in
the centre of the diagram, with all other participating objects branching off. After all
objects are placed, links and messages should be added in between.
4.8 OBJECT DIAGRAM
Object diagrams are derived from class diagrams so object diagrams are dependent upon
class diagrams. Object diagrams represent an instance of a class diagram. The basic concepts
are similar for class diagrams and object diagrams. Object diagrams also represent the static
view of a system but this static view is a snapshot of the system at a particular moment.
Object diagrams are used to render a set of objects and their relationships as an instance.
The difference is that a class diagram represents an abstract model consisting of classes and
their relationships. However, an object diagram represents an instance at a particular moment,
which is concrete in nature.
It means the object diagram is closer to the actual system behaviour. The purpose is to
capture the static view of a system at a particular moment.
Deployment diagrams are used to describe the static deployment view of a system.
Deployment diagrams consist of nodes and their relationships.
The term Deployment itself describes the purpose of the diagram. Deployment diagrams are
used for describing the hardware components, where software components are deployed.
Component diagrams and deployment diagrams are closely related.
Component diagrams are used to describe the components and deployment diagrams shows
how they are deployed in hardware.
UML is mainly designed to focus on the software artefacts of a system. However, these two
diagrams are special diagrams used to focus on software and hardware components.
Most of the UML diagrams are used to handle logical components but deployment diagrams
are made to focus on the hardware topology of a system. Deployment diagrams are used by
the system engineers.