Project Report Medical

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 64

Contents

Sr. No. Chapter Page Number


1. Brief Review Of The Project
1.1 Title
1.2 Introductory / Objectives
1.3 Preliminary Investigation
1.4 Flaws In Present System
1.5 Need Of New System
2. Detailed System Design
2.1 System Flow Chart
2.2 Structure Diagram Of Each Module
2.3 Details Of Logic Developed
2.4 Data Dictionary
3. Software/ Hardware Details
3.1 Choice Of A Language Used
3.2 Hardware/ Software Specification
4. System Design

4.1 Program Listing


4.1 Input SCREENS
4.1 Output Screens / Reports
5. User Documentation

5.1 Implementation, Program Execution & Maintenance

6. Conclusion

6.1 Limitations Of The System


6.2 Scope And Future Modification
7. References / Bibliography

1.BRIEF REVIEW OF THE PROJECT:

1.1 Title
1.2 Introductory/Objective
1.3 Preliminary investigation
1.4 Flaws in present system
1.5 Need of new system
Introduction/Objectives:

This project medical store management system mainly


focus on the different medical related item sales/return system,
which is highly user friendly easy to use, where in user can
easily sales the item.
Objective of project:

The main objective of the java project on medical shop


management system is to manage the details of inventory, sells,
stocks, medical shop, company. It manages all the information
about inventory, medicines, company. The project totally built at
administrative end and thus only the administrator is guaranteed
the application program to reduce the manual work for
managing the inventory, sells, medicines, stocks. It tracks all the
details about the stocks, medical shop, company.

Features:
 It tracks all the information of the sells, medicines, medical
shop etc.
 Manage the information of the sell.
 Deals with monitoring the information of medical shop.
 Integration of all records of company.

Preliminary Investigation:

Preliminary investigation basically refers to the collection of


information that guides the management of an organisation to
evaluate the merits and demerits of the project request and make
the informed judgement about the feasibility of the proposed
system. The sort of investigation provide us with a through
picture of the find of software and hardware requirements which
are most feasible for the system, plus the environment in which
the entire project has to be install and made operational.

Interviewing
The information is collected from system leader by
interviewing to them a took suggesting from end user as per
their requirements.
1. Visiting
For classification, visited to Rajat medical store.
2. Questionnaires
By asking possible questions to the system leader at the
time of interview some questionnaires to collect the required
information.
Flaws in Present System
The existing medical store system is manual system. The
main drawback of the existing system is time consumption.
There are number of records and hence a larger number of
registers have to be kept to the store.
This document required more storing space,more
manpower and job become tedious.
In existing system following points are observed:
 Chances of errors and data processing time
 Timely due to manual process, required more time to
complete user requirement
 It will increase updating is complicated.
 Security of data were not maintain.

Need of The New System

The existing of medical store system is manually which


require more paper work so it needs to computerized the system
to get following benefits:

 Computer enhances easy and simple means of storing


information. The space occupied for data storing is reduced
 Computer helps in fast retrival of information. We can
search information in a short of time.
 Maintenance of data is very easy and workload is reduced.
 It’s a paperless system
 We can generated report on demand
 It will give faster modification
2.DETAILED SYSTEM DESIGN

2.1 system flow chart


2.2 data dictionary
System flow chart

Medical store sytem data flow diagram is often as a


preliminary step to create an overview of the medical shop
without going into great detail, which can later be elaborated. It
normally consists of overall application dataflow and processes
of the medical shop process.it contains all of the userflow and
their nentities such all the userflow and their
company,shop,customer,stock,sales.all of the below diagram has
been used for the visualisation of the data processing and
structured design of the medical shop process and working fl
COMAPANY
MANAGEMENT
MEDICINE
MANAGEMENT SELL
MANAGEMENT

MEDICAL SHOP
MANAGEMENT
SYETEM

SYSTEM USER
CUSTOMER
MANAGEMENT
MANAGEMENT

LOGIN
MANAGEMENT
RECORD THE
COMPANY
DEATAILS

RECORD THE
Zero level data flow diagram
SELLS DETAILS
MEDICAL SHOP
LOGIN MANAGEMENT
MANAGEMENT SYSTEM REOCORD THE
LOGIN DETAILS

