Online Shopping Management System Java Console Application

This Project simulates the working of an online shopping portal where customers can buy products. Our Online Shopping Management System project is a purely console-based application and is implemented using the programming language JAVA.

This Java Console Application contains mainly two panels :

  1. Admin Panel – functions provided like managing products and customers
  2. Customer Panel – functions provided like buying products and making payments

A total of 8 class files have been created which are :

  • Database connection.java
  • Shop.java ( This is the main or the starting point of the project )
  • Admin.java
  • Customer.java
  • Products.java
  • Cart.java
  • Payment.java
  • Bills.java

Java Concepts used in the project are :

  • String manipulations
  • Collections framework in form of ArrayList
  • JDBC
  • Exception Handling
  • Inheritance
  • Classes and Objects
  • BufferedReader for taking entry

ROLE OF EACH MEMBER IN THE PROJECT

  • Designed class files – DatabaseConnection.java, Shop.java, Admin.java, and Customer.java and contributed to Debugging
  • Designed class file – products.java and contributed to Debugging
  • Designed class file – bills.java and contributed to Debugging
  • Designed class files – Payment.java and Cart.java and contributed to Debugging
  • Combination of class files in the end and for their joint working, Each member contributed equally.

DETAILS OF CLASS FILES

MAIN CLASS ( superclass ) = Shop.java

SUBCLASSES of Shop.java = admin.java and customer.java

Shop.java :

Main functions = registration of customer or admin, login into system Entry through buffered Reader

Array List used in login function to store id, password, and user type ( C for the customer, A for admin ) as a list

Database tables used are login info, admin info, and cast info Login info = storing used id, password, and type of user Admininfo = storing all details of admin except password Custinfo = storing all details of the customer except password setUID() function sets the admin ID to store in database setCUID() function sets the customer ID to store in the database.

Admin.java 

Functions include managing products (add,delete,view,search) by calling productsPage() function of products.java

Other functions include adding customers, removing customers, editing profiles, view registered customers.

For registering customers, since admin.java is subclass of Shop.java , registerCustomer() function of Shop is called by Shop.registerCustomer(), hence the small use of inheritance is here as the function need not be rewritten.

Customer.java :

Database table custinfo accessed for editing profile function

The main functions are viewing products, searching for products, adding and removing products from the cart, view the cart, and proceeding to the payment function.

Here first initializeProducts() function is called to store all product info in array lists, so that database need not be accessed everytime, hence Concept of collection framework is used here in form of ArrayList and through ArrayList functions .add(), .get(), .clear()

.add() = to add to ArrayList

.get(int i) = to get the element stored at index i in the ArrayList

Proceed to payment function calls payment.java class file and functions like add to cart, remove from the cart, and view cart call Cart.java. Calling is done via class objects like customerCart and p.

customerCart = object of Cart class p=object of Payment class

Customer.java is also the subclass of Shop.java where it calls the registerCustomer() function of the Shop.java through Classname.methodname like Shop.registerCustomer()

Products.java :

The main functions are added, removing, altering product info, viewing, and searching products setPid() function is used to set product id to store in the database

database table products are accessed to add, remove and alter product info

Cart.java :

This class file contains functions of the cart like add to cart, view cart, remove the product from the cart and cancel cart which is called from the customer.java class file via object.

Here add to cart function gets the product details to be added from customer.class via the constructor and adds them to the ArrayList so that the ArrayList can be used later on for displaying cart details and other functions as required.

Payment.java :

The main function of the payment class is to display bills and pay bills by calling bill.java, therefore it is an intermediate class between customer.java and bill.java and this class also stores payment details like bill and card details.

Bill.java :

Bill. class is called from the payment page through an object, this class contains details of a bill like a billing id, products purchased, and total amount. It also contains customer details whose bill it is. It stores the product details that are purchased in the ArrayList for easy access later on.

It contains functions like :

Generate bill = for calculating and storing the total amount in a variable Set bill id = for setting the bill id

Display bill = for displaying bill details

addtoDatabase = to add bill details to database table bills.

