Auto-Spare Part Management Report
Auto-Spare Part Management Report
Project Report
On
Prepared By
Pavan Patil 51
Hrushikesh Rajankar 54
Gopal Paraskar 49
Karan Nakum 47
CERTIFICATE
This is to certify that “Student Association Management” embodies
the original work done by Pavan Patil, Hrushikesh Rajankar, Gopal Paraskar,
Karan Nakum during this project submission as a partial fulfilment of the
requirement for the Mini Project in subject DBMS of B.E. Degree, Vth
Semester, of Savitribai Phule Pune University during the academic year 2020-
2021
External Examiner
Sr. No. Index Page No.
1 Introduction 1
2 Scope and Limitation 2
3 Requirement Analysis 3
4 Feasibility Study 4
5 System Requirement 6
6 Design (ER Diagram) 7
7 ER to Table Conversion 8
8 Normalization 9
9 Schema Diagram 14
10 Coding(DDL,DML,Connectivity) 15
11 Screenshots 31
12 Future Scope and Enhancement 38
13 Conclusion 39
14 Reference 40
1. Introduction
1
2. Scope and Limitation
2.1 Scope:
The main reason to build this project is to provide the seller a in-look
of the shop. This project wills the guide owner to the products available in
the shop and which are required to order from the sellers. By this,
shopkeeper doesn’t have to keep track of the records manually. The more
comfortable users of computerized systems were mostly users with a fair
accounting knowledge. In some cases business owners left the entire
system to the accountant who was more familiar with the system, a
situation some said possess a business risk. Deductions from the
requirements analysis show that ease of use and knowledge prerequisite
are the main reasons why most SMEs are not able to adopt computerized
systems fully for tracking and managing their sales processes. This
situation makes them stick to old and sometimes wasteful methods of
tracking sales. The effect of this is loss of profits due to poor record
keeping. Project managers use feasibility studies to discern the pros and
cons of undertaking a project before they invest a lot of time and money
into it.
2.2 Limitation:
The process of gathering information and the record is
time consuming. Since the system, response time is high.
Only the person who manages it regularly can handle it in proper
direction.
The system allows one participant to register for only one
event. A single user can’t get registered for more than one event
2
3. Requirement Analysis
3
4. Feasibility Study
Economic Feasibility:
This assessment typically involves a cost/ benefits analysis of the
project, helping organizations determine the viability, cost, and
benefits associated with a project before financial resources are
allocated. It also serves as an independent project assessment and
enhances project credibility—helping decision-makers determine the
positive economic benefits to the organization that the proposed
project will provide.
Legal Feasibility:
This assessment investigates whether any aspect of the proposed
project conflicts with legal requirements like zoning laws, data
protection acts or social media laws. Let’s say an organization wants
to construct a new office building in a specific location. A feasibility
study might reveal the organization’s ideal location isn’t zoned for
that type of business. That organization has just saved considerable
4
time and effort by learning that their project was not feasible right
from the beginning.
Scheduling Feasibility:
This assessment is the most important for project success; after all, a
project will fail if not completed on time. In scheduling feasibility, an
organization estimates how much time the project will take to
complete.
Operational Feasibility:
Operational feasibility studies also examine how a project plan
satisfies the requirements identified in the requirements analysis phase
of system development.
5
5. System Requirement
1. Hardware Requirement:
Core to Dual or above
2 GB RAM
25 GB Free Hard disk space
Network interface card or Modem
LAN Network
2. Software Requirements:
Windows XP/7/8/10
Linux
DBMS
NetBeans IDE 8.0.2
SQL databases
6
6. Design (ER Diagram)
7
7. ER to Table Conversion
7.2 Distributor
7.3 Staff
7.4 Spare_Parts
7.5 Order
o_id o_date
8
8. Normalization (up to 3NF)
1. Customer Table
c_id phone
c_id ->phone;
9
c_id,c_mail - >c_add (candidate key)
c_id,c_mail - >c_dob (candidate key)
c_dob - >c_age (Transitive Dependency)
Here c_age is transitively dependent on candidate key c_id,c_mail.
1.3 Customer_age Table
c_dob c_age
C_dob-> c_add ;
2. Distributor
d_id phone
d_id ->phone;
d_id->d_name, d_add ;
10
The Distributor Table is in 2 NF as:
It is in 1 NF
Here , d_id- >d_name (primary key)
d -> d_add (primary key)
d-> phone (primary key)
No partial dependency here (no change)
3. Staff
s_id phone
s_id ->phone;
11
s_id->s_name, s_add;
4. Spare_Parts
Sp_id->rate, quantity;
The Spare_parts Table is in 1 NF as:
All the underlying domains of the relation contain atomic (indivisible) values.
No repeating groups in the table.
All attributes dependent on primary key.
No change here
12
The Spare_parts Table is in 2 NF as:
It is in 1 NF
Functiona dependencies here –
Sp_id ->rate (primary key)
Sp_id ->quantity (primary
key)
No Partial Dependency Here.
5. Order
o_id o_date
O_id-> o_date;
The Order Table is in 1 NF as:
All the underlying domains of the relation contain atomic (indivisible) values.
No repeating groups in the table.
All attributes dependent on primary key.
13
9. Schema Diagram
14
10. Coding (DDL,DML,Connectivity)
1. DDL and DML commands
/*!40101 SET
@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET
@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET
@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `spare_parts`
--
--
-- Table structure for table `category`
--
15
`CNAME` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `category`
--
--
-- Table structure for table `customer`
--
--
-- Dumping data for table `customer`
--
16
--
-- Table structure for table `employee`
--
--
-- Dumping data for table `employee`
--
--
-- Table structure for table `job`
17
--
CREATE TABLE `job` (
`JOB_ID` int(11) NOT NULL,
`JOB_TITLE` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `job`
--
--
-- Table structure for table `location`
--
--
-- Dumping data for table `location`
--
18
(165, 'amravati', 'dhamangaon');
--
-- Table structure for table `manager`
--
--
-- Table structure for table `product`
--
--
-- Dumping data for table `product`
--
19
INSERT INTO `product` (`PRODUCT_ID`, `PRODUCT_CODE`, `NAME`,
`DESCRIPTION`, `QTY_STOCK`, `ON_HAND`, `PRICE`,
`CATEGORY_ID`, `SUPPLIER_ID`, `DATE_STOCK_IN`) VALUES
(28, '1', 'wires', '', 1, 1, 300, 4, 19, ''),
(29, '1', 'wires', '', 1, 1, 300, 4, 19, ''),
(30, '1', 'wires', '', 1, 1, 300, 4, 19, ''),
(31, '1', 'wires', '', 1, 1, 300, 4, 19, ''),
(32, '1', 'wires', '', 1, 1, 300, 4, 19, ''),
(33, '1', 'wires', '', 1, 1, 300, 4, 19, ''),
(34, '1', 'wires', '', 1, 1, 300, 4, 19, ''),
(35, '1', 'wires', '', 1, 1, 300, 4, 19, ''),
(36, '1', 'wires', '', 1, 1, 300, 4, 19, ''),
(37, '1', 'wires', '', 1, 1, 300, 4, 19, ''),
(38, '1', 'wires', '', 1, 1, 300, 4, 19, ''),
(39, '1', 'wires', '', 1, 1, 300, 4, 19, ''),
(40, '2', 'headlights', '', 1, 1, 2500, 1, 17, ''),
(41, '2', 'headlights', '', 1, 1, 2500, 1, 17, ''),
(42, '2', 'headlights', '', 1, 1, 2500, 1, 17, ''),
(43, '2', 'headlights', '', 1, 1, 2500, 1, 17, ''),
(44, '2', 'headlights', '', 1, 1, 2500, 1, 17, ''),
(45, '2', 'headlights', '', 1, 1, 2500, 1, 17, ''),
(46, '2', 'headlights', '', 1, 1, 2500, 1, 17, ''),
(47, '2', 'headlights', '', 1, 1, 2500, 1, 17, ''),
(48, '2', 'headlights', '', 1, 1, 2500, 1, 17, ''),
(49, '2', 'headlights', '', 1, 1, 2500, 1, 17, ''),
(50, '2', 'headlights', '', 1, 1, 2500, 1, 17, ''),
--
20
-- Table structure for table `supplier`
--
--
-- Dumping data for table `supplier`
--
--
-- Table structure for table `transaction`
--
21
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `transaction`
--
--
-- Table structure for table `transaction_details`
--
--
-- Dumping data for table `transaction_details`
--
22
(22, '111151334', 'wires', '1', '300', 'pavan', 'Manager'),
(23, '111151334', 'headlights', '1', '2500', 'pavan',
'Manager');
--
-- Table structure for table `type`
--
--
-- Dumping data for table `type`
--
--
-- Table structure for table `users`
--
23
`TYPE_ID` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `users`
--
--
-- Indexes for dumped tables
--
--
-- Indexes for table `category`
--
ALTER TABLE `category`
ADD PRIMARY KEY (`CATEGORY_ID`);
--
-- Indexes for table `customer`
--
ALTER TABLE `customer`
ADD PRIMARY KEY (`CUST_ID`);
--
-- Indexes for table `employee`
--
ALTER TABLE `employee`
ADD PRIMARY KEY (`EMPLOYEE_ID`),
24
ADD UNIQUE KEY `EMPLOYEE_ID` (`EMPLOYEE_ID`),
ADD UNIQUE KEY `PHONE_NUMBER` (`PHONE_NUMBER`),
ADD KEY `LOCATION_ID` (`LOCATION_ID`),
ADD KEY `JOB_ID` (`JOB_ID`);
--
-- Indexes for table `job`
--
ALTER TABLE `job`
ADD PRIMARY KEY (`JOB_ID`);
--
-- Indexes for table `location`
--
ALTER TABLE `location`
ADD PRIMARY KEY (`LOCATION_ID`);
--
-- Indexes for table `manager`
--
-- Indexes for table `product`
--
ALTER TABLE `product`
ADD PRIMARY KEY (`PRODUCT_ID`),
ADD KEY `CATEGORY_ID` (`CATEGORY_ID`),
ADD KEY `SUPPLIER_ID` (`SUPPLIER_ID`);
--
-- Indexes for table `supplier`
--
ALTER TABLE `supplier`
ADD PRIMARY KEY (`SUPPLIER_ID`),
ADD KEY `LOCATION_ID` (`LOCATION_ID`);
25
--
-- Indexes for table `transaction`
--
ALTER TABLE `transaction`
ADD PRIMARY KEY (`TRANS_ID`),
ADD KEY `TRANS_DETAIL_ID` (`TRANS_D_ID`),
ADD KEY `CUST_ID` (`CUST_ID`);
--
-- Indexes for table `transaction_details`
--
ALTER TABLE `transaction_details`
ADD PRIMARY KEY (`ID`),
ADD KEY `TRANS_D_ID` (`TRANS_D_ID`) USING BTREE;
--
-- Indexes for table `type`
--
ALTER TABLE `type`
ADD PRIMARY KEY (`TYPE_ID`);
--
-- Indexes for table `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`ID`),
ADD KEY `TYPE_ID` (`TYPE_ID`),
ADD KEY `EMPLOYEE_ID` (`EMPLOYEE_ID`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `category`
26
--
ALTER TABLE `category`
MODIFY `CATEGORY_ID` int(11) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=10;
--
-- AUTO_INCREMENT for table `customer`
--
ALTER TABLE `customer`
MODIFY `CUST_ID` int(11) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=22;
--
-- AUTO_INCREMENT for table `employee`
--
ALTER TABLE `employee`
MODIFY `EMPLOYEE_ID` int(11) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=8;
--
-- AUTO_INCREMENT for table `location`
--
ALTER TABLE `location`
MODIFY `LOCATION_ID` int(11) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=166;
--
-- AUTO_INCREMENT for table `product`
--
ALTER TABLE `product`
MODIFY `PRODUCT_ID` int(11) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=665;
--
-- AUTO_INCREMENT for table `supplier`
--
ALTER TABLE `supplier`
27
MODIFY `SUPPLIER_ID` int(11) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=21;
--
-- AUTO_INCREMENT for table `transaction`
--
ALTER TABLE `transaction`
MODIFY `TRANS_ID` int(50) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=15;
--
-- AUTO_INCREMENT for table `transaction_details`
--
ALTER TABLE `transaction_details`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=24;
--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT,
AUTO_INCREMENT=10;
--
-- Constraints for dumped table
--
--
-- Constraints for table `employee`
--
ALTER TABLE `employee`
ADD CONSTRAINT `employee_ibfk_1` FOREIGN KEY
(`LOCATION_ID`) REFERENCES `location` (`LOCATION_ID`),
ADD CONSTRAINT `employee_ibfk_2` FOREIGN KEY (`JOB_ID`)
REFERENCES `job` (`JOB_ID`);
--
-- Constraints for table `manager`
28
--
ALTER TABLE `manager`
ADD CONSTRAINT `manager_ibfk_1` FOREIGN KEY
(`LOCATION_ID`) REFERENCES `location` (`LOCATION_ID`);
--
-- Constraints for table `product`
--
ALTER TABLE `product`
ADD CONSTRAINT `product_ibfk_1` FOREIGN KEY
(`CATEGORY_ID`) REFERENCES `category` (`CATEGORY_ID`),
ADD CONSTRAINT `product_ibfk_2` FOREIGN KEY
(`SUPPLIER_ID`) REFERENCES `supplier` (`SUPPLIER_ID`);
--
-- Constraints for table `supplier`
--
ALTER TABLE `supplier`
ADD CONSTRAINT `supplier_ibfk_1` FOREIGN KEY
(`LOCATION_ID`) REFERENCES `location` (`LOCATION_ID`);
--
-- Constraints for table `transaction`
--
ALTER TABLE `transaction`
ADD CONSTRAINT `transaction_ibfk_3` FOREIGN KEY
(`CUST_ID`) REFERENCES `customer` (`CUST_ID`),
--
-- Constraints for table `users`
--
ALTER TABLE `users`
ADD CONSTRAINT `users_ibfk_3` FOREIGN KEY (`TYPE_ID`)
REFERENCES `type` (`TYPE_ID`),
29
ADD CONSTRAINT `users_ibfk_4` FOREIGN KEY (`EMPLOYEE_ID`)
REFERENCES `employee` (`EMPLOYEE_ID`);
COMMIT;
2. Connectivity
<?php
$db = mysqli_connect('localhost', 'root', '') or
die ('Unable to connect. Check connection.');
mysqli_select_db($db, 'Spare_parts' ) or
die(mysqli_error($db));
?>
30
11. Screenshots
This is over login page. There are two types of login one for manager and one for
cashier. The following screenshots is for manager login.
31
This is our home page. After entering correct username and password the manager
will redirect to this page.
This is customer page. Here you will information about the entire customer who
has buy product from you. When you click on edit, you can change the information
about the customer.
32
This is our employee page here you can add or remove employee name who are
working with you or who was working with you.
Here you add name of new spare part with their details.
33
This is the page where you get all information about product you have in your
shop.
Here you will get transaction details of the entire customer. This will also show
how much of their money are remaining to pay by clicking on view as below.
34
This page will show all the details of the supplier from whom we buys product to
sell.
35
On right hand-side top you will find POS(point of sale) where we have created
four categories. Here you add the product how much you want. If you have new
user you can add on plus and add the user and create bill.
36
This page is for only cashier. Whenever, cashier login he will redirect to this page.
Access of the cashier is limit to this page.
37
12. Future Scope/Enhancement
As you see, IT industry is booming the industry from last few decades. It will keep
on booming as you go on and on. As you see our project is limited to one user\
owner. But, we can further expand this to multi-user to multi-customer and there is
way we can do that. We all know that there and various online shopping
application and website available for their basic need. But, there is no application
or website available for the Automobile Spare Parts. These were we can enhance
this project further. We can make an application like Amazon were you get every
single piece of the spare part on your application and need to go anywhere to find
it. By providing the best product at best prices everyone going to come and visit
the site. We can show the picture of the product with the offers on the particular
occasion.
We can also add the feature that how amount of work has been done by the
employee at your shop and how leaves taken by him/her. We can also add online
payment methods with the help of Google Pay, PhonePe etc.
38
13. Conclusion
At last we want to conclude that this application will decrease the overhead of the
owner of the shop. It will be easily able to monitor the available stock present in
the shop. It will also helpful for the owner that whose money is pending or how
much he has to pay to the supplier. The main motivation behind this application is
to reduce tension and easily monitor the current condition of the shop. Now there
is no need of books and paper in the shop and manually keep track of each record.
39
14. Reference
1. http://docs.oracle.com/cd/B12037_01/server.101/b10739/create.htm
2. http://docs.oracle.com/javafx/index.html
3. http://stackoverflow.com/questions/15482623/javafx-1-3-listview
4. http://stackoverflow.com/questions/8392119/javafx-1-3-crud-using-listview
5. http://docs.oracle.com/cd/E17802_01/javafx/javafx/1.3/docs/api
6. https://www.tutorialspoint.com/php/index.htm
7. https://www.w3schools.com/php/DEFAULT.asp
8. “Database System Concepts” by Henry Korth.
9. “Mysql” by Paul Dubois.
40