MEDICINES
MANAGEMENT RECORD THE
COMPANY MEDICINES
MANAGEMENT DETAILS
SELLS
MANAGEMENT
USER RECORD THE USER
MANAGEMENT DETAILS
DATA DICTIONARY:

A data dictionary is a central storehouse of information about


the system data. An analyst user data dictionary to
collect ,documents and organized specific fact about the system,
including the content of dataflow, data stores, entities and
process.

FIRST LEVEL DATA FLOW DIAGRAM


COMPANY AND PRODUCT DETAILS TABLE:
PRODUCT CATEGORY AND SALES RECORD
TABLE:

USERS_DETAIL_TABLE:
3.SOFTWARE/HARDWARE

3.1Choice of language used


3.2Hardware/software specification
Choice Of Language Used

We are used java language in our project.

WHY JAVA USED?

We are using java language for developing an application for


medical shop management system.java is a general
purpose,object oriented programming language developed by
sun microsystem of USA in 1991. Originally called OAK by
james goshling,one of the inventors of the language.java was
designed for the development of software for consumer
electronics device like TVs,VSRs,toaster and such other
electronic machines.the most strinking feature of the language is
that it is a platform independent language. Java is a first
programming language that is not tied to any particular
hardware or operating system.programs developed in java can
be executed anywhere or any system.
JAVA FEATURES:

The inventors of java wanted to design a language which could


offer solutions to some of problems encountered in modern
programming. They wanted the language to be not only reliable,
portable and distributed but also simple compact and interactive.
sun microsystems officially describes java with following
features:-

 Compiled and interpreted


 Platform-independent and portable
 Object oriented
 Robust and secure
 Distributed
 Familiar ,simple and small
HARDWARE/SOFTWARE SPECIFICATION

 Hardware specification

Processor-Intel core i5
RAM-8GB

 Software specification

Windows 10
Netbean java (JDK 1.6)
My SQL
4.SYSTEM DESIGN

4.1 Program listing


4.2 Input screens
PROGRAM LISTING:

1)Code for login page

package Files;

import java.awt.HeadlessException;
import java.awt.Toolkit;
import java.awt.event.WindowEvent;
import java.sql.*;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.UIManager;