DatabaseConnection.java :

 The database connection is a class file that is used to establish a connection with the MySQL server and to create a database “Onlineshop” and five tables – login info, admin info, bills, products, and cast info. It takes the help of a flag variable to check whether the database schema exists or not and if exists, it only connects Java to MySQL.

It is imported into the class files like Shop.java and products.java where it is used to access the database and make connections.

Exceptions that are used in the project are :

  • IOException: This exception is used wherever BufferedReader has been used.
  • For handling the exceptions caused due to database like

ClassNotFoundException or SQL Exception, a try-catch block has been added.

  • For any other type of exception, sufficient try-catch blocks have been added.

Exception Handling features that are used in the project are :

Try-Catch block

Exception class functions like printStackTrace() have been used

throws keyword has been added in those methods wherever an exception is thrown and not handled by the method itself.

Snapshot of DatabaseConnection.java where Exception handling is used.

COLLECTION FRAMEWORK USED IN THE PROJECT

The concept of collections framework is used in the project through the implementation of ArrayList .

Use of ArrayList in the project :

Array List is used in the project to store the fetched results from the database for easy access later on. ArrayList is used in many class files in the project, like in customer.java , available product details are fetched from the database and stored in the ArrayList so that whenever the customer tries to access product info, it is fetched from the ArrayList and not from the database which reduces the complexity of code and saves time.

For using ArrayList Wrapper classes used are :

  • Integer for storing integers
  • Float for storing float values
  • String as a class for storing String values

DATABASE SCHEMA USED IN THE PROJECT

Here, the concept of JDBC comes into the picture and is implemented using MySQL and JAVA. The database is used in the project for storing information about admins, customers, products, bills, and login details.

Database details are as follows :

Name of the database = Onlineshop

The tables used in the project are :

  • Login Info Table
  • Admin Info Table
  • Cust Info Table
  • Products Table
  • Bills Table

How connectivity to MySQL was done :

 To connect to the MySQL server, we have used the JDBC concept and used the SQL Driver class to connect to the MySQL database. For using the SQL Driver class and other classes used for connection, java.sql.* is imported into the java class file.

Creation of the database and creation of tables were made in the DatabaseConnection.java class file and to access the database, later on, the code written was :

Class.forName(“com.mysql.jdbc.Driver);

Connection con=DriverManager.getConnection(String URL,username,password);

SOME SNAPSHOTS OF PROJECT OUTPUT

Main Page :

Customer section :

Some important points regarding the project :

  • The connector jar file should be added to the “Java project” using :
    JRE System Library > Build Path > Configure build path > Libraries > Add External JARs
  • For connecting to the database used in the project, enter the root password of MySql

Download the Complete Java Console Application Project on Online Shopping Management System

IoT based Attendance System Project Using Blockchain and JAVA MySQL

The success of this IoT-based Attendance System app will ensure that many more parents and organizations will be motivated to use this common platform. It becomes complicated when strength is more. With the increase in technology, attendance monitoring is designed with android or web-based applications. However, the intention of this design is to provide a Blockchain-based app that can be downloaded and used by the organization with no third-party control to meddle with the data.

There is an update option to modify attendance when it’s needed. However, the modifications are recorded and tracked, just in case, it’s a fraudulent activity. Attendance is captured using IOT automatically and is entered into the blockchain which makes the data tamper-proof, secure and robust. The privacy of its users is preserved because the user ids are generated by a trusted third party. This data is available for the government for Scholarships and other related decision-making.

IOT-based Attendance System using Blockchain is an application that is made for students and faculty of a particular college to maintain students’ attendance which is captured through an IOT device(biometric) and then the attendance is stored in the Blockchain. Blockchain is used in this application to ensure safety and a tamper-free environment as the data cannot be manipulated and is used for government purposes.

Objectives

Generally, in many institutions attendance is monitored and marked using conventional systems like android or other similar web applications. Few conventional databases do not have features like checking whether any information has experienced unauthorized changes or not. In this system when the data is entered into the blockchain, no one is allowed to edit or delete the data.

