dry cleaning management system€¦ · industrial training/project submitted to the g.b. pant...
TRANSCRIPT
Dry Cleaning Management System
Industrial Training/Project
Submitted to the
G.B. Pant University of Agriculture & Technology
Pantnagar-263145(U.S. Nagar), Uttarakhand, India
By
RAHUL KUSHWAHA Id No. 44012
IN PARTIAL FULFILLMENT OF THE REQUIREMENT
FOR THE DEGREE OF
Master of Computer Applications
July, 2015
ACKNOWLEDGEMENT
This is a great opportunity to acknowledge and to thanks all those persons who have helped
me, without whose support and help this project would have been impossible. I would like
to add a few heartfelt words for the people who were part of this project in numerous ways.
I would like to express sincere gratitude to my Advisor Mr. Rajesh Shyam Singh,
Assistant Professor, Department of Information Technology, Advisory Committee member
Mr. Ashok Kumar, Assistant Professor, Department of Information Technology and
Mr. Binay Kumar Pandey, Assistant Professor, Department of Information Technology,
for their valuable advice and kind of encouragement as internal guide during the whole
process from time to time.
It is my privilege to record a deep sense of gratitude to Dr. H.L. Mandoria, Professor and
Head of IT Department, Dr. H.C. Sharma, Dean, College of Technology and
Dr. N.S. Murthy, Dean, College of Post Graduate studies, for giving us the opportunity to
face the industrial working environment.
I am also thankful to all the non-teaching staff of Department of Information technology,
especially Ms. Sunita, Data Analyst, for timely coordination of official Matters.
I would also like to acknowledge my project guide Mr. Rahul Tripathi, Project Head,
Mine Solutions, Kanpur for his indefatigable guidance, valuable suggestion, moral
support, constant encouragement and contribution of time for the successful completion of
project work. I am very grateful to him, for providing all the facilities needed during the
project development.
I would like to thank my parents and my friends for their moral support.
Pantnagar (Rahul Kushwaha) July, 2015
CERTIFICATE – I
This is to certify that the Industrial Training/Project report entitled
“Dry Cleaning Management System”, submitted in partial fulfillment of the
requirements for the degree of Master of Computer Applications of the College of Post
Graduate Studies, G. B. Pant University of Agriculture and Technology, Pantnagar, is a
record of bona fide work carried out by Mr. Rahul Kushwaha, Id No. 44012 under my
supervision and no part of the report has been submitted for any other degree or diploma.
The assistance and help received during the course of this Industrial
Training/Project report have been acknowledged.
Pantnagar (Rajesh Shyam Singh) July, 2015 Chairman
Advisory Committee
CERTIFICATE-II
We, the undersigned, member of Advisory Committee of Mr. Rahul Kushwaha
Id No. 44012, a candidate for the degree of Master of Computer Applications, agree that
the Industrial Training/Project entitled, “Dry Cleaning Management System” may be
submitted in partial fulfillment of the requirements for the degree.
(Rajesh Shyam Singh)
Chairman
Advisory Committee
(Ashok Kumar) (Binay Kumar Pandey)
Member Member
TABLE OF CONTENTS
a) LIST OF FIGURES……………………………………………………….…
b) LIST OF TABLES…………………………………………………………...
c) LIST OF ABBREVIATIONS………………………………………………..
CHAPTER 1: INTRODUCTION…………………………………………………
1.1 Introduction……………….………………………………………………
1.2 Objective of the system…………………………………………………..
1.3 Need of the system……………………………………………………….
1.4 Advantage of the system………………………………………………….
CHAPTER 2: ANALYSIS AND FEASIBILITY OF STUDY…………………..
2.1 Introduction to System Analysis…………………………………………
2.2 Identification of need……………………………………………………..
2.3 Preliminary Investigation…………………………………………………
2.4 Feasibility of study………………………………………………………..
2.4.1 Operational Feasibility……………………………………………...
2.4.2 Technical Feasibility………………………………………………..
2.4.3 Economical Feasibility……………………………………………...
2.5 Project Planning…………………………………………………………..
CHAPTER 3: DESIGN AND ARCHITECTURE………………………………..
3.1 Modularization Detail……………………………………………………..
3.2 Data Flow Diagram……………………….……………………………….
3.3 Entity Relationship Diagram………………………………………………
3.4 Use Case Diagram…………………………………………………………
3.5 Data Integrity and Constraints……………………………………………..
3.6 Database Design…………………………………………………………...
3.7 Tables………………………………………………………………………
3.8 Hardware & Software requirements……………………………………….
CHAPTER 4: CODING AND IMPLEMENTATION…………………………….
4.1 Technology Overview……………………………………………………...
4.1.1 Java…………………………………………………………………...
4.1.2 J2EE ………………………………………………………..………..
4.1.3 MySQL………………………………………………………………
4.2 Requirement and Analysis………………………………………………….
4.2.1 Functional Requirements…………………………………………
4.2.2 Non-Functional Requirements……………………………………
CHAPTER 5: TESTING…………………………………………………………
5.1 Introduction……………………………………………………………..
5.2 Strategic Approach to Software Testing………………………………..
5.3 Unit Testing……………………………………………………………..
5.4 Test Introduction………………………………………………………..
CHAPTER 6: SYSTEM SECURITY……………………………………………
6.1 Introduction…………………………………………………………….
6.2 Data Security…………………………………………………………….
6.3 Database Security………………………………………………………..
CHAPTER 7: RESULTS AND DISCUSSION……………………………..........
7.1 Results and Snapshots…...………………………………………………..
7.2 Merits and Demerits……….……………………………………………...
CHAPTER 8: CONCLUSION………………………………………………...........
8.1 Conclusion…………………………………………………………………
8.2 Future Scope……………………………………………………………….
LITERATURE CITED………………………………………………………………
APPENDIX……………………………………………………………………………
Coding………………………………………………………………………………….
Company Profile……………………………………………………………………….
Training Certificate…………………………………………………………………….
VITAE…………………………………………………………………………………
ABSTRACT……………………………………………………………………………
WORKING OF THE PROJECT…………………………………………………….
LIST OF FIGURES
Fig No. Title Page No.
3.1 Zero Level DFD --
3.2 First Level DFD --
3.3 ER Diagram --
3.4 Use Case Diagram --
4.1 Shows Process of Creating J2EE Application --
5.1 Diagram Types of Testing --
6.1 Data Security Diagram --
6.2 Database Security Diagram --
7.1 Registration Page --
7.2 Login Page --
7.3 Add Garment Category Page --
7.4 All Customer Page --
7.5 Cancel Order Page --
7.6 Edit Customer Info Page --
7.7 New Customer Page --
7.8 Order Delivery Page --
7.9 Payment Voucher --
7.10 Order Ready For Delivery Page --
7.11 Received form Workshop Page --
7.12 Send to Workshop Page --
7.13 Add sub Category Page --
LIST OF TABLES
Table No. Title Page No.
3.6.1 Customer --
3.6.2 Order Taken --
3.6.3 To_Workshop --
3.6.4 Receipt Voucher --
3.6.5 From_Workshop --
3.6.6 Payment Voucher --
3.6.7 Registration --
3.6.8
3.6.9
Garments
Order Delivered
--
--
LIST OF ABBREVIATIONS
CSS Cascading Style Sheet
SQL Structured Query Language
IBM International Business Machines Corporation
JSP Java Server Page
JDBC Java Database Connectivity
SSL Secured Socket Layer
AES Advanced Encryption Standard
SHA Secure Hash Algorithm
PCI Payment Card Industry
URL Uniform Resource Locator
IP Internet Protocol
HTTPS Secure Hyper Text Transfer Protocol
POS Point Of Sale
PHP Hypertext Preprocessor
AJAX Asynchronous JavaScript & XML
J2EE Java Enterprise Edition
JS Java Script
ERD Entity Relationship Diagram
IE Internet Explorer
API Application Programming Interface
DFD Data Flow Diagram
HTML Hyper Text Markup Language
WWW World Wide Web
XML Extensible Markup Language
MVC Model View Control
DBMS Database Management System
INTRODUCTION CHAPTER 1
1.1 INTRODUCTION
Dry cleaning Management System is user friendly window application software to provide any
dry cleaning & laundry business with the tools and the capability to digitize their business
operations in such a way that they can better serve their customers more efficiently and
effectively, at the same time giving the business owner an accurate record of their business
transactions. Without accurate, complete and timely information of management accounts, sound
and accurate business decisions cannot be made .This Software will be helpful in the smooth
functioning of the organization due to integration of various functions.
This project handles the complete automation regarding the transactions. It also enables us to add
records regarding new customer, new order or services and detail about the order under
processed too. This system will follow the steps and rules to meet user requirements on demand
and on time. Apart from this it will remove the difficulties faced by the admin to manage their
shop and can be easily handled by the admin without any technical knowledge of the platform
used and about the system. Through this system employees working under a particular shop can
be easily managed and overall transactions of particular date and time can easily be viewed.
This system offers user to enter the data through simple & interactive forms. This is very helpful
for the client to enter the desired information through so much simplicity. The user is mainly
more concerned about the validity of the data, whatever he is entering. There are checks in every
stage of any new creation, data entry or updating so that the user cannot enter the invalid data,
that can cause problems at a later date. Sometimes the user finds in the later stages of using the
project that he/she needs to update some of the information that he entered earlier. There are
options for user by which he/she can update the records. Moreover there is restriction for him/her
that he/she cannot change the primary data field. This keeps the validity of the data to longer
extent. From every part of the project the user is provided with the links through framing so that
he/she can go from one option of the project to other as per the requirement. This is bound to be
simple and very friendly as per the user is concerned.
Dry Cleaning Management System make the Data storage and Retrieval faster and easier to
maintain because data is stored in a systematic manner and in a single database. Decision making
process would be greatly enhanced because of faster processing of information since data
collection from information available on computer takes much less time than manual system.
Allocation of Sample Results becomes much faster because at a time the user can see the records
of last years.
1.2 OBJECTIVE OF THE SYSTEM
Through this new Dry Cleaning Management System, shop managers can easily handle their
shop and business transactions by accessing a single window. This system will be able to
generate bills as per user requirement in user friendly manner. Data storage and Retrieval will
become faster and easier to maintain because data is stored in a systematic manner and in a
single database. Decision making process would be greatly enhanced because of faster
processing of information since data collection from information available on computer takes
much less time than manual system.
The current system does not provide the method to backup the Database which is very important
for any business transaction. Current system provides the details of overall business transactions
but they do not provide information on sales/purchases in and sales/purchases out.
By using this technique shop manager can use their business strategy such as cost cutting method
for their business process to gain maximum profit. This project handles the complete automation
regarding the transactions..
The main objective is to maintain the records of daily transactions.
High degree of emphasis on user friendly updating and manipulation of records.
To generate calculations , bills ,reports automatically Refinement of query using specific
date and time.
Retrieval of historical data as per need.
Record of ordered and delivered items.
Ease of account management.
Provides extensive search facility.
Restriction to unauthorized access.
1.3 NEED OF THE SYSTEM
In the existing systems the dry cleaners shops are using paper based system to record data. The
present system is totally depend on manual data management for different activities such as
maintaining details of customer, orders etc. They maintain Different registers for various
activities such as storing and searching data which is tedious and time consuming task.
In present system since all transactions are done manually with pen and paper so the frequent
updating is not possible. Also generating reports, bills accurately is not possible with current
system. There are various other problems for instance, if customer come for the inquiry of
particular ticket and if that ticket is not available then it is difficult to remember about it. It is a
hectic job to find a specific customer record in the register. There is no data security in the
present system, so any user can view and change the data anyway.
In short , current system is lacking facilities such as searching, deleting ,adding data efficiently
and effectively.
Drawbacks of Existing System
It is manual and time consuming.
It utilizes a large amount of space for customer transaction.
Some time manual calculation may be incorrect thus, leading to the incorrect information.
A large amount of data cannot be viewed at a glance .
No reminder for order completed and order under process.
Some time the calculation has to be done manually so it requires a lot of work.
Updating is not performed that efficiently and may lead complications.
No security as data can be misplaced or damaged.
Difficult to search for a specific criteria.
Limited by physical storage space available.
Very difficult to analyze the data.
Difficult to sort data on more than one criteria.
Changes have to be done manually. Records can look messy if scribbled out.
Records can be lost or misfiled making it hard to find them
The only security would be locking up the records.
Difficult to make a back up because every page/card would have to be re-written or
photocopied. This means extra storage space is needed.
All of these issues and more can be solved by bringing in a computerized system that manages
the information flow and storage.
1.4 ADVANTAGE OF THE SYSTEM
Improved cash and inventory controls reduce claims for missing garments and loss.
Reports generated contain meaningful, easy to read, real-time information that will help
vendors to make better management decisions.
No Paper Wastage.
Centralized SQL database engine to increase reliability, scalability and efficiency.
Automatic Bill Calculation
The main objective is to maintain the records of daily transactions.
Provides tools and means to keep track of customers in order to provide the best
customer service
Refinement of query using specific date and time.
Retrieval of historical data as per need.
Ease of account management.
Provides extensive search facility.
ANALYSIS AND FEASIBILITY OF STUDY Chapter 2
2.2 INTRODUCTION
System analysis is usually the first phase of a large-scale software development project.
The purpose of this phase is to identify and document the exact requirements for the system.
Such study may be performed by the customer, the developer, a marketing organization, or any
combination of the three. There are two major activities in this phase: problem understanding or
analysis and requirement specification.
In problem analysis, the analyst has to understand the problem and its context.
In requirement specification, the analyst has to understand what the exact requirements of the
customer are. The goal of this activity is to understand the requirements of the new system that is
to be developed.
2.2 IDENTIFICATION OF NEED
This most important thing about developing this system is to identify the exact requirement of
the customer. In this system, firstly we have mentioned our need which we want to develop. The
need and specification phase of system analysis is done in this system to find the exact
requirement of the customer. In this phase we collect all the necessary information of customer
which he wants in their system.
2.3 PRELIMINARY INVESTIGATION
Preliminary investigations examine project feasibility; likelihood the system will be useful to the
organization.
In this phase these activities has done-
Clarify and understand the project request.
Determine the size of the project.
Assess costs and benefits of alternative approaches.
In the preliminary investigation phase in this project we have to investigate and evaluate the
project requests and assess how much the cost and benefits and determine the size of the project.
It is done by the-
Conducting the investigation.
Reviewing the organization document.
2.4 FEASIBILITY OF STUDY
Depending on the results of the initial investigation, the survey is expanded to a more detailed
feasibility study. A feasibility study is a test of system proposal according to its workability,
impact on the organization, ability to meet user’s needs and effective use of resources.
The objective of the feasibility study is not to solve the problem but to acquire a range of its
scope. The result of the feasibility study is a formal proposal.
In this project the feasibility study is divided into three parts-
Operational feasibility
Technical feasibility
Economic feasibility
2.4.1 Operational Feasibility
This software is operational feasible because in this user can easily operate and access the
facilities as like the Evaluation and Registration as well as Reports Generation.
The well-planned design would ensure the optimal utilization of the computer resources
and would help in the improvement of performance status.
Thus it provides an easy access to the managers.
2.4.2 Technical Feasibility
This software is technical feasible because in this software, technology which is used to
develop the software is efficient and is easily upgraded time to time.
Technical guarantees of accuracy, reliability, ease of access and data security.
The database’s purpose is to create, establish and maintain a workflow among various
entities in order to facilitate managers.
2.4.3 Economical Feasibility
The system is economically feasible. It does not require any addition hardware. There is
nominal expenditure and economical feasibility for certain.
This system is economical feasible because in this software resource to use this software
is also profitable for the managers as well as for the owner.
2.5 PROJECT PLANNING
The project plan provides the fundamental basis for project management. A software plan is
usually produced before the development activity begins and is updated as development proceeds
and data about progress of the project becomes available.
The project planning is done by the team members and plans the necessary facilities
which would be like that we put all the facilities in this system and develop it.
In this system the plan is also done for developing a system which meets the user needs.
DESIGN AND ARCHITECTURE CHAPTER 3
3.1 MODULARIZATION DETAIL
Software design sits at the technical kernel of the software engineering process and is applied
regardless of the development paradigm and area of application. Design is the first step in the
development phase for any engineered product or system. The designer’s goal is to produce a
model or representation of an entity that will later be built. Beginning, once system
requirement have been specified and analyzed, system design is the first of the three technical
activities -design, code and test that is required to build and verify software.
The importance can be stated with a single word “Quality”. Design is the place where quality
is fostered in software development. Design provides us with representations of software that
can assess for quality. Design is the only way that we can accurately translate a customer’s
view into a finished software product or system. Software design serves as a foundation for all
the software engineering steps that follow. Without a strong design we risk building an
unstable system – one that will be difficult to test, one whose quality cannot be assessed until
the last stage.
The dry cleaning management software will provide the retailers to maintain their whole
record in a single system rather than maintaining different register one after another. It make
the user to get the details like about the customers , order taken by them till date , add new
customers , add new services, new product, monthly / yearly transaction details .
There will be following modules in this project:
1) Masters: This module will have sub modules like add services, item category, item
type , pricing of particular product .
2) Updating Master: Under this module user will edit or modify any detail that is
already stored in the database .Let if the user wants to update the price of any
particular service for any item than from update and edit menu he will be able to
make the desirable changes .
3) Customer registration : Here new customer details will be added. This module have
fields like name, address, phone number, email address, a unique customer ID will
automatically get generated for each new customer . On the basis of name, email,
phone number and unique customer ID user can easily search the customer on its
next arrival and it also provide history of customer .The same will also be used for
agencies registration.
4) Accounting: This module will provide the user to get all the account related
information in just a click. User can check his ledger book, trail balance and daily
reports . This module will give the summary of the transactions occurred between a
certain period of time .
5) Order taking :This module facilitate the user to take orders from the customer on his
arrival .It will provide him sub modules like new customer registration , token
generation for the particular order, billing information ,delivery details etc.
6) Order delivery :After the completion of service items will come under this module
of ready to deliver .This will list all the details of the order that are ready for delivery
.When customer will arrive for pickup then owner will be using this module for the
final dispatch of the order.
7) Report generation : This module will generate the reports for the order undertaken,
order under process , orders ready for delivery. The user will get daily report as he
login into the system . User may also select particular date or period for generating
report .This will make user to efficiently manage things in his shop .
3.2 DATA FLOW DIAGRAM
Data Flow Diagram is a graphical representation of the flow of data through an information
system. DFDs can be also used for the visualization of data processing(structured design).It
views a system as a function that transform the input into desired output. It show the flow of
data from external entities into the system, showed how the data moved from one process to
another, as well as its logical storage . The DFD is also known as a data flow graph or a bubble
chart. DFDs are the model of the proposed system. They clearly should show the requirements
on which the new system should be built. Later during design activity this is taken as the basis
for drawing the system’s structure charts. The Basic Notation used to create a DFD’s are as
follows:
Dataflow: Arrows representing the data flows, which can either be electronic data or physical
items.
Process: Rounded rectangles representing processes, which take data as input, do something
to it, and output it.
Source: Squares representing external entities, which are sources or destinations of data
which may be People, programs, organizations or other entities.
A
D
M
I
N
Dry Cleaning
Management
System
L
O
G
I
N
Data Store: Open-ended rectangles representing data stores, including electronic stores such
as databases or XML files.
Context level Data Flow Diagram
This diagram represents what are the bounders and scope of Buzzing –Movie Express. It
describes the main entities of the system and entities involved.
Figure 3.1: Context level DFD
First Level DFD:
This data flow diagram represent a system’s major processes, data flows, and data stores at a
high level of detail.
Figure 3.2: First Level DFD
Dry Cleaning
Management System
Adding order details, Services, Making bill
Order delivering, Generating bill
Admin
Database
Execu
te Qu
ery
Retu
rn R
esult Set
3.3 ENTITY RELATIONSHIP DIAGRAM
In software engineering, an Entity – Relationship model (ER model for short) is an abstract
and conceptual representation of data. Entity–relationship modeling is a database modeling
method, used to produce a type of conceptual schema or semantic data model of a system,
often a relational database, and its requirements in a top-down fashion. Diagrams created by
this process are called entity–relationship diagrams or ER diagrams. ERD typically serves as
the main deliverable of a conceptual data model. While newer approaches to E-R modeling
have developed, the E-R approach is still cited by some professionals as “the premier model
for conceptual database design”. An ERD is a logical representation of an organization’s data,
and consists of three primary components:
Entities– Major categories of data and are represented by rectangles
Attributes– Characteristics of entities and are listed within entity rectangles
Relationships – Business relationships between entities and are represented by lines
A conceptual ER model may be used as the foundation for one or more logical data models.
The purpose of the conceptual ER model is then to establish structural metadata commonality
for the master data entities between the set of logical ER models. The conceptual data model
may be used to form commonality relationships between ER models as a basis for data model
integration. One or more physical ER models may be developed from each logical ER model.
The physical ER model is normally developed be instantiated as a database. Therefore, each
physical ER model must contain enough detail to produce a database and each physical ER
model is technology dependent since each database management system is somewhat different.
An ER model is an abstract way of describing a database. In the case of a relational database,
which stores data in tables, some of the data in these tables point to data in other tables - for
instance, your entry in the database could point to several entries for each of the phone
numbers that are yours. The ER model would say that you are an entity, and each phone
number is an entity, and the relationship between you and the phone numbers is 'has a phone
number'. Diagrams created to design these entities and relationships are called entity–
relationship diagrams or ER diagrams
ENTITY RELATIONSHIP DIAGRAM
Figure 3.3: Entity Relationship Diagram
3.4 USE CASE DIAGRAM
Figure 3.4: Use Case Diagram
Admin
Register
Create order
View and Edit order details
Send to and Receive from workshop
View and Edit delivery
details
Bill issue and Payment receipt
View report
Add and Edit new Service, Customer and
Category
3.5 DATA INTEGRITY AND CONSTRAINTS
Data Integrity
The mean of data integrity is that extent to access the software or data by unauthorized persons
can be controlled. This attribute measures system ability to protect the attacks (both accidental
and intentional) to security. Attack can be made on all three components of software:
Programs, Data and documents. To measures integrity two additional attributes must be
defined that are threat and security. This system is fully functional and it provides the
unauthorized access of data as well as document. In the security point of view it provides their
user to access and retrieve data without any web attacks.
Data Constraints
The mean of data constraints is that extent to which data entered by user should be correct
formatted which gives the desired output the user. This attribute measures system ability to
calculate and generate the correct result for the user.
This system is fully functional and provides both the integrity and constraints for
their user.
In this system wrong entry data can’t be permissible as like in mobile no should be
only 12 digit no, date of birth constraints, password constrains wrong password
can’t be accepted and many constraints are exist in this site.
3.6 DATABASE DESIGN
A database is a structured collection of data. Data refers to the characteristics of people, things
and events. Oracle stores each data item in its own fields. In Oracle, the fields relating to a
particular person, thing or event are bundled together to form a single complete unit of data,
called a record.
The database for this site is designed in Oracle. The database design that has been
implemented is meant to show how the different modules of database tables interact and form
a single unit.
3.7 TABLES
Description of Tables used in Dry Cleaning Management System
Table 3.1 Order Taken
S. No. Field name Data Types Constraint/Description
1. Invoice no Int Primary Key, Auto Generated
2. Barcode Varchar Not Null
3. Contact_no Varchar Not Null
4. Data_delivery Varchar Not Null
5. Sub_total Varchar Not Null
6. Discount Varchar Not Null
7. Grand_total Varchar Not Nulll
8. Category Varchar Not Null
9. Sub_category Varchar Not Null
10. Services Varchar Not Null
11. Quantity Varchar Not Null
12. Price Varchar Not Null
13. Total Varchar Not Null
14. Email Varchar Not Null
15. Status Varchar Not Null
16. Order_delivered Varchar Not Null
17. Advance_payment Varchar Not Null
Description: This table stores the data for the order given by customer.
Table 3.12 Customer
S. No. Field name Data Types Constraint/Description
1. Customer_id Int Primary Key, Auto Generated
2. Prefix Varchar Not Null
3. Customer_name Varchar Not Null
4. Last_name Varchar Not Null
5. Contact Varchar Not Null
6. Address Varchar Not Null
7. Email Varchar Not Nulll
Description: This table stores the customer information.
Table 3.3 To_Workshop
S. No. Field name Data
Types
Constraint/Description
1. Barcode Int Primary Key, Auto Generated
2. Delivery_date Varchar Not Null
3. Sending_date Varchar Not Null
4. Received_from_workshop_date Varchar Not Null
Description: This table records items that has been sent to workshop for services.
Table 3.4 Receipt_Voucher
S. No. Field name Data
Types
Constraint/Description
1. Receipt_voucher_no Int Primary Key, Auto Generated
2. Account_type Varchar Not Null
3. Check_no Varchar Not Null
4. Received_by Varchar Not Null
5. Description Varchar Not Null
6. Amount Varchar Not Null
7. Date Varchar Not Null
Description: This table contains the information for the payment received by the user.
Table 3.5 From_Workshop
S. No. Field name Data
Types
Constraint/Description
1. Barcode Int Primary Key, Auto Generated
2. Workshop_receive_date Varchar Not Null
3. Workshop_send_date Varchar Not Null
4. Delivered Varchar Not Null
Description: This table shows item received from workshop after desire services .
Table 3.6 Payment_Voucher
S. No. Field name Data
Types
Constraint/Description
1. P_voucher_no Int Primary Key, Auto Generated
2. Account_type Varchar Not Null
3. Paid_to Varchar Not Null
4. Description Varchar Not Null
5. Paid_amount Varchar Not Null
6. Paid_date Varchar Not Null
7. Check_date Varchar Not Null
8. Check_no Varchar Not Null
Description: This table shows the record for the payment done by the user.
Table 3.7 Registeration
S. No. Field name Data
Types
Constraint/Description
1. Username Varchar Primary Key, Auto Generated
2. Password Varchar Not Null
3. Company_name Varchar Not Null
4. Address Varchar Not Null
5. Flag Varchar Not Null
Description: This table keeps record of the vendor with there login details.
Table 3.8 Garments
S. No. Field name Data
Types
Constraint/Description
1. Garment_catg Int Primary Key, Auto Generated
2. Garment_sub Varchar Not Null
3. Services Varchar Not Null
Description: This table record the garment type , sub category and services.
Table 3.9 Order Delivered
Description: Table show the data for the order that has been deliverd to the desire customer.
S. No. Field name Data
Types
Constraint/Description
1. Barcode Int Primary Key, Auto Generated
2. Date_delivery Varchar Not Null
‘
3.8 HARDWARE AND SOFTWARE REQUIREMENTS
Hardware Requirements
Processor : Pentium IV at 500 MHz and above
RAM : 1 GB
Disk Space : 80GB
Software Requirements
Technology : JAVA
Framework : AWT & SWING
Backend Database : MY SQL
IDE : Netbeans
CODING AND IMPLEMENTATION CHAPTER 4
4.1 TECHNOLOGY OVERVIEW
4.1.1 Java
Java is a programming language and computing platform first released by Sun
Microsystems in 1995. There are a lots of applications and websites that will not work unless one
has installed java, and more are created every day. Java is fast, secure and reliable. From laptops
to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is
everywhere!
Java is an object-oriented programming language in the tradition of C and C++. But it is
different from other languages in several aspects. One of the main reasons Java is so popular is
its platform independence, which means that java programs can be run on different computers.
The Java language itself is very simple. However, Java comes with a library of classes that
provide commonly used utility functions that most java programs can’t do without. This class
library, called the java API, is as much a part of Java as the language itself.
Java is a powerful platform that includes a complete set of APIs for distributed
applications, allows programs to run anywhere on the network, runs on top of existing platforms
(“WORA”) and reduces desktop administration costs. These features make java ideal for
programming in the networked, heterogeneous world, realizing web/E-Commerce applications,
integrating several technologies and programming handheld devices (PDAs, phones etc).
Because of its rich set of API's, similar to Macintosh and Windows, and its platform
independence, Java can also be thought of as a platform in itself. Java also has standard libraries
for doing mathematics.
4.1.2 About J2EE
The multi-tier architecture such as COBRA has got its own advantages in terms of
scalability, performance and reliability. In a multi-tier architecture, a client does not interact
directly with the server. Instead, it first contacts another layer called Middleware. The
middleware instantiates the server applications and messages the server object. It returns
results to the clients. The presence of a middleware layer allows programmers to concentrate on
business logic of application. The middleware handles low-lever services, such as thread
handling, security, and transactions management.
Sun Microsystems introduced the J2EE application server and the enterprise Java Bean
(EJB) specifications as a venture into the multi-tier component architecture. J2EE functions as a
middle tier server in three tier architectures. It provides certain specifications that can be used to
implement enterprise solutions for certain all types of business requirements. J2EE also offers
cost effective solution for business solution.
J2EE is used for developing, deploying and executing applications in a distributed
environment. The J2EE applications server acts as a platform for implementing various server
side technologies Servlets, Java Server Pages (JSP) and Enterprise Java Bean (EJB). J2EE allows
you to focus on your business logic program. The business logic is coded in java program, which
are reusable component that can be accessed client program EJB runs on J2EE server. In J2EE
security is handled almost entirely by platform and its admin. The developer does not have to
worry about writing the security logic.
J2EE Architecture
The J2EE SDK architecture consists of the following components:
The J2EE server
The EJB Container
The Web Container
The J2EE server provides the EJB and web containers. The J2EE server enforces
authenticating users. The either service provided by the J2EE server are listed here below.
It allows client to interact with Enterprise Bean.
It enables a web browser to access servlets and JSP files
It provides naming and directory services to enable users and various services to
locate and search for services and components.
The EJB container manages the execution of Enterprise Bean for J2EE server. EJB is a
specification for making server side component that enable and simplifies the task of creating
distributed objects. EJB component provide services such as transaction and security
management and can be customized during deployment.
The web container manages the executing of JSP and servlets for J2EE applications
web components and their container run on the J2EE server. Servlets of the java program that
can be deployed on a java enable web server to enhances and extend the functionality of the
web server for example you can write a servlets to add a manager service to a website.
Servlet can also be used to add dynamic content to web pages. Java Server Page (JSP)
adds server side programming functionality to java. JSP consists of regular Html tags
representing the static content and code enclosed within special tags representing the dynamic
content. After compilation, a JSP generates a servlets and therefore incorporates all the servlets
functionalities.
J2EE Application
J2EE applications access data from a variety of source and cater to a variety of client.
To manage these applications the business function conducted in the middle tier. The J2EE
platform acts as a middle tier and provides the necessary environment needed by the
application. The J2EE platform provides” write once, run anywhere”, portability and
scalability for multi-tier application. It also minimizes complexity for building multi-tier
application. To create a J2EE application we need to create following three components:
J2EE application client
Enterprise Bean
Web component
Each of these components is packaged into a file with a specified file format. A J2EE
application client is a Java application that run in a environment that enable it to access to the
J2EE services. A J2EE application client is packaged into a .jar (Java archive) file. The web
components are packaged into a .war (Web archive) file.
An Enterprise Bean consists of three files: the EJB class, Home and Remote
Interfaces. The Enterprise Beans are bundled into an EJB.jar file. The .jar, .war and EJB.jar
are assembled into a J2EE application, which is an .ear file. The .ear file is then deployed to
the J2EE server.
Assembled
Deployed
Figure 4.1: Shows Process of creating a J2EE application
J2EE Technologies
The J2EE includes many technologies such as:
Enterprise Java Beans (EJB)
Remote Method Invocation (RMI)
Java Naming and Directory Interface (JNDI)
Java Database Connectivity (JDBC)
Java Transaction API (JTA)
Java Messaging Services (JMS)
Java Servlet & Java Server Pages (JSP)
The J2EE Security
The architecture of the J2EE is such that it enforces security in the application. In
order to access the J2EE services, a user need to prove his/her identity. Such users are called
J2EE users and process is called authentication. The J2EE authentication services are
different from security of the operating system. The users of the operating system and the
users of the J2EE belong to a different realm. A realm is a group of users that have the same
authentication policy. The users of J2EE belong to a two different realms that are
Enterprise Bean
(.jar file)
Component
(.jar file)
J2EE Application Server
J2EE
Server
respectively authentication by certificates and defaults. J2EE Certificate to authenticate a
web browser client. In most cases, the J2EE services use the default realm to authenticate a
user. J2EE users may also belong to a group. A group is a collection of users who have
common feature for eg. The user belonging to a group may all belonging to a group coding
same module. Similarly project managers might belong to a different group.
When client execute J2EE application it request that you enter login id and password.
If the combination of both username and password correct the J2EE allow you to access the
services. The J2EE server also enforces security by process known as authentication.
Authorization is a process by which the permissions are assigned by server to invoke the
method of Enterprise Bean.
Java Beans
The java beans specification allows software components to be written in java, which
encapsulate the logic behind the web application and remove the bulk of the code that would
otherwise clutter up JSP’s. The result is JSP code that is simpler, easier to maintain and
which is more readily accessible to non-programmers.
A bean uses properties to describe internal data that affects how it works and what it
shows. In java the actual bean property data is usually a private or protected field, which can
be edited by publicly available methods. In other words beans allow access to internal data
via public get and set methods. This confirms to object orientation norms, which hide internal
data from users and explore it only through accessory methods. Another aspect of this
component is that it should be able to communicate with other objects or beans. Java beans
accomplish this by firing events and listening to them. A bean that is interested in what
happens to an object external to itself can register itself as a listener for various events in that
object. Conversely an external object can register itself to listen to that bean. This concept is
really the key to providing standalone software components.
Bound Properties
One way of exporting events is to use bound properties. When a property value
changes, a bound property can inform other parts of the application that its value is changed.
Bean Persistence and Storage:
For a component to be really useful, it must be possible to save it and provide any
values it may contain and reload it to the same state at a later date. No matter how
wonderful the component we create it will not be used much if it has to reset
every time it is retrieved. Java beans use the serializable interface to address these
issues.
The serializable interface has no methods to implement. It is simply on indicator
to the compiler that object may be made persistence by serialization. In practice
serialization generally means saving the bean to a file using the object output
stream classes. Then to restore the bean to read from the same file using object
input stream. To make java bean to be serializable we need to do is add the
serializable interface in the class declaration.
4.1.3 MySQL
The race for market share in the database industry has increased with the advent of
client-server platforms. MySQL is one of the most successful companies that has released a
number of development tools including SQL *PLUS, PL/SQL that enables faster and easier
application development and its management. MySQL is the robust Database System, it
support very large database. Moreover MySQL is widely used as back end for client / server
applications. Administrative tools of MySQL help in securing the Data / Information.
Some of the merits of using MySQL (RDBMS) are as under:
Centralization of database.
Client Server Technology.
Security.
Normalization of Data Base.
Relationship.
Hence because of these features we are using MySQL as a back-end technology.
Whether you are working on LAN projects or Distributed projects, there are two sides of it:-
Front End
Back End
Front End remains on client side. Front end is made for end user who uses our
application. Basically in front end, our input-output forms reside which takes the input from
the client and gives output back to client. Backend remains on server side and has two
components viz.
4.2 REQUIREMENT AND ANALYSIS
Requirements analysis consists of following:
Analyzed detailed descriptions for each of the functionality.
Documented all the required analysis and findings.
4.2.1Functional Requirements
Functional Requirements defines a function of a software system and how the system must
behave when presented with specific inputs or conditions.
Manager login in software.
Manager registers customers.
Manager takes order.
Manager record payment details.
Manager send garments to workshop.
Manager receive garments form workshop.
Manager generates bill.
4.2.2 Non-Functional Requirements
Non-Functional, are those requirements that are not directly concerned with the specific
functions delivered by the system. They may relate to emergent system properties such as
reliability response time and store occupancy. Alternatively, they may define constraints on the
system such as the capability of the Input Output devices and the data representations used in the
system interfaces. The key, non-functional requirements are:
Software should have pleasant look and feel.
Easy way navigation through different modules.
TESTING CHAPTER 5
5.1 INTRODUCTION
Software testing is a critical element of software quality assurance and represents the
ultimate review of specification, design and coding. In fact, testing is the one step in the
software engineering process that could be viewed as destructive rather than constructive.
A strategy for software testing integrates software test case design methods into a well-
planned series of steps that result in the successful construction of software. Testing is the set
of activities that can be planned in advance and conducted systematically. The underlying
motivation of program testing is to affirm software quality with methods that can
economically and effectively apply to both strategic to both large and small-scale systems.
5.2 STRATEGIC APPROACH TO SOFTWARE TESTING
The software engineering process can be viewed as a spiral. Initially system engineering
defines the role of software and leads to software requirement analysis where the information
domain, functions, behavior, performance, constraints and validation criteria for software are
established. Moving inward along the spiral, we come to design and finally to coding. To
develop computer software we spiral in along streamlines that decrease the level of
abstraction on each turn.
A strategy for software testing may also be viewed in the context of the spiral. Unit testing
begins at the vertex of the spiral and concentrates on each unit of the software as
implemented in source code. Testing progress is by moving outward along the spiral to
integration testing, where the focus is on design and the construction of the software
architecture. Talking another turn on outward on the spiral we encounter validation testing
where requirements established as part of software requirements analysis are validated
against the software that has been constructed. Finally we arrive at system testing, where the
software and other system elements are tested as a whole.
Figure 5.1: Types of Testing
5.3 UNIT TESTING
In unit testing the focuses is on the verification of the smallest unit of the project that is a module
or a function. In unit testing we work according to white box testing that is providing the input
set and checking the output is in accordance with the expected output or not.
1. White Box Testing
This type of testing ensures that
All the independent modules and function should be executed at least once in the testing
phase.
All the inputs of must include the boundary values & middle values.
All the logical decisions must be have output as true or false.
To follow the concept of white box testing we have tested each of the above mentioned forms.
Tests are done to ensure correct flow of data in the system. All conditions of the system are
exercised to check their accuracy.
2. Conditional Testing
In Conditional testing, each condition is tested to both true and false aspects. And all the
resulting paths of true and false output are tested. So that each path that may be generate on
particular condition is traced to uncover any possible errors in the system.
All the conditions like selecting the option button for pdf and word document, not for selecting
the option button, providing the file path, not providing the file path etc.
3. Data Flow Testing
Data Flow Testing selects the path of the program according to the location of definition and use
of variables. This kind of testing is used only when some local variable were declared and their
scope in the program is to be tested. The definition-use chain method is used in this type of
testing. It is used in situations like selecting the word document option button and then checking
file is converted to pdf format or not.
5.4 TEST INTRODUCTION
The test gives a brief idea of the correct expected output and the incorrect output. This test
confirms proper behavior of the GUI during system initialization and startup. The unit under test
should initialize without any errors. A strategy for software testing may also be viewed in the
context of the spiral. Unit testing begins at the vertex of the spiral and concentrates on each unit
of the software as implemented in source code.
Test Cases
The test cases should be written to get the basic idea of the input provided to the system and the
expected output to be received from the system.
1. In order Taking Module
Whenever manager fills the order module
Submit details of customer and items
Expected-Invoice will be created
When manager check for customer by Customer Id or contact details
If customer exists
Expected-Show details of customer.
If no such customer exists
Expected-take the details form customer and add to database.
2. In Product /services Module
When manager add new services or product category
If that service exists
Expected-show dialog “already exists”.
If no such service exists
Expected-new entry added to the database.
3. In order delivery Module
When manager deliver customer garments
If that particular garment is not ready.
Expected-message for order not yet ready .
If that particular garment is ready for delivery.
Expected-payment page will get open.
SYSTEM SECURITY CHAPTER 6
6.1 INTRODUCTION
System Security is the control of access to a computer’s system resources such as data and
operating system files. System security refers to the technical innovations and procedures
applied to the hardware and operation systems to protect against deliberate or accidental
damage from a defined threat. Most computer security measures involve data encryption
and passwords. It covers all the processes and mechanisms by which digital equipment,
information and services are protected from unauthorized access.
System Security can be divided into four related issues:
Security
Integrity
Privacy
Confidentiality
Certain concepts recur throughout different fields of security:
Assurance - assurance is the level of guarantee that a security system will behave
as expected
Countermeasure - a countermeasure is a way to stop a threat from triggering a
risk event
Defense in depth - never rely on one single security measure alone
Risk - a risk is a possible event which could cause a loss
Threat - a threat is a method of triggering a risk event that is dangerous
Vulnerability - a weakness in a target that can potentially be exploited by a
security threat
Exploit - a vulnerability that has been triggered by a threat - a risk of 1.0 (100%).
System security refers to the technical innovations and procedures applied to the hardware
and operation systems to protect against deliberate or accidental damage from a defined
threat. It is information security as applied to computing devices such as computers and
Smartphone’s, as well as computer networks such as private and public networks, including
the Internet.
An (operating) system is responsible for controlling access to system resources, which will
include sensitive data. The system must therefore include a certain amount of protection for
such data, and must in turn control access to those parts of the system that administer this
protection. System security is concerned with all aspects of these arrangements.
6.2 DATA SECURITY
Data security is the practice of keeping data protected from corruption and unauthorized access. The
focus behind data security is to ensure privacy while protecting personal or corporate data. It refers to
protective digital privacy measures that are applied to prevent unauthorized access to computers,
databases and websites. It also protects data from corruption. Data security is the main priority for
organizations of every size and genre.
Usually a DBMS includes a password system that controls access to sensitive data. By
limiting their access to read-only, write-only, or specified records, or even fields in records,
passwords can prevent certain users from retrieving unauthorized data.
Techniques of data security are as follows:
1. Encryption: Encryption has become a critical security feature for thriving networks and
active home users alike. This security mechanism uses mathematical schemes and algorithms
to scramble data into unreadable text. It can only by decoded or decrypted by the party that
possesses the associated key.(FDE) Full-disk encryption offers some of the best protection
available. This technology enables you to encrypt every piece of data on a disk or hard disk
drive. Full disk encryption is even more powerful when hardware solutions are used in
conjunction with software components. This combination is often referred to as end-based or
end-point full disk encryption.
2. Backups: Data security wouldn't be complete without a solution to backup your
critical information. Though it may appear secure while confined away in a machine,
there is always a chance that your data can be compromised. You could suddenly be
hit with a malware infection where a virus destroys all of your files. Someone could
enter your computer and thieve data by sliding through a security hole in the
operating system. Perhaps it was an inside job that caused your business to lose those
sensitive reports. If all else fails, a reliable backup solution will allow you to restore
your data instead of starting completely from scratch.
3. Data Masking: Data Masking of structured data is the process of obscuring
(masking) specific data within a database table or cell to ensure that data security is
maintained and sensitive information is not exposed to unauthorized personnel. This
may include masking the data from users (for example so banking customer
representatives can only see the last 4 digits of a customer’s national identity
number), developers (who need real production data to test new software releases but
should not be able to see sensitive financial data), outsourcing vendors, etc.
6.3 DATABASE SECURITY
Database security entails allowing or disallowing user actions on the database and the
objects within it. Database security strives to insure that only authenticated users perform
authorized activities at authorized times. Database security encompasses three constructs:
confidentiality or protection of data from unauthorized disclosure, integrity or prevention
from unauthorized data access, and availability or the identification of and recovery from
hardware and software errors or malicious activity resulting in the denial of data availability.
Database security requirements arise from the need to protect data first from accidental loss
and corruption, and second, from deliberate unauthorized attempts to access or alter that
data. Secondary concerns include protecting against undue delays in accessing or using data,
or even against interference to the point of denial of service. The global costs of such
security breaches run up to billions of dollars annually, and the cost to individual companies
can be severe, sometimes catastrophic.
Database security concerns the use of a broad range of information security controls to
protect databases (potentially including the data, the database applications or stored
functions, the database systems, the database servers and the associated network links)
against compromises of their confidentiality, integrity and availability. It involves various
types or categories of controls, such as technical, procedural/administrative and
physical. Database security is a specialist topic within the broader realms of computer
security, information security and risk management.
Security risks to database systems include, for example
Unauthorized or unintended activity or misuse by authorized database users, database
administrators, or network/systems managers, or by unauthorized users or hackers
(e.g. inappropriate access to sensitive data, metadata or functions within databases, or
inappropriate changes to the database programs, structures or security
configurations).
Malware infections causing incidents such as unauthorized access, leakage or
disclosure of personal or proprietary data, deletion of or damage to the data or
programs, interruption or denial of authorized access to the database, attacks on other
systems and the unanticipated failure of database services.
Overloads, performance constraints and capacity issues resulting in the inability of
authorized users to use databases as intended.
Physical damage to database servers caused by computer room fires or floods,
overheating, lightning, accidental liquid spills, static discharge, electronic
breakdowns/equipment failures and obsolescence.
Design flaws and programming bugs in databases and the associated programs and
systems, creating various security vulnerabilities (e.g. unauthorized privilege
escalation), data loss/corruption, performance degradation etc.
Data corruption and/or loss caused by the entry of invalid data or commands,
mistakes in database or system administration processes, sabotage/criminal damage
etc.
RESULTS AND DISCUSSION CHAPTER 7
7.1 RESULT & SNAPSHOTS
Admin can login with the default username ‘admin’ and password ‘admin’ which admin can
change it later on. At the time of registration admin will generate username and password .
In case he forgot the password he can change it.
The user will take order form the customer on his arrival to the shop. The system will
provide all the details regarding type of garments, its sub category and type of services that
he can render on it.
If the customer is not already register than system will save the new customer information to
the system. It will take customer name, contact number, address and email address. Each
customer required only one time registration.
After taking order from customer the order needed to be send to workshop for services. So
for each order user will update the information to the system which helps in tracking the
status of the particular order.
User can check the current status of any order that whether it is under process or not. If the
order is ready than system will allow user to deliver particular item else it will prompt that
order is not yet ready.
To print the invoice user can go to print invoice option in the print menu form where he can
print any particular invoice by giving details of invoice. The number of order given by any
customer and all his details can be seen in all customer information which also allows to
change any detail of any customer.
1. Registration Page
Figure 7.1: Registration page Window
Figure 7.1 is the Registration page of Dry Cleaning Management System. In this
page the manager will select a user name and password for future login and also give
details of company. Page will only open at the time when project is first open.
2. Login Page
Figure 7.2: Login Window
Figure 7.2 is the page for login to the system if the user enter the correct username
and password then he will be able to run the software. If the password or username is
not correct then he will not be able to login.
3. Add Garment Category:
Figure 7.3: Add Garment Category Window
Figure 7.3 is the page to add the Category of Garments and there particular code. Once
entered it get saved in the database and at the time of order taken manager can select
from these category.
4. All customer information:
Figure 7.4: Customer Info Window
Figure 7.4 shows all the customer information with there name ,id, address , email.
All he customer that are registered will be shown here
5. Cancel Order Page:
Figure 7.5: Cancel order Window
Figure 7.5 is the page that allow manager to cancel any order that has already taken.
once deleted the invoice no. will not be assign to any other bill.
6. Edit Customer Info Page
Figure 7.6: Edit Customer Info Window
Figure 7.6 is the page where manager will be able to edit or delete the customer
information that are already registerd.
7. New Customer Page:
Figure 7.7: New customer Window
Figure 7.7 is the page where user can add new customer that has not been already
registered.
8. Order Delivery Page
Figure 7.8: Order Delivery Window
Figure 7.8 is the page that allows to check whether the current order is ready for the
delivery or not. Manager can search the by invoice that particular order is ready or not. If
order is ready than he can proceed for delivery process.
9. Payment Voucher Page
Figure 7.9: Payment Voucher Window
Figure 7.9 is the page for generating payment voucher for the payment done by the
vendor.
10. Order Ready for Delivery
Figure 7.10: Order Ready for Delivery Window
Figure 7.10 is the page used to check for the items that are ready for delivery ,and send
the email to the customer that there product is ready for delivery.
11. Received from workshop Page
Figure 7.11: Recived from workshop Window
Figure 7.11 is the page used to select the item that are recived form the workshop after
getting desire service.
12. Send to workshop Page
Figure 7.12: Send to workshop Window
Figure 7.12 is the page where user will select the item, that are needed to be sent to
workshop for services.
13. Add Subcategory
Figure 7.13: Add sub category Window
Figure 7.13 is the page used to add the sub category of the garments. This subcategory
will be used at the time of order taken.
7.2 MERITS AND DEMERITS
Merits
Improved operational efficiency helps control labor costs.
More accurate pricing controls enhance revenue.
MySQL Database
Customer History Tracking
Increase in transparency and accuracy.
Management becomes easier as there is no conflict in the type of garments.
Manager can view past records i.e. the historical data.
Facilitates cost management for day-to-day transactions.
Bills are generated according to the need.
Ease of administration and effective monitoring of work.
Multiple levels of operator security provide an audit trail of employee activity and
help prevent theft.
Email Delivery Notification System
Improved cash and inventory controls reduce claims for missing garments and loss.
Demerits
Single user system.
Not platform independent.
The project is bound to only within the single shop.
Security level is low.
CONCLUSION AND FUTURE SCOPE CHAPTER 8
8.1 CONCLUSION
It has been a great pleasure for me to work on this exciting and challenging project. This project
proved good for us as it provided practical knowledge of not only programming in Java and
My SQL working for windows application, but also about all handling procedure related with
advance and new technology. This will provide better opportunities and guidance in future in
developing projects independently.
It may help collecting perfect management in details. In a very short time, the collection will be
obvious, simple and sensible. It will help a person to know the management of passed year
perfectly and vividly. It also helps in current all works relative to training program. It will also
reduced the cost of collecting the management & collection procedure will go on smoothly.
This system will be able to generate bills and records as per user requirement in user friendly
manner. Data storage and Retrieval will become faster and easier to maintain because data is
stored in a systematic manner and in a single database. Generating report by accessing
information stored in database is another important feature of this system. Decision making
process would be greatly enhanced because of faster processing of information since data
collection from information available on computer takes much less time than manual system.
8.2 FUTURE SCOPE
The developed system is flexible and changes can be made easily. The system is developed with an
insight into the necessary modification that may be required in the future. Hence the system can be
maintained successfully without much rework.
Moreover, it is just a beginning further the application can be enhanced by adding following
facilities in the existing software:
Account management
Employee management
Multiple user system.
LITERATURE CITED
1. Ghezzi Carlo, "Learn About Java Technology".2nd (International) Edition, Pearson
Education, Prentice-Hal.
2. Pressman, Roger S, "Software Engineering: A Practitioner's Approach".6th
Edition, McGraw-Hill.
3. Sommerville, "The Java Language Environment". 8th Edition, Pearson Education,
England.
4. Sunny Kumar Aditya &Vikash Kumar Karn,”Android SQLite Essentials”, Packt
Publishing.
5. ZigurdMednieks, Laird Dornin, “Programming Android”, O’Rielly Media.
6. www.w3schools.com
7. www.halwits.com
8. www.google.co.in
9. www.tinypic.com
10. developer.android.com
11. www.stackoverflow.com
12. www.tutorialspoint.com
APPENDIX
Code of Project :
1.Login Page:
package drycleaninngsoftware;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.swing.InputMap;
import javax.swing.KeyStroke;
public class login extends javax.swing.JFrame {
/**
* Creates new form login
*/
public login() {
initComponents();
setResizable(false);// to disable maximaize button
setLocationRelativeTo(null);
//setLocationRelativeTo(null);
InputMap im=jButton1.getInputMap();
im.put(KeyStroke.getKeyStroke("ENTER"),"pressed");
im.put(KeyStroke.getKeyStroke("released ENTER"),"released");
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jTextField1 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jPanel1.setBackground(new java.awt.Color(0, 102, 204));
jButton1.setBackground(new java.awt.Color(102, 102, 102));
jButton1.setForeground(new java.awt.Color(255, 255, 255));
jButton1.setText("submitt");
jButton1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(255,
255, 255)));
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jLabel4.setFont(new java.awt.Font("Segoe UI", 1, 24)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel4.setText("Login");
jLabel4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(255,
255, 255)));
jLabel1.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setText("Password");
jLabel2.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText("User Name");
jLabel5.setFont(new java.awt.Font("Segoe UI", 0, 12)); // NOI18N
jLabel5.setForeground(new java.awt.Color(255, 255, 255));
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(101, 101, 101)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 214,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 108,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 113,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(66, 66, 66)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE,
91, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(449, 449, 449)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE,
231, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE,
161, Short.MAX_VALUE)
.addComponent(jTextField2))))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 340,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(610, 610, 610)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 48,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(49, 49, 49)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 28,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE,
28, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE,
28, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 28,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(8, 8, 8)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 29,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(209, 209, 209)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 24,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(56, 56, 56))))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 478,
Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String username="wrong user Name or Password ";
String password="";
try{
Connection con;
con=(Connection)
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/drycleaner","root","");
Statement st=(Statement) con.createStatement();
st.execute("select * from registration where username='"+jTextField1.getText()+"' and
password='"+jTextField2.getText()+"'");
ResultSet rs=st.getResultSet();
if (rs!=null){
while(rs.next()){
//String s=rs.getString(4);
username="login succesful";
}
}
}
catch(Exception r){
r.printStackTrace();
}
jLabel5.setText(username);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} 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);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new login().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
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.JPanel jPanel1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
// End of variables declaration
}
2. Receive from workshop:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package drycleaninngsoftware;
import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Calendar;
import javax.swing.InputMap;
import javax.swing.JOptionPane;
import javax.swing.KeyStroke;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import net.proteanit.sql.DbUtils;
/**
*
* @author shikarii
*/
public class Receive_from_workshop extends javax.swing.JFrame {
/**
* Creates new form Receive_from_workshop
*/
String s[]={"s.no","invoice.no","bar_code" ,"contact_no","deliver
date","order_date","category","sub-category","services","quantity","workshop_date","select"};
DefaultTableModel model1= new DefaultTableModel(){
public boolean isCellEditable(int r , int c){
return true;
}};
public Receive_from_workshop() {
initComponents();
setLocationRelativeTo(null);
model1.setColumnIdentifiers(s);
jTable1.setModel(model1);
//--------------------------- adding check box-------------------//
TableColumn col=jTable1.getColumnModel().getColumn(11);
col.setCellEditor(jTable1.getDefaultEditor(Boolean.class));
col.setCellRenderer(jTable1.getDefaultRenderer(Boolean.class) );
//----------------------------------------------------------------//
try{
java.sql.Connection conn = (java.sql.Connection)
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/drycleaner", "root", "");
String query="Select * from to_workshop where received_from_workshop=?";
PreparedStatement ps= (PreparedStatement) conn.prepareStatement(query);
ps.setString(1,"0");
ResultSet rs=ps.executeQuery();
if(rs!=null)
{
//refersh_table();
while(rs.next())
{
int i=jTable1.getRowCount()+1;
model1.addRow(new Object[]{""+i,"","","","","","","","","","",false});
jTable1.setModel(model1);
int k=i-1;
jTable1.setValueAt(rs.getString(2), k, 1);//invoice
jTable1.setValueAt(rs.getString(3), k, 2);// bar code
jTable1.setValueAt(rs.getString(4), k, 3);// contact
jTable1.setValueAt(rs.getString(5), k, 4);//delivery date
jTable1.setValueAt(rs.getString(6), k, 5);// order date
jTable1.setValueAt(rs.getString(7), k, 6);//category
jTable1.setValueAt(rs.getString(8), k, 7);//subcategory
jTable1.setValueAt(rs.getString(9), k, 8);//services
jTable1.setValueAt(rs.getString(10), k, 9);//quantity
jTable1.setValueAt(rs.getString(11), k, 10);//quantity
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setBackground(new java.awt.Color(0, 102, 204));
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(jTable1);
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});
jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jTextField1KeyReleased(evt);
}
});
jButton1.setText("update");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 24)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Recived form Workshop");
jLabel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(255,
255, 255)));
jLabel2.setBackground(new java.awt.Color(0, 102, 204));
jLabel2.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText("Search");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(302, 302, 302)
.addComponent(jButton1))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(224, 224, 224)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE,
312, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(0, 0, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(19, 19, 19)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 803,
Short.MAX_VALUE)))
.addContainerGap())
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(93, 93, 93)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 70,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 117,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 47,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 29,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 50,
Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 128,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(44, 44, 44)
.addComponent(jButton1)
.addGap(21, 21, 21))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
void refersh_table(){
//------------------------refreshing the table-----------------------------//
model1= new DefaultTableModel();
// String s2[]={"first","second","third"};
model1.setColumnIdentifiers(s);
model1.addRow(new Object[]{"","","","","","","","","","","",false});
model1.setRowCount(0);
jTable1.setModel(model1);
//---------------------------------------------------------------------------//
//--------------------------- adding check box-------------------//
TableColumn col=jTable1.getColumnModel().getColumn(11);
col.setCellEditor(jTable1.getDefaultEditor(Boolean.class));
col.setCellRenderer(jTable1.getDefaultRenderer(Boolean.class) );
//----------------------------------------------------------------//
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
//---------------------by invoice no------------------------------------//
try{
java.sql.Connection conn = (java.sql.Connection)
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/drycleaner", "root", "");
String query="Select * from to_workshop where (invoice_no=? or contact_no=? or
bar_code=?) and received_from_workshop=?";
PreparedStatement ps= (PreparedStatement) conn.prepareStatement(query);
ps.setString(1,jTextField1.getText());
ps.setString(2,jTextField1.getText());
ps.setString(3,jTextField1.getText());
ps.setString(4,"0");
ResultSet rs=ps.executeQuery();
if(rs!=null)
{
refersh_table();
while(rs.next())
{
int i=jTable1.getRowCount()+1;
model1.addRow(new Object[]{""+i,"","","","","","","","","","",false});
jTable1.setModel(model1);
int k=i-1;
jTable1.setValueAt(rs.getString(2), k, 1);//invoice
jTable1.setValueAt(rs.getString(3), k, 2);// bar code
jTable1.setValueAt(rs.getString(4), k, 3);// contact
jTable1.setValueAt(rs.getString(5), k, 4);//delivery date
jTable1.setValueAt(rs.getString(6), k, 5);// order date
jTable1.setValueAt(rs.getString(7), k, 6);//category
jTable1.setValueAt(rs.getString(8), k, 7);//subcategory
jTable1.setValueAt(rs.getString(9), k, 8);//services
jTable1.setValueAt(rs.getString(10), k, 9);//quantity
jTable1.setValueAt(rs.getString(11), k, 10);//quantity
}
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int k = JOptionPane.showConfirmDialog(this, "Areo u sure u want to do
it","Confirmation",JOptionPane.YES_NO_OPTION);
if(k==0)// this means yes
{
int i=jTable1.getRowCount();
for(int x =0;x<i;x++){
if(jTable1.getValueAt(x, 11)==true){
String bar_code="";
try{
//--------------------------------current date--------------------------------//
Calendar cl= Calendar.getInstance();
int date=cl.get(Calendar.DATE);
int month=cl.get(Calendar.MONTH)+1;
int year=cl.get(Calendar.YEAR);
String d=""+date+"-"+month+"-"+year;
//------------------------------------------------------------------------------//
Connection con;
con = (Connection)
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/drycleaner","root","");
String query;
query = "insert into
from_workshop(invoice_no,contact_no,delivery_date,order_date,w_send_date,category,sub_cate
gory,services,quantity,bar_code,w_receive_date,deliverd)"+"values(?,?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement ps=(PreparedStatement) con.prepareStatement(query);
// invoice.no","bar_code" ,"contact_no","deliver date","order_date","category","sub-
category","services","quantity","select"
ps.setString(1, jTable1.getValueAt(x, 1).toString());//invoice
ps.setString(2,jTable1.getValueAt(x, 3).toString());//contact_no
ps.setString(3, jTable1.getValueAt(x, 4).toString());//date_delivery
ps.setString(4, jTable1.getValueAt(x, 5).toString());//order_Date
ps.setString(5, jTable1.getValueAt(x, 10).toString());//sending date
ps.setString(6, jTable1.getValueAt(x, 6).toString());//cateogry
ps.setString(7, jTable1.getValueAt(x, 7).toString());//sub_category
ps.setString(8, jTable1.getValueAt(x, 8).toString());//services
ps.setString(9, jTable1.getValueAt(x, 9).toString());//quantity
ps.setString(10, jTable1.getValueAt(x,2).toString());//bar_code
bar_code=jTable1.getValueAt(x,2).toString();
ps.setString(11, d);//recivng date
ps.setString(12, "0");//deliverd
ps.execute();
try{
String query1 ="update to_workshop set received_from_workshop=? where bar_code=?";
PreparedStatement ps1= (PreparedStatement) con.prepareStatement(query1);
ps1.setString(1,""+1);
ps1.setString(2,bar_code);
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
//------------- to upadte to_workshoop table that following itmes have been recivd--------------
//
//-----------------------------------------------------------------------------------------------//
}}}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Receive_from_workshop.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Receive_from_workshop.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Receive_from_workshop.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Receive_from_workshop.class.getName()).log(java.util.loggi
ng.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Receive_from_workshop().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}
3) Send to Workshop:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package drycleaninngsoftware;
import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Calendar;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.InputMap;
import javax.swing.JOptionPane;
import javax.swing.KeyStroke;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
/**
*
* @author shikarii
*/
public class Send_to_workshop extends javax.swing.JFrame {
/**
* Creates new form Send_to_workshop
*/
String s[]={"s.no","invoice.no","bar_code" ,"contact_no","deliver
date","order_date","category","sub-category","services","quantity","select"};
DefaultTableModel model1= new DefaultTableModel(){
public boolean isCellEditable(int r , int c){
return true;
}};
public Send_to_workshop() {
initComponents();
setLocationRelativeTo(null);
model1.setColumnIdentifiers(s);
jTable1.setModel(model1);
//--------------------------- adding check box-------------------//
TableColumn col=jTable1.getColumnModel().getColumn(10);
col.setCellEditor(jTable1.getDefaultEditor(Boolean.class));
col.setCellRenderer(jTable1.getDefaultRenderer(Boolean.class) );
//----------------------------------------------------------------//
//--------------------gettting values for order having status zero-------------//////
try
{
java.sql.Connection conn = (java.sql.Connection)
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/drycleaner", "root", "");
Statement ss2 = conn.createStatement();
ss2.execute("select * from order_taken where status=0");
ResultSet rs=ss2.getResultSet();
if(rs!=null)
{
while(rs.next())
{
int i=jTable1.getRowCount()+1;
model1.addRow(new Object[]{""+i,"","","","","","","","","",false});
jTable1.setModel(model1);
int k=i-1;
jTable1.setValueAt(rs.getString(2), k, 1);//invoice
jTable1.setValueAt(rs.getString(3), k, 2);// bar code
jTable1.setValueAt(rs.getString(4), k, 3);// contact
jTable1.setValueAt(rs.getString(5), k, 4);//delivery date
jTable1.setValueAt(rs.getString(6), k, 5);// order date
jTable1.setValueAt(rs.getString(10), k, 6);//category
jTable1.setValueAt(rs.getString(11), k, 7);//subcategory
jTable1.setValueAt(rs.getString(12), k, 8);//services
jTable1.setValueAt(rs.getString(13), k, 9);//quantity
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
//---------------------------------------------------------------------------------//
InputMap im=jButton1.getInputMap();
im.put(KeyStroke.getKeyStroke("ENTER"),"pressed");
im.put(KeyStroke.getKeyStroke("released ENTER"),"released");
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jTextField1 = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jPanel1.setBackground(new java.awt.Color(0, 102, 204));
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});
jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jTextField1KeyReleased(evt);
}
});
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(jTable1);
jButton1.setText("save");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 736,
Short.MAX_VALUE)
.addGap(36, 36, 36))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(239, 239, 239)
.addComponent(jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE, 117,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(249, 249, 249)
.addComponent(jButton1)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 29,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 128,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jButton1)
.addContainerGap(121, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int k = JOptionPane.showConfirmDialog(this, "Areo u sure u want to do
it","Confirmation",JOptionPane.YES_NO_OPTION);
if(k==0)// this means yes
{
int i=jTable1.getRowCount();
for(int x =0;x<i;x++){
if(jTable1.getValueAt(x, 10)==true){
String s=(jTable1.getValueAt(x,2).toString());
try{
java.sql.Connection conn = (java.sql.Connection)
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/drycleaner", "root", "");
String query ="update order_taken set status=? where bar_code=?";
PreparedStatement ps= (PreparedStatement) conn.prepareStatement(query);
ps.setInt(1,1);
ps.setString(2, s);
ps.execute();
System.out.println(s);
}
catch (SQLException ex){
ex.printStackTrace();
}
//---------- to save data into database TO WORKSHOP table by using save button---------
--//
try{
//--------------------------------current date--------------------------------//
Calendar cl= Calendar.getInstance();
int date=cl.get(Calendar.DATE);
int month=cl.get(Calendar.MONTH)+1;
int year=cl.get(Calendar.YEAR);
String d=""+date+"-"+month+"-"+year;
//------------------------------------------------------------------------------//
Connection con;
con = (Connection)
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/drycleaner","root","");
String query;
query = "insert into
to_workshop(invoice_no,contact_no,delivery_date,order_date,sending_date,category,sub_catego
ry,services,quantity,bar_code,received_from_workshop)"+"values(?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement ps=(PreparedStatement) con.prepareStatement(query);
// invoice.no","bar_code" ,"contact_no","deliver date","order_date","category","sub-
category","services","quantity","select"
ps.setString(1, jTable1.getValueAt(x, 1).toString());//invoice
ps.setString(2,jTable1.getValueAt(x, 3).toString());//contact_no
ps.setString(3, jTable1.getValueAt(x, 4).toString());//date_delivery
ps.setString(4, jTable1.getValueAt(x, 5).toString());//order_Date
ps.setString(5, d);//sending date
ps.setString(6, jTable1.getValueAt(x, 6).toString());//cateogry
ps.setString(7, jTable1.getValueAt(x, 7).toString());//sub_category
ps.setString(8, jTable1.getValueAt(x, 8).toString());//services
ps.setString(9, jTable1.getValueAt(x, 9).toString());//quantity
ps.setString(10, jTable1.getValueAt(x,2).toString());//bar_code
ps.setString(11,"0");//received from wrokshop
ps.execute();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
}
}
}
void refersh_table(){
//------------------------refreshing the table-----------------------------//
model1= new DefaultTableModel();
// String s2[]={"first","second","third"};
model1.setColumnIdentifiers(s);
model1.addRow(new Object[]{"","","","","","","","","","",false});
model1.setRowCount(0);
jTable1.setModel(model1);
//---------------------------------------------------------------------------//
//--------------------------- adding check box-------------------//
TableColumn col=jTable1.getColumnModel().getColumn(10);
col.setCellEditor(jTable1.getDefaultEditor(Boolean.class));
col.setCellRenderer(jTable1.getDefaultRenderer(Boolean.class) );
//----------------------------------------------------------------//
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
///----------------search data by invoice no. OR coustomer_no OR customer ID or bar code
//-------------------- search by invoice------------------------------//
//--------------------gettting values for order having status zero-------------//////
try
{
java.sql.Connection conn = (java.sql.Connection)
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/drycleaner", "root", "");
String query="Select * from order_taken where invoice_no=? and status=0";
PreparedStatement ps= (PreparedStatement) conn.prepareStatement(query);
ps.setString(1,jTextField1.getText());
ResultSet rs=ps.executeQuery();
if(rs!=null)
{
refersh_table();
while(rs.next())
{
int i=jTable1.getRowCount()+1;
model1.addRow(new Object[]{""+i,"","","","","","","","","",false});
jTable1.setModel(model1);
int k=i-1;
jTable1.setValueAt(rs.getString(2), k, 1);//invoice
jTable1.setValueAt(rs.getString(3), k, 2);// bar code
jTable1.setValueAt(rs.getString(4), k, 3);// contact
jTable1.setValueAt(rs.getString(5), k, 4);//delivery date
jTable1.setValueAt(rs.getString(6), k, 5);// order date
jTable1.setValueAt(rs.getString(10), k, 6);//category
jTable1.setValueAt(rs.getString(11), k, 7);//subcategory
jTable1.setValueAt(rs.getString(12), k, 8);//services
jTable1.setValueAt(rs.getString(13), k, 9);//quantity
}
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
//--------------------gettting values for invoice having status zero by C-ID-------------//////
try
{
java.sql.Connection conn = (java.sql.Connection)
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/drycleaner", "root", "");
Search_customer obj1=new Search_customer();
obj1.customer_id(jTextField1.getText());
String query="Select * from order_taken where contact_no=? and status=0";
PreparedStatement ps= (PreparedStatement) conn.prepareStatement(query);
ps.setString(1,obj1.contact);
ResultSet rs=ps.executeQuery();
//refersh_table();
if(rs!=null)
{
while(rs.next())
{
int i=jTable1.getRowCount()+1;
model1.addRow(new Object[]{""+i,"","","","","","","","","",false});
jTable1.setModel(model1);
int k=i-1;
jTable1.setValueAt(rs.getString(2), k, 1);//invoice
jTable1.setValueAt(rs.getString(3), k, 2);// bar code
jTable1.setValueAt(rs.getString(4), k, 3);// contact
jTable1.setValueAt(rs.getString(5), k, 4);//delivery date
jTable1.setValueAt(rs.getString(6), k, 5);// order date
jTable1.setValueAt(rs.getString(10), k, 6);//category
jTable1.setValueAt(rs.getString(11), k, 7);//subcategory
jTable1.setValueAt(rs.getString(12), k, 8);//services
jTable1.setValueAt(rs.getString(13), k, 9);//quantity
}
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
//--------------------gettting values for order having status zero-------------//////
try
{
java.sql.Connection conn = (java.sql.Connection)
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/drycleaner", "root", "");
String query="Select * from order_taken where bar_code=? and status=0";
PreparedStatement ps= (PreparedStatement) conn.prepareStatement(query);
ps.setString(1,jTextField1.getText());
ResultSet rs=ps.executeQuery();
if(rs!=null)
{
refersh_table();
while(rs.next())
{
int i=jTable1.getRowCount()+1;
model1.addRow(new Object[]{""+i,"","","","","","","","","",false});
jTable1.setModel(model1);
int k=i-1;
jTable1.setValueAt(rs.getString(2), k, 1);//invoice
jTable1.setValueAt(rs.getString(3), k, 2);// bar code
jTable1.setValueAt(rs.getString(4), k, 3);// contact
jTable1.setValueAt(rs.getString(5), k, 4);//delivery date
jTable1.setValueAt(rs.getString(6), k, 5);// order date
jTable1.setValueAt(rs.getString(10), k, 6);//category
jTable1.setValueAt(rs.getString(11), k, 7);//subcategory
jTable1.setValueAt(rs.getString(12), k, 8);//services
jTable1.setValueAt(rs.getString(13), k, 9);//quantity
}
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Send_to_workshop.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Send_to_workshop.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Send_to_workshop.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Send_to_workshop.class.getName()).log(java.util.logging.Le
vel.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Send_to_workshop().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}
COMPANY PROFILE
Mine Solutions has grown into a full-service marketing organization focused on creating
integrated strategies, intuitive technology In that time, they have been meeting the needs of every
organization they serve while growing as a strong, creative and strategic partner.
They provide value for money services that not only helps your business save, but also scale
new heights of success. The clients have said that they are with us for our quality service.
Mine Solutions offers a team of hard-working and dedicated professionals proficient in advanced
hardware and software technologies. Our state-of-the-art infrastructure guarantees hassle-free
operations and 24x7 supports to our global clients.
Informative
We've helped many entrepreneurs, established companies, institutions and agencies realize their
ideas.
Fast
We are not only an affordable web design agency but a client focused too, developing websites
to generate the right website traffic and results.
Experienced Professionals
Crystal Eye Design is backed by the teams of well-qualified web developers & designers at the
forefront to strongly foster the project .
Company Detail Mine solutions pvt.ltd
114/102 new civil lines lakhanpur
Kanpur [up] 208024
Websites www.way2mine.com
Email [email protected]
VITAE
The author, Rahul Kushwaha was born on 20th November 1991 at Kanpur,
Uttar Pradesh. He passed his High School in 2006 from P.P.S, Kanpur, Uttar
Pradesh and Intermediate in 2008 from P.P.S, Kanpur, Uttar Pradesh. He earned
his BCA degree from C.C.S University, Merrut in 2011 then he joined the MCA
degree at G.B.P.U.A.T, Pantnagar, U.S.Nagar in August 2012.
Address of Correspondence
Rahul Kushwaha
S/o Mr. Rajesh Kumar Kushwaha
Vinayakpur, Kanpur
Post & Distt –Kanpur
Uttar Pradesh-208026
Email: [email protected]
NAME : RAHUL KUSHWAHA
ID No. : 44012
SEMESTER & YEAR OF ADMISSION : I, 2012-13
DEGREE : Master of Computer Applications
DEPARTMENT : Information Technology
INDUSTRIAL TRAINING/PROJECT TITLE : Dry Cleaning Management System
ADVISOR : Mr. Rajesh Shyam Singh
ABSTRACT
Dry Cleaning Management System provides any dry cleaning & laundry business with
the tools and the capability to digitize their business operations in such a way that they can
better serve their customers more efficiently and effectively, at the same time giving the
business owner an accurate record of their business transactions. Without accurate, complete
and timely information of management accounts, sound and accurate business decisions
cannot be made. This Software will be helpful in the smooth functioning of the organization
due to integration of various functions. This system offers user to enter the data through
simple & interactive forms. There are checks in every stage of any new creation, data entry
or updating so that the user cannot enter the invalid data, that can cause problems at a later
date. Decision making process would be greatly enhanced because of faster processing of
information since data collection from information available on computer takes much less
time than manual system. . This system will be able to generate bills as per user requirement
in user friendly manner. Data storage and Retrieval will become faster and easier to maintain
because data is stored in a systematic manner and in a single database.
(Rajesh Shyam Singh) (Rahul Kushwaha)
Advisor Author
नाम : राहुल कुशवाहा पहचान संख्या : ४४०१२
प्रवेश का वर्ष : १, २०१२-१३
उपाधि : एमसीए
ववभाग : सूचना प्रौद्योधगकी औद्योधगक प्रशशक्षण / पररयोजना शीर्षक : ड्राई क्लीननगं प्रबंिन प्रणाली
परामशषदाता :राजेश श्याम शसहं
सारांश
ड्राई क्लीन िंग प्रबिंध वह प्रणाली है जिसमे लािंड्री और ड्राई क्लीन िंग व्यवसाय के माललक को यह एक उपकरण और क्षमता प्रदा करता है कक वह अप े ग्राहकों को बेहतर और अधधक कुशलतापूववक
और प्रभावी ढिंग से सेवा प्रदा कर सकेl यह सॉफ्टवेर ववलभन् कायो का सुचारू रूप से एकाकीकरण तथा सिंगठ कर े में सहायक होगा। यह प्रणाली उपयोगकताव को डटेा दिव कर े के ललए सरल और इिंटरैजक्टव फॉमव प्रदा करते हैl इस प्रणाली में प्रतके स्तर पर िााँच प्रकिया लगाई गई है िो की अमान्य डटेा दिव कर े से रोकती हैl
किं प्यूटर पर उपलब्ध िा कारी से डटेा सिंग्रह के बाद स्वयिं न णवय ले े की छमता के कारण यह मैन्युअल प्रणाली की तुल ा में बहुत कम समय लगता हैl यह प्रणाली उपयोगकताव की िा कारी के अ ुसार बबल प्रस्तुत कर े में सक्षम हैl एक एकल डटेाबेस में डाटा सिंगहृीत हो े के कारण डाटा सिंग्रहण और पु ः प्राजप्त बहुत तेि है और इसे व्यवजस्थत कर ा आसा हैl
(राजेश श्याम शसहं) (राहुल कुशवाहा) परामशवदाता लेखक
WORKING OF THE PROJECT
Insert the CD in your system.
Open CD Drive and install Netbeans IDE and Jdk 1.8.
Install back-end database MySQL server.
Install Server Apache Tomcat 1.8.
Open Netbeans and Configure it.
Go to File menu of Netbeans and Select Import.
Now Browse Project in Netbeans and select Login from web content and Run it.
Now Login Page will open , enter “admin” as username and password.
After login the menu bar will open now user has to select desire menu item.
To take new order select “order taking” from menu and fill the whole form to take
order .
For sending order to workshop user has to select “To workshop ” from menu item
and select the order to send it to workshop.
At the time of receiving order form workshop update the status of item by opening
receive form workshop form menu item.
To generate receipt go to print receipt and enter the invoice no. to print that invoice .