public class Login extends javax.swing.JFrame {

Connection conn = null;


PreparedStatement pst = null;
ResultSet rs = null;

public Login() {
initComponents();
conn = ConnectionToDatabase.connectToDb();
this.setExtendedState(this.getExtendedState() |
JFrame.MAXIMIZED_BOTH);

}
public void close(){
WindowEvent we = new
WindowEvent(this,WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postE
vent(we);
}
private void initComponents() {

jLabel1 = new javax.swing.JLabel();


jPanel1 = new javax.swing.JPanel();
userTxt = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
passTxt = new javax.swing.JPasswordField();
jLabel3 = new javax.swing.JLabel();
loginBtn = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.
DISPOSE_ON_CLOSE);
setTitle("Medical Store Management System");
setResizable(false);

jLabel1.setFont(new java.awt.Font("Calibri", 0, 18)); //


NOI18N
jLabel1.setText("Medical Store Management System");

jPanel1.setBorder(javax.swing.BorderFactory.createTitled
Border(null, "Sign In here",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Calibri", 0, 14), new java.awt.Color(102, 0,
0))); // NOI18N
jPanel1.setFont(new java.awt.Font("Calibri", 0, 14)); //
NOI18N

userTxt.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N

jLabel2.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
jLabel2.setText("Username");

passTxt.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N

jLabel3.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
jLabel3.setText("Password");
loginBtn.setFont(new java.awt.Font("Calibri", 0, 14)); //
NOI18N
loginBtn.setText("Login");
loginBtn.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
loginBtnActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(38, 38, 38)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(jLabel3))
.addGap(33, 33, 33)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.LEADING)
.addComponent(loginBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 148,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createParallelGroup(java
x.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(userTxt)
.addComponent(passTxt,
javax.swing.GroupLayout.PREFERRED_SIZE, 213,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(48, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAIL
ING, jPanel1Layout.createSequentialGroup()
.addContainerGap(51, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(userTxt,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(passTxt,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(loginBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(29, 29, 29))
);

jLabel4.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Forms/caduce
us-alone.png"))); // NOI18N

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAIL
ING, layout.createSequentialGroup()
.addContainerGap(560, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.Gr
oupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(70, 70, 70)
.addComponent(jLabel4)
.addGap(48, 48, 48))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.Gr
oupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(48, 48, 48)
.addComponent(jLabel4))
.addGroup(layout.createSequentialGroup()
.addGap(152, 152, 152)
.addComponent(jLabel1)
.addGap(65, 65, 65)
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(218, Short.MAX_VALUE))
);

pack();
setLocationRelativeTo(null);
}// </editor-fold>

private void
loginBtnActionPerformed(java.awt.event.ActionEvent evt) {
try {
conn = ConnectionToDatabase.connectToDb();
String sql = "SELECT username,password FROM users
WHERE username=? AND password=?";
pst = conn.prepareStatement(sql);
pst.setString(1, userTxt.getText());
pst.setString(2, passTxt.getText());
rs = pst.executeQuery();
if (rs.next()) {
conn.close();
JOptionPane.showMessageDialog(null, "Welcome " +
userTxt.getText());

MainPanel mp = new MainPanel();


mp.loggedInAsLbl.setText(userTxt.getText());
close();
mp.setVisible(true);
} else {
conn.close();
JOptionPane.showMessageDialog(null, "Please check
your username and password and try again!");
}
} catch (HeadlessException | SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}

Try
{
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
UIManager.setLookAndFeel("com.jtattoo.plaf.alumini
um.AluminiumLookAndFeel");
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Login.class.getName
()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Login.class.getName
()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Login.class.getName
()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(Login.class.getName
()).log(java.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(() -> {
new Login().setVisible(true);
});
}

private javax.swing.JLabel jLabel1;


private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JButton loginBtn;
private javax.swing.JPasswordField passTxt;
private javax.swing.JTextField userTxt;
// End of variables declaration }

2)code for main form

package Files;

import ChangePassword.ChangePassword;
import Companies.CompaniesPanel;
import Createuser.CreateUser;
import Forms.Medicines.MedicinesPanel;
import NewSalesRecord.NewSalesRecord;
import ProductCategory.AddCategory;
import SalesRecord.SalesRecord;
import java.awt.Toolkit;
import java.awt.event.WindowEvent;
import java.sql.*;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import net.proteanit.sql.DbUtils;
public class MainPanel extends javax.swing.JFrame {
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
public MainPanel() {
initComponents();
conn = ConnectionToDatabase.connectToDb();
this.setExtendedState(this.getExtendedState() |
JFrame.MAXIMIZED_BOTH);
updateTable();
}
public void close(){
WindowEvent we = new
WindowEvent(this,WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postE
vent(we);
}

private void updateTable(){

try{
String sql = "SELECT product_name as 'Product
Name',company_name as 'Company Name',product_category as
'Product Category',quantity as 'Quantity',price_per_unit as 'Price
Per Unit' FROM products";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();

medicineTable.setModel(DbUtils.resultSetToTableMode
l(rs));
}catch(SQLException e){
JOptionPane.showMessageDialog(null, e.getMessage());
}
}

private void initComponents()


{

searchTxt = new javax.swing.JTextField();


jLabel2 = new javax.swing.JLabel();
loggedInAsLbl = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
medicineTable = new javax.swing.JTable();
medicineBtn = new javax.swing.JButton();
companiesBtn = new javax.swing.JButton();
viewSalesRecordsBtn = new javax.swing.JButton();
newSalesBtn = new javax.swing.JButton();
changePasswordBtn = new javax.swing.JButton();
logOutBtn = new javax.swing.JButton();
createUserBtn = new javax.swing.JButton();
addNewProductCategoryBtn = new javax.swing.JButton();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.
DISPOSE_ON_CLOSE);
setResizable(false);

searchTxt.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
searchTxt.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
searchTxtActionPerformed(evt);
}
});
searchTxt.addKeyListener(new
java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
searchTxtKeyReleased(evt);
}
});

jLabel2.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
jLabel2.setText("You're are logged in as :");

loggedInAsLbl.setFont(new java.awt.Font("Calibri", 0,
14)); // NOI18N
loggedInAsLbl.setForeground(new java.awt.Color(153, 0,
0));
loggedInAsLbl.setText("You're are logged in as :");

medicineTable.setModel(new
javax.swing.table.DefaultTableModel(
new Object [][] {
{},
{},
{},
{}
},
new String [] {

}
));
medicineTable.setColumnSelectionAllowed(true);
medicineTable.getTableHeader().setReorderingAllowed(fal
se);
jScrollPane1.setViewportView(medicineTable);
medicineTable.getColumnModel().getSelectionModel().set
SelectionMode(javax.swing.ListSelectionModel.SINGLE_SEL
ECTION);

medicineBtn.setFont(new java.awt.Font("Calibri", 0,
14)); // NOI18N
medicineBtn.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Forms/Drug-
basket-icon.png"))); // NOI18N
medicineBtn.setText("Medicines");
medicineBtn.setIconTextGap(20);
medicineBtn.setRolloverSelectedIcon(new
javax.swing.ImageIcon(getClass().getResource("/Forms/Drug-
basket-icon.png"))); // NOI18N
medicineBtn.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
medicineBtnActionPerformed(evt);
}
});

companiesBtn.setFont(new java.awt.Font("Calibri", 0, 14));


// NOI18N
companiesBtn.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Forms/compan
ies-icon.png"))); // NOI18N
companiesBtn.setText("Companies");
companiesBtn.setIconTextGap(20);
companiesBtn.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
companiesBtnActionPerformed(evt);
}
});