This makes the application transparent and different from other web-based attendance systems as IoT is used to capture attendance through biometrics of the students in the class. Students’ poor attendance rate is one of the most challenging problems tackled by college management today. With the help of this application, student attendance rates can be improved which is also helpful for the government to take precise decisions regarding scholarship-like schemes for students with transparent data. Using blockchain and some encryption techniques, this application is made secure from any manipulations.

Student Login Page

Methodology

The fingerprint module will collect fingerprint data from multiple users and sends it over the internet to the website. The IoT-based Attendance System website is coded in HTML, and CSS, JSP has a MySQL database, and records of attendance are stored in Blockchain. By logging into the website, the student can view all their attendance records. The timestamp of students’ attendance is encrypted and stored in the blockchain.

CONCLUSION AND FUTURE SCOPE

This IoT-based Attendance System application helps to automize the attendance system and makes it easy to manage all the data. Encryption, decryption, and blockchain make the application very secure. The application has a very user-friendly UI and is made to keep UI and UX in consideration.

The future enhancement of this IoT based Attendance System application is

  • To use Ethereum to make the application up to date with the technologies
  • To generate automatic weekly and monthly reports

DATABASE TABLES SCREENSHOTS

Tables in the project.
Test case showing the home page after pasting the URL in the browser
Test case showing navbar functionalities working.
Test case showing login is done and navigated to the home page
Test case showing student registration is working.
Test case showing faculty registration
Test case showing faculty registration is working.
Test case showing attendance stored in blockchain

IoT based Attendance System Using Blockchain
Test case showing student’s attendance records.
Test case to get student report
Test case showing Student’s attendance report.
Test case showing download report is working
Test case showing all student details.
Test case showing all student’s attendance records.

Flow Chart Diagram:

Flow Chart

Architecture Diagram

Architecture Diagram

Usecase Diagram:

usecase diagram

Software Requirements

Programming Language: Java
Graphical User Interface: HTML, CSS with Bootstrap, JSP
Libraries: MYSQL connector jar file, Apache Tomcat jar file
Encryption Algorithm: SHA-256
API: JDBC
Framework: Java EE
Tool: Eclipse, MYSQL

Hardware Requirements:

IOT Fingerprint Scanner

College Campus Students and Faculty Activities Tracker Java Project

College Campus Activities Tracker deals with the tracking of both student and faculty performance and the activities done by them in and out of the college. This project can help us to know all the activities happening in the college campus area and even get to know who has scheduled the activity. Different certificates of the students based on their performance are generated department-wise and academic year-wise.

Our Students and Faculty Activities Tracker system has two users, faculty and student.

The student will upload their certificates that they have participated in other colleges and the faculty will schedule the activity and upload the respective student’s certificates to those who have participated in the activity.

College Activities Tracker is a java web application that will allow the users (both faculty and students) to upload their documents and intimating each activity (hackathon, workshops, competitions) that they participate in and out of the college with certifications as proof.

And it should also allow the user to register for ongoing or upcoming events through the form and after registration, A successfully registered message should be sent to the user to their corresponding phone number. The faculty must be allowed to check or keep track of student and faculty performance and previews the data student-wise, faculty, wise, section-wise, department-wise, event-wise, and duration wise. And faculty should be allowed to add/update the upcoming event happening in the college.

Results Page of College Activities Tracker

INTRODUCTION

College Campus Students and Faculty Activities Tracker is an application that will aid users in uploading their Documents and intimating each activity that they perform in and out of the college with Certifications as proof.

This is a centralized system that keeps track of students and faculty activities and previews the data student-wise, faculty-wise, section-wise, Department wise, Event wise, and Duration wise. It is mainly used to maintain the data for Department’s weekly report.

Modules of the Project

We have three modules in our Activities Tracker Java Project.

● Admin
● Student
● Faculty

SOFTWARE SPECIFICATION:

Software Requirement:

1. Language – Java (JDK 1.7)
2. OS – Windows 7- 32bit
3. MySql Server
4. JDBC
5. JSP

Design & Development of Tender Management System Project

Abstract:

The Tender Management System was developed to enable the vendors to get all the tender details online and provide a facility to submit the tender. This Tender Management System project was developed & designed with Java & MySQL Database.