viewSalesRecordsBtn.setFont(new java.awt.Font("Calibri",
0, 14)); // NOI18N
viewSalesRecordsBtn.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Forms/sales-
report-icon.png"))); // NOI18N
viewSalesRecordsBtn.setText("View Sale Records");
viewSalesRecordsBtn.setIconTextGap(20);
viewSalesRecordsBtn.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
viewSalesRecordsBtnActionPerformed(evt);
}
});

newSalesBtn.setFont(new java.awt.Font("Calibri", 0,
14)); // NOI18N
newSalesBtn.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Forms/shop-
cart-add-icon.png"))); // NOI18N
newSalesBtn.setText("New Sales");
newSalesBtn.setIconTextGap(20);
newSalesBtn.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
newSalesBtnActionPerformed(evt);
}
});

changePasswordBtn.setFont(new java.awt.Font("Calibri",
0, 14)); // NOI18N
changePasswordBtn.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Forms/Apps-
system-software-update-icon.png"))); // NOI18N
changePasswordBtn.setText("Change Password");
changePasswordBtn.setIconTextGap(20);
changePasswordBtn.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
changePasswordBtnActionPerformed(evt);
}
});

logOutBtn.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
logOutBtn.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Forms/Apps-
session-logout-icon.png"))); // NOI18N
logOutBtn.setText("Log Out");
logOutBtn.setIconTextGap(20);
logOutBtn.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
logOutBtnActionPerformed(evt);
}
});

createUserBtn.setFont(new java.awt.Font("Calibri", 0, 14));


// NOI18N
createUserBtn.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Forms/Actions
-list-add-user-icon.png"))); // NOI18N
createUserBtn.setText("Create User");
createUserBtn.setIconTextGap(20);
createUserBtn.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
createUserBtnActionPerformed(evt);
}
});

addNewProductCategoryBtn.setFont(new
java.awt.Font("Calibri", 0, 14)); // NOI18N
addNewProductCategoryBtn.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Forms/categor
y-item-icon.png"))); // NOI18N
addNewProductCategoryBtn.setText("Add New Product
Category");
addNewProductCategoryBtn.setIconTextGap(20);
addNewProductCategoryBtn.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
addNewProductCategoryBtnActionPerformed(evt);
}
});

jLabel3.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
jLabel3.setText("Search Product");
jLabel4.setFont(new java.awt.Font("Calibri", 0, 14)); //
NOI18N
jLabel4.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Forms/149684
0183_si-duo-test-tube.png"))); // NOI18N