Existing System:

  • Contractors need to submit their documents by visiting the office or centers on time.
  • Contractors have to bid for a particular tender on time by applying forms and need to wait for an approval reply.
  • The Admin Needs to post the Projects or contracts as a poster or advertisements regularly.
  • It takes a long time to access tenders or vendors’ data access.

Proposed System:

  • User Needs to Have a Network Connection.
  • New User needs to register a new vendor on the website.
  • Contractors can log in and bid for some existing tenders.
  • They need to log in using their login-id and password which they used while registration
  • To reduce paperwork, and data that are available online, using this final decision can be taken by the administration and can contact directly to such suppliers.
  • Easy to access the tenders and vendors’ data.

Software Requirements:

Language: Java
Web technologies : J2EE (JDBC/Servlets/JSP)
Front-end Design : Html, CSS, JSP, Bootstrap
Database: MYSQL
Scripting: JavaScript , CSS

Application Work Flow

Modules:

Administrator

Uploading advertisement documents
Verifying projects and contractors by using their information
Accepting and Rejecting Bids
Maintaining data and confirmation of the final report.
Update Notice Board
Make some announcement
Block or unblock some vendors or company

Company

The Company needs to get registered to proceed.
The company can log in with a valid username and password.
Apply or releases new tenders and view the status of the tender.
Make Some announcements.
Change the tender details
Documentations

Vendor

Vendors are the key persons or contractors who look for new upcoming tenders on the website
Vendors’ Functionality includes:
New Vendors can register
Login using vendor-id and password
View and update their profile
See the new open tenders and their details
Bid for a tender with an amount greater than its base price
See the bid approval or denial status

After the tender status approval, they can view and submit the documentation
Vendors can look for the important notice in the notice section

Conclusion

Our Project Tender management System Successfully Created a user-friendly environment for the tender management process.
This Project is flexible and changes can be incorporated easily.
Easy for further Modification
Saves a lot of time by doing most of the processes online
It may lead to increase profit and improve the quality of a company.
Assigns the tenders and project in a good manner and optimal way to the contractors in less time with low-cost charges.

Download the complete Design & Development of Tender Management System Project using Java, MySQL, HTML, CSS, JavaScript, Bootstrap, and J2EE.

Weather Forecasting from Historical Weather Data using Data Mining

Background:

There is a Smart Grid Center that is conducting huge research to design an Intelligent Energy Use system. This system detects the weather conditions outside and would take an action accordingly (these actions would be like turning on the air conditioner, turning off the heater, etc). A huge number of historical weather information is collected from various weather sensor devices that are located across the RVR building. The information is gathered and found to be climates for a period of time (June 2012 to Present). The purpose of this project is to extract the patterns for day-to-day weather prediction from historical weather data using data mining.

Problem Statement:

Weather forecasting is a prediction of what the weather will be like in the future, it had been invented many years ago. The purpose of this project is to extract the patterns for day-to-day weather prediction from historical weather data using data mining. In this project, a prototype of the system will be developed which includes the main components of the system such as training, analysis, and prediction.

A web framework will be developed using Java Net Beans which is used to present the predicted result in a meaningful and understandable manner. The data would be presented in a graphical form which would be much easier for a user to analyze the data. The graphical view will be developed using SSRS (SQL Server Reporting Service) tool, The SSRS tool is a Reporting Service tool developed by Microsoft which is used to prepare and deliver a variety of interactive and printed reports.

Technologies:

Database: MSSQL

Frontend: Java J2EE, SSRS

Connectivity: JDBC

Operating system: Windows/Linux

Rough Timeline:

Task Id

Task Name

Time Required

1

Setup and Research

5 weeks

2

Developing the prototype using WEKA

4 weeks

3

Building a user application using Net Beans

3 weeks

4

Developing a graph view using SSRS

2 weeks

5

Integrating graph view and user application

3 weeks

6

Testing

2 weeks

7

Documentation

4 weeks

 

Online Job Portal Java Project Report & Source Code

Objectives of the project:

  • Registration
  • Login
  • Authenticating
  • Updating Profile
  • Posting a job and removing or modifying job
  • Searching for a job
  • Taking online exam
  • Feedback

LITERATURE SURVEY

There are many applications developed related to this Online Job Portal, but, however, these systems are very complex for their own purpose. Most of them do not have the centralized database and easy access to users. So in this project, we are implementing this application through a centralized database and easy-to-use access for job seekers and job providers. The administrator is the primary actor to maintain the database, and also accepts comments from job providers and job seekers to improve and develop the application’s graphical user interface. Registered job seekers can also take the company online exam. In addition, qualified applicants can be classified according to this system based on their qualifications and company requirements.

Limitations

• The current Online Job Portal system is not a fully computerized and manual system for entering job candidates and job provider data and managing it.
• There is no centralized database maintenance
• There is no easy access to records of people seeking work in particular
• Job seekers can not easily navigate through the database

Benefits

• It is a fully automated system for managing the Online Job Portal database
• This system provides centralized database maintenance
• This system provides easy access to certain job seekers or their complete details
This system gives job seekers easy to navigate through the application to get more information in the most secure way.

IMPLEMENTATION

5.1. MODULES

The system is divided into three major parts depending upon the requirement they are.

  • 1) Administrator
  • 2) Job Provider
  • 3) Job Seeker

Administrator

All the users are controlled by admin. Administrator services are

  1. view job providers
  2. view job seekers
  3. view feedback

Examination

The job providers prepared questions and update the providers and conduct examinations to the job seekers and also send the particular examination results.

And the job seeker searches the particular job then attends the exam and also views his results after completion of the exam.

Software Requirements: 

Operating System: Windows XP/2003 or Linux/Solaris

User Interface: HTML, CSS

Client-side Scripting: JavaScript

Programming Language: Java

Web Applications: JDBC, JSP

IDE/ Workbench: Eclipse with My Eclipse Plug-in

Database: Oracle

Server Deployment: Apache Tomcat 6.0

Screen Shots:

  • HOME PAGE
  • LOG-IN PAGE
  • ADMIN PAGE
  • JOB PROVIDERS IN DB
  • JOB SEEKERS IN DB
  • FEEDBACK PAGE
  • JOB PROVIDER PAGE
  • UPDATE PROFILE PAGE
  • ADD NEW VACANCY PAGE
  • SEARCH JOB SEEKER PAGE
  • RESULT PAGE FOR SEARCH JOB SEEKERS
  • EXAM MANAGEMENT PAGE
  • PREPARE EXAM PAPER PAGE
  • PREPARING QUESTIONS PAGE
  • ADDING QUESTIONS PAGE
  • RESULT PAGE FOR SEARCH JOBS
  • EXAM MANAGEMENT PAGE
  • TAKING EXAM PAGE

TEST CASE REPORTS 

Name of the page: Admin Login

Sno TEST CASE Expected Result Actual Output Remarks
 1 New Admin logged on without sign in. Should return a message sign in  before log in. Sign in First Success
2. Invalid password Enter correct password Wrong password Success
3. Invalid username Invalid User Enter valid name Success
4. Special character entered in password field. Verify your password You Entered Invalid password Success

Name of the page: Job provider Login 

Sno TEST CASE Expected Result Actual Output Remarks
 1 New provider tried to log on without sign up. Should return a message sign up  before log in.   Failure
2. Invalid password Enter correct password Wrong password Success
3. Invalid username Invalid User Enter valid name Success
4. Special character entered in password field. Verify your password You Entered Invalid password Failure

 Job Seeker Login 

Sno TEST CASE Expected Result Actual Output Remarks
 1 New seeker tried to log on without sign up. Should return a message sign up  before log in.   Failure
2. Invalid password Enter correct password Wrong password Success
3. Invalid username Invalid User Enter valid name Success
4. Special character entered in password field. Verify your password You Entered Invalid password Failure

Name of the page: Exam Management 

Sno TEST CASE Expected Result Actual Output Remarks
 1 Provider tried to add exam paper without scheduling Schedule first NULL Failure
2. Seeker tried to write same exam again exam already taken Can Write Failure
3. Displaying a message after time up in exam Time up Time up Success
4. Selecting exam before scheduling date Invalid test NULL Failure