jLabel5.setFont(new java.awt.Font("Calibri", 0, 24)); //


NOI18N
jLabel5.setForeground(new java.awt.Color(0, 204, 51));
jLabel5.setText("Medical Store Management System");

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAU
LT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.Gr
oupLayout.Alignment.LEADING)
.addComponent(newSalesBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 241,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(logOutBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 241,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(changePasswordBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 241,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(createUserBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 241,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(medicineBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 241,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(companiesBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 241,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(viewSalesRecordsBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 241,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(addNewProductCategoryBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 241,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(79, 79, 79)
.addGroup(layout.createParallelGroup(javax.swing.Gr
oupLayout.Alignment.LEADING, false)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 991,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel3)
.addGap(18, 18, 18)
.addComponent(searchTxt,
javax.swing.GroupLayout.PREFERRED_SIZE, 314,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.Com
ponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.Com
ponentPlacement.UNRELATED)
.addComponent(loggedInAsLbl)
.addGap(23, 23, 23)))
.addGap(159, 159, 159))
.addGroup(layout.createSequentialGroup()
.addGap(64, 64, 64)
.addComponent(jLabel4)
.addGap(49, 49, 49)
.addComponent(jLabel5)
.addContainerGap(javax.swing.GroupLayout.DEFAU
LT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.Gr
oupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(jLabel4))
.addGroup(layout.createSequentialGroup()
.addGap(73, 73, 73)
.addComponent(jLabel5)))
.addPreferredGap(javax.swing.LayoutStyle.Componen
tPlacement.RELATED, 69, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.Gr
oupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(loggedInAsLbl)
.addComponent(searchTxt,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3))
.addGap(31, 31, 31)
.addGroup(layout.createParallelGroup(javax.swing.Gr
oupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.T
RAILING, layout.createSequentialGroup()
.addComponent(medicineBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(companiesBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(viewSalesRecordsBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(newSalesBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(addNewProductCategoryBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(changePasswordBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addComponent(createUserBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(logOutBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 33,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jScrollPane1,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(60, 60, 60))
);

loggedInAsLbl.getAccessibleContext().setAccessibleDescri
ption("");

pack();
setLocationRelativeTo(null);
}// </editor-fold>

private void
medicineBtnActionPerformed(java.awt.event.ActionEvent evt) {
MedicinesPanel mp = new MedicinesPanel();
close();
mp.setVisible(true);
}

private void
companiesBtnActionPerformed(java.awt.event.ActionEvent evt)
{
CompaniesPanel cp = new CompaniesPanel();
close();
cp.setVisible(true);
}

private void
viewSalesRecordsBtnActionPerformed(java.awt.event.ActionEv
ent evt) {
SalesRecord sr = new SalesRecord();
close();
sr.setVisible(true);
}

private void
newSalesBtnActionPerformed(java.awt.event.ActionEvent evt)
{
NewSalesRecord nsr = new NewSalesRecord();
close();
nsr.setVisible(true);
}

private void
changePasswordBtnActionPerformed(java.awt.event.ActionEve
nt evt) {
ChangePassword cp = new ChangePassword();
close();
cp.setVisible(true);
}

private void
logOutBtnActionPerformed(java.awt.event.ActionEvent evt) {
Login l = new Login();
close();
l.setVisible(true);
}

private void
createUserBtnActionPerformed(java.awt.event.ActionEvent evt)
{
CreateUser cu = new CreateUser();
close();
cu.setVisible(true);
}

private void
addNewProductCategoryBtnActionPerformed(java.awt.event.A
ctionEvent evt) {
AddCategory ac = new AddCategory();
ac.setVisible(true);
}

private void searchTxtKeyReleased(java.awt.event.KeyEvent


evt) {
try{
String sql = "SELECT product_name as 'Product
Name',company_name as 'Company Name',product_category as
'Product Category',quantity as 'Quantity',price_per_unit as 'Price
Per Unit' FROM products WHERE product_name LIKE '%"+
searchTxt.getText() +"%'";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
medicineTable.setModel(DbUtils.resultSetToTableMode
l(rs));
}catch(SQLException e){
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void
searchTxtActionPerformed(java.awt.event.ActionEvent evt) {
code her// TODO add your handling e:
}

public static void main(String args[]) {


try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels())
{

UIManager.setLookAndFeel("com.jtattoo.plaf.aluminium.Alu
miniumLookAndFeel");
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(MainPanel.class.get
Name()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(MainPanel.class.get
Name()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(MainPanel.class.get
Name()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(MainPanel.class.get
Name()).log(java.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(() -> {
new MainPanel().setVisible(true);
});
}

private javax.swing.JButton addNewProductCategoryBtn;


private javax.swing.JButton changePasswordBtn;
private javax.swing.JButton companiesBtn;
private javax.swing.JButton createUserBtn;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JButton logOutBtn;
public javax.swing.JLabel loggedInAsLbl;
private javax.swing.JButton medicineBtn;
private javax.swing.JTable medicineTable;
private javax.swing.JButton newSalesBtn;
private javax.swing.JTextField searchTxt;
private javax.swing.JButton viewSalesRecordsBtn;
// End of variables declaration
}

3)code for user registration:


package Files;

import javax.swing.UIManager;
import java.sql.*;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class UserRegistration extends javax.swing.JFrame {
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;

public UserRegistration() {
initComponents();
conn = ConnectionToDatabase.connectToDb();
this.setExtendedState(this.getExtendedState() |
JFrame.MAXIMIZED_BOTH);
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {

jLabel1 = new javax.swing.JLabel();


jPanel1 = new javax.swing.JPanel();
jLabel7 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
addressTxt = new javax.swing.JTextField();
userTypeCombo = new javax.swing.JComboBox();
emailTxt = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
userTxt = new javax.swing.JTextField();
fullnameTxt = new javax.swing.JTextField();
contactNoTxt = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
passTxt = new javax.swing.JPasswordField();
jLabel6 = new javax.swing.JLabel();
registerBtn = new javax.swing.JButton();
cancelBtn = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.
DISPOSE_ON_CLOSE);
setBounds(new java.awt.Rectangle(0, 0, 1352, 679));
setResizable(false);

jLabel1.setFont(new java.awt.Font("Calibri", 0, 18)); //


NOI18N
jLabel1.setText("Medical Store Management System");

jPanel1.setBorder(javax.swing.BorderFactory.createTitled
Border(null, "User Registration",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Calibri", 0, 16), new java.awt.Color(102, 0,
0))); // NOI18N
jLabel7.setFont(new java.awt.Font("Calibri", 0, 14)); //
NOI18N
jLabel7.setText("User Type");

jLabel5.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
jLabel5.setText("Address");

addressTxt.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N

userTypeCombo.setFont(new java.awt.Font("Calibri", 0,
14)); // NOI18N
userTypeCombo.setModel(new
javax.swing.DefaultComboBoxModel(new String[] { "User",
"Admin" }));

emailTxt.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N

jLabel8.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
jLabel8.setText("Password");

jLabel4.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
jLabel4.setText("Contact No");
jLabel3.setFont(new java.awt.Font("Calibri", 0, 14)); //
NOI18N
jLabel3.setText("Email");

userTxt.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
userTxt.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
userTxtActionPerformed(evt);
}
});

fullnameTxt.setFont(new java.awt.Font("Calibri", 0,
14)); // NOI18N

contactNoTxt.setFont(new java.awt.Font("Calibri", 0, 14));


// NOI18N

jLabel2.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
jLabel2.setText("Fullname");

passTxt.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N

jLabel6.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
jLabel6.setText("Username");

registerBtn.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
registerBtn.setText("Register");
registerBtn.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
registerBtnActionPerformed(evt);
}
});

cancelBtn.setFont(new java.awt.Font("Calibri", 0, 14)); //


NOI18N
cancelBtn.setText("Cancel");
cancelBtn.setSelected(true);

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(42, 42, 42)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jLabel4)
.addComponent(jLabel5)
.addComponent(jLabel6)
.addComponent(jLabel8)
.addComponent(jLabel7))
.addGap(138, 138, 138)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.LEADING, false)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(registerBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 90,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.Com
ponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(cancelBtn,
javax.swing.GroupLayout.PREFERRED_SIZE, 90,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(userTxt)
.addComponent(addressTxt)
.addComponent(contactNoTxt)
.addComponent(emailTxt)
.addComponent(fullnameTxt)
.addComponent(passTxt)
.addComponent(userTypeCombo,
javax.swing.GroupLayout.PREFERRED_SIZE, 213,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(629, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(19, 19, 19)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(fullnameTxt,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(emailTxt,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(contactNoTxt,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(addressTxt,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(userTxt,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8)
.addComponent(passTxt,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7)
.addComponent(userTypeCombo,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(33, 33, 33)
.addGroup(jPanel1Layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.BASELINE)
.addComponent(registerBtn)
.addComponent(cancelBtn))
.addContainerGap(57, Short.MAX_VALUE))
);

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(111, 111, 111)
.addGroup(layout.createParallelGroup(javax.swing.Gr
oupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(144, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(73, 73, 73)
.addComponent(jLabel1)
.addGap(35, 35, 35)
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(116, Short.MAX_VALUE))
);

pack();
setLocationRelativeTo(null);
}// </editor-fold>

private void
registerBtnActionPerformed(java.awt.event.ActionEvent evt) {
try{
String sql = "INSERT INTO users
(fullname,email,contact_no,address,username,password,user_ty
pe) VALUES (?,?,?,?,?,?,?)";
pst = conn.prepareStatement(sql);
pst.setString(1, fullnameTxt.getText());
pst.setString(2, emailTxt.getText());
pst.setString(3, contactNoTxt.getText());
pst.setString(4, addressTxt.getText());
pst.setString(5, userTxt.getText());
pst.setString(6, passTxt.getText());
pst.setString(7,
userTypeCombo.getSelectedItem().toString());
pst.execute();

conn.close();
JOptionPane.showMessageDialog(null, "Account has
been registered!");
}catch(Exception e){
JOptionPane.showMessageDialog(null,
e.getMessage());
}
}

private void
userTxtActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

public static void main(String args[]) {

//<editor-fold defaultstate="collapsed" desc=" Look and


feel setting code (optional) ">
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
UIManager.setLookAndFeel("com.jtattoo.plaf.aluminium.
AluminiumLookAndFeel");
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(UserRegistration.clas
s.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(UserRegistration.clas
s.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(UserRegistration.clas
s.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(UserRegistration.clas
s.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new UserRegistration().setVisible(true);
}
});
}

private javax.swing.JTextField addressTxt;


private javax.swing.JButton cancelBtn;
private javax.swing.JTextField contactNoTxt;
private javax.swing.JTextField emailTxt;
private javax.swing.JTextField fullnameTxt;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JPanel jPanel1;
private javax.swing.JPasswordField passTxt;
private javax.swing.JButton registerBtn;
private javax.swing.JTextField userTxt;
private javax.swing.JComboBox userTypeCombo;
// End of variables declaration
}

INPUT SCREENS:

1)login form
2)main form:

3)registration form
4) company details form

5)sales record form


5)new sales form:
5.CONCLUSION:

5.1 Limitations of the system


5.2 scope and future modification

Conclusion:
Finally in medical shop management system,we developed a
secure user friendly medical shop management system. This
project is basically provide a product details, company details
and also sales records of the particular medical shop. First up all
our project is designed for any particular medical shop who are
like to upgrade their records in computer with full security rather
than paper based records.

Limitations of the system:

 Exel export has not been developed for medical shop


management due to some criticality
 The transaction are executed offline mode,so online data
sales is not possible
 Limited for particular medical shop

Scope and future modification:

In future this system can be modified and will overcome all the
limitations explain above.if in this system we add accounting,it
becomes more useful to the users. This system keeps all the
records of products and sales thus this systems is more useful in
future if it is modified.

In a nutshell it can be summarizing that the future scope of the


project circle around maintaining information regarding:
 We can add printer
 We can give more advance software for medical shop
management including more facilities
 We will host the platform online server to make it
accessible worldwide.

References and Bibliography:


 Google for problem solving.
 Database programming with JDBC.
 http://www.jdbc-tutorial.com.
 Complete reference (java)book.
 BSc guru java book.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy