E-Learning System Web Portal Java Project

Objective:

e-Learning” is an educational-based java web application; this web portal helps college students to get all the resources & study materials of every course available on the online portal. All the students can access this website portal anytime and from anywhere on the internet. E-Learning System is a very good online e-learning portal compared to all web links given by Google, Bing, Yahoo, ChatGPT, or any website while searching for student course materials.

Contents

Existing System:

In Present Educational based E-learning system, students can get information from books or study materials provided by professors manually. But in this system, students may not get the related and sufficient information according to their syllabus. The above resources do not provide discussion forums between students and professors to clarify their doubts. There is no proper guidance for the students.

Proposed System

The main aim of this E-Learning system is to provide sufficient study materials to the academic students according to their syllabus from which students can easily download study materials of their relevant course. The first step is to register in order to access this website. In this system, we are providing discussion forums between students and professors where students can easily clarify their doubts. Modules of this website are Admin, professor, student, and mentor.

Modules:

Admin:

  • Admin can view all member’s details like professors/asst. professors, mentors, and students. Here each user (student/mentor/professor) can upload material.
  • The uploaded material can be verified by the admin. The admin can validate the material if the material is related to the subject. The validated materials are only visible to the students.
  • The admin can view the queries which are sent by the students to the mentors. The admin can also check how many solved queries and unsolved queries.

Student:

  • Each student must and should be registered before login. Here we have user authentication every time. Students can upload material, view material, and send queries. The upload materials first verify by the admin and then visible in the view material tab.
  • The student view uploaded material by all the users which is validated by the admin and he can download materials.
  • The student can send a query to the mentor if he/she has any doubts regarding academic subjects.

Mentor:

  • Mentor registration and login.
  • Mentors can upload material, view material, forward queries, and reply to queries. The upload materials first verify by the admin and then visible in the view material tab.
  • The Mentor view uploaded the material by all the users which is validated by the admin and he can download materials.
  • The Mentor can solve a query if he/she is unable to solve queries forward it to Asst.Professor/Professor.

Professor:

  • Professor registration and login.
  • Professor can upload material, view material, and reply to queries. The upload materials first verify by the admin and then visible in the view material tab.
  • The Professor view uploaded the material by all the users which are validated by an admin.
  • The Professor can solve a query and send it back to the mentors.

Software Requirements:

           Operating System: Windows 10/11

           Web Technologies: HTML, CSS, JavaScript

           Programming Language: Java, JSP, Servlets

           Backend Database: MySQL /Oracle 10G

           IDE / Work Bench: Eclipse/ Netbeans

Hackathon the Code Festival Java Project

Abstract:

Hackathon is a Java web application used for hackathons.  In this web application Project, the Hackathon conducts code fests. The contestants must register to participate in the code fest. The Hackathon announces code festival schedules with desired skill sets. Those eligible for the hackathon can register themselves by using their login credentials. For registered contestants can participate in code fest by using this application. The Hackathon can announce the winner of that particular event and the results also. The contestant can view the results. This Application is very useful for users and the code fests are useful to improve their skills.

Implementation:

This Hackathon the Code Festival project is divided into four implementation modules. Those are

  • Admin
  • Mentor
  • Contestant

Admin:

The admin will maintain all the information about the website and enables contestant to register for a particular hackathon. Then the admin for that particular hackathon enables the contestant to participate in that contest and he is also responsible for displaying the list of contestants for that hackathon. Then the admin is responsible for deciding the winner of that particular hackathon. The admin can give privileges to the contestants to send invites for their friends to participate in the contest.

Mentor:

The mentor is also having the same responsibilities as the admin. The mentor can view the no. of registered contestants and no. of participants. The mentor is responsible for displaying all the contestant’s scores in that hackathon. The mentor can also display the winner of each particular hackathon.

Contestant:

Contestants can choose a particular hackathon in which they are interested from the list of hackathons. To access this application Contestants must and should register. Each every time the contestants should log in by using the given credentials.  Contestants can view the list of Hackathons. The Contestants can participate in hackathons by giving their details about that particular hackathon. The Contests can view the result and winner of the Hackathon.

Software Requirements:

Java, MySQL, HTML, CSS, JavaScript

Automation of Student Attendance Management Tool Project

Abstract:

The Automation of Student Attendance Management system maintains an analytical record of students, in accordance with the minimum attendance required by the faculty, for allowing students to sit for the examination. The front end of the project is being made using Netbeans IDE 8.2, in Java language; whereas the backend is being created and managed using MySQL 5.6 and WAMP Server. The project is being made by keeping in mind the problems faced while keeping attendance records on paper, or on spreadsheets, where the authority or faculty has to use formulae and decide which student matches the criteria and which student doesn’t.

All the tables are in a hierarchy. There is a view that holds the data of every student and their attendance table for the rows. We can only insert new data if we are logged in as a Faculty. But if we are logged in as students then we can only view our attendance. The front end is designed using Eclipse and the back end is built on MySQL and the connectivity between the two is done using JDBC Drivers.

Introduction:

It automatically calculates attendance percentage, total classes attended, and unattended classes for a particular student.
It enables performing some key administrative functions such as tracking absences, getting debar lists, etc.

The system maintains an analytical record of students, in accordance with the minimum attendance required by the faculty, for allowing students to sit for the examination.
The front end of the project is being made using Netbeans IDE 8.2, in Java language;

whereas the backend is being created and managed using MySQL 5.6 and WAMP Server.

Homepage of attendance manager

Homepage of Attendance Manager

The project helps the teachers upload their records to the system, and accordingly keeps track of each individual, and his attendance in classes. Even the students can access their records and maintain their attendance as per the criteria suggested.
It solves a big problem for teachers and saves time as well, which can be utilized in helping students in their box endeavors.
The project uses color coding and data assessment tools to manage attendance records. The attendance management software enables college and school students to improve the lecturer’s performance and productivity. The faculty does not have to expend their time in manual computation to obtain the student attendance percentage.
This system can help lecturers to take attendance easily. Manipulation and management of attendance data have to be taken care of, by the system so that the manual intervention can be removed.

You can also visit & download the Application project on Daily Student Classroom Attendance Management System Project

Overview of the Project

WHY DATABASE?

Record keeping is an essential part of every industry, it allows us to manipulate historic data and use that data to make decisions. Attendance is an important part of school and colleges it allows the faculty to know which student is coming regularly to classes and also helps in creating good students. It is also useful for the administrative authority to check for the late comers to work. Database tools like MySQL and Oracle are available for record-keeping purposes and are easily adaptable by nearly every industry. These records can be accessed later, and analyzed for further calculations, as needed by the user.

Advantages of database

• Single validated database throughout college/school.
• Current dataflow into Web-based access.
• Compliance of academic standards & best practices.
• Providing fast access to quality data to users.

This Attendance Tracking Management System is related to the Attendance Manager .Net Project. You can also visit & download the web application project on Attendance Tracking Management System PHP & MySQL Project

SCOPE OF THE PROJECT

The Scope of the proposed system is to develop a system for attendance marking and viewing using a database management system that can be accessed by the users through LAN/WAN. Respective departments of an organization can access the data easily from this proposed system.

ER Diagram:

ER Diagram of Attendance Management System

The present system handles data related to:

1) Attendance marking (For faculties).
2) Making calculations to check for debarred.
3) Viewing of attendance. (For students).
4) Subject-wise debarred list.

The developer is responsible for developing the proposed software i.e. he should analyze, design, and implement the proposed project.

The proposed system aims to manage the attendance of the students on the desktop and to insert/ update/ delete data in the attendance database.

The proposed system has the following objectives:

In the backend MySQL is used, the overview of tables is given below:

1. Faculty
2. Course
3. Subject
4. Class(Class name)

SYSTEM REQUIREMENT SPECIFICATION

Software Requirement :

  1. Operation System: Windows XP/7/8/10, Linux.

Programming Environment:

  1. Front End: Java (Eclipse)
  2. Back End: Wamp (MySQL)

Some output Pages of the Project

all the classes of the faculty for the system.
all the attendance records of the students for the system.
all the records of the subjects for the course.
all the attendance records of a class for the system.
users (Faculty/Students) can log in to the system.
the admin or the registered users to log in to the system.
the faculty to record the attendance of the student and then submit it.
show the attendance of the logged-in student and also show in which subject he is debarred.

Also, Read this Employee Attendance Monitoring System Java Project

Medical Shop Management System Java Project using Oracle Database

Introduction

This is software that aims at easy management of medical stores. In the market, a lot of work is done manually. In this era of the computer revolution, where everything is digital, data management and operation also need to be computerized. The existing manual database management system is more problematic and tedious. The calculation of data is not always accurate. The computerized system would reduce the complexity of managing the records and making them secure and easy to access, and get any type of information like the product detail, patient, etc in an easy manner by a quick search.
This system keeps the records of medicines such as medicine name, MRP, MFG, expiry date, quantity in stock, etc. The software also generates patient or customer reports as print out for later reference. After booking the patient order, our stores provide the medicines by hand or home delivery together with the proper bill generated by this software.
This software focuses on high security so that no unauthorized user can make a random transaction. Only the person provided with the proper user ID and password can do the billing or see the reports. And then for signing up as a new user it requires an Authentication number is required which is only owned by the owner of the store. So that no random person can signup for the account.
The software provides two levels of security. As “only billing rights” and “managing rights” so that a person or staff or helper who is appointed for only billing purposes can not manipulate the data stored in the database. But the administrator who has the managing right can have complete access to the data.

Objectives:

The main objective of this software is to provide an easy way to submit information about medicines and some other information as well.
It also facilitates deletion or modification or searching of all information very easily. The system is also helpful for generating reports and statuses. The medical shop management system is software that processes computerized information and manages all the record of medicines which is under medical shop management.
The aim of this project is to make possible easy all the manual errors and problems by automating them, which the users are facing at different levels of management in medical stores as well as provide a high level of security for the data.

ER Diagram:

So in this project, we try to do the best of our effort and hard work to cover some parts of the system process.

Fast Query Process:-

Computerization of the query process is more economical than that of manual processing because the query is updated and stored instantly without any calculation mistakes here we have to just update the product master table or customer master table but in a manual process, we have to change all the records.

Entry new Records:-

Maintaining the records of new entry becomes very easy because every day there are new medicines coming into the market which has a huge demand in the market. So, it’s important to stay updated for patients’ health sake.

Maintenance of all of the records:-

Medical shop management helps in updating all the records from time to time.

Issuing reports:-

Issuing reports issues from the completion of the updating of all tables or records. Here reports issue status is maintained by which we know how much patient comes for medicines, we generate reports of stock status after updating the stock records, etc.

Highly secure:-

This software is highly secure because in the absence of authorized persons, nobody can provide medicines because they have a unique id or password to edit their records which are protected also.

Input or Output Screen Design

  • If the user clicks on generate report then the report page is visible otherwise log it is done according to the user´s rights provided.
  • Generate Report: Provides Report of the customer or patient for future reference and allows us to keep it as a Hard Copy.
  • A new user can get signed up by an authorized person for using this software.
  • The Main menu contains all quick links. In the menu bar, the user can jump to the desired location, saving his/ her time.
  • Search for the desired medicine quickly for modification or deletion.
  • View the stock as Table
  • Keep track of all the transactions by easily checking out the Sales Report
  • Hassle-Free Billing.
  • Easily Customize the purchases.

Download the complete project on Medical Shop Management System in Java & Oracle database using AWT and Swing with ODBC

Online Banking Application in Java using Spring MVC

Purpose of the project: The main purpose of this project is to focus on real-life application scenarios. The agenda would be to build an application and implement the banking features.

Objectives

The project is divided into two parts. The first part contains the main functionality of the banking website such as transferring money, withdrawing money, depositing money, etc. The second part of implementation contains the advanced features such as transferring money using interact, currency conversation, a restriction of transferring $1000 per day, a minimum balance of the account must be Rs 10000, withdrawal error in case of minimum balance goes below Rs 10000 due to withdrawal, admin and non-admin privileges on banking features and so on.

Goals

The goal is to design an online banking application that should have all the necessary basic as well as advanced features. This project is implemented on Java using Spring MVC Framework.

Project Category

This project is covering the skills and core areas of Java Spring MVC Application with equal emphasis on theory and practice. The main focus is to implement an application and analyze issues in the applications followed by a case study in the same area.

Scope of the solution

Through this project, we can develop the banking portal for new banking firms, or we can suggest a better solution to the existing banking portals. Though all existing banking portal has the features that have been implemented in our project, however, an enhancement can be made by analyzing the robustness and accuracy of our application.

Future scope and further enhancement of the project

The project can be made more advanced by implementing sessions, hosting email interaction features on the SMTP level, and many more. Indeed, Java MVC Spring gives a robust platform to develop solutions to real-world problems. It is easier to debug, manage, maintain and develop. It also has a huge list of spring libraries to make developer tasks easy throughout the task.

Problem Statement

The problem with Online Banking Applications
Affects: Customers, Admin
The impact of this is Banking Transactions
A successful solution would be to Design a database for storing the entire information, a front end for user interaction with the system, and analysis of daily, weekly, monthly, or yearly transactions of different types with the implementation of validation.

Literature survey

1. Study of different software development lifecycle models
2. Study of Java Spring MVC Framework
3. Study of Dao and Controller Interactions
4. Study of existing banking applications
5. Study of class lectures, PPT, book, and Stackoverflow
6. Study of Admin and Non-Admin Privileges
7. Study of Application Validation
8. Study of Application Risks and Vulnerability

Download Construction Management System Java Project using Spring MVC framework

Mini Project on Student Profile Management System using Java

Develop a java based application using GUI to maintain student records. This Student Profile Management application should have a login page. The Student Profile Management should take student details like name, address, branch, previous year scores, and curricular and extra-curricular activities, and all the entered data should be displayed at the end for confirmation.

Project Programming Details –

1) LoginFrame :

Login Frame is GUI based window that is displayed when the user first executes the program. It is the welcome page through which the user will move on to the next frame.
It contains a button with an ActionListener() which on pressing opens Frame2.

2) Frame2 :

Frame2 is the login page. This page takes the user id and password as input and only after successful verification of user the user is allowed to move to the next page.
The default user id password is
User id:- admin
Password:- admin1234

3) Frame3 :

Frame3 is where the user is given the option to enter their details such as name, age, branch, and address and select their gender from the drop-down menu. Each detail to be entered is stored using JTextField() and JRadioButton is used to display the drop-down menu for the gender selection. Finally, there is the submit details button which on pressing triggers ActionListener() and checks whether the user-given input is legitimate or not, if it is not then it pops an alert message that reminds the user to enter the correct details. Once the correct input is given, we pass this information on to Frame4.

4) Frame4 :

Frame4 is where the user is given the option to enter their details such as their previous academic achievements, their 10th, and 12th scores, their average pointer, and their extra-curricular and co-curricular activities. Each detail to be entered is stored using JTextField() and JRadioButton is used to display the drop-down menu for the gender selection. Finally, there is the submit details button which on pressing triggers ActionListener() and checks whether the user-given input is legitimate or not, if it is not then it pops an alert message that reminds the user to enter the correct details. Once the correct input is given, we pass this information on to Frame5.

5) Frame5 :

Frame5 class is where we receive the user input taken in Frame3 and Frame4 and using JLabel()’s we display it on our Java application windows. There are two buttons to either make a new entry or exit. On clicking on the first button, ActionListener() is triggered which calls Frame3(), and thus we can enter details of another entry.

6) Student Details :

This is the final class that contains the main method, which calls the LoginFrame().

The output Results of the project will be:

  • Welcome page
  • Login Frame
  • Credential verification
  • User input
  • User input verification
  • Additional inputs
  • User input verification
  • Displaying user details
  • Making new entry

Thus, using a GUI-based java application we have successfully created Student Profile Management application with a welcome page, and login verification page, which takes various student details as input, verifies them and displays it in the end.
A major advantage of GUI is that it makes computer operations more intuitive and thus easier to learn and use.
Icons are more user-friendly than long command lines. GUIs provide the user with immediate, visual feedback about the effect of each action.

Download the complete project source code on Student Profile Management System.

Online System Shopping Management Project Synopsis

This document brief up the project titled “Online System Shopping Management”. The main objective of our project is to provide users with an online experience for buying computers. This project helps the user to check the rates on the net and compare them, and also view and purchase more products that are related to computers like accessories and everything.

This project gives a clear user Interface as to what detail the user requires about every computer present in stock and also every detail of the accessories etc.        

INTRODUCTION:-

This site will be developed to make shopping for computers online. The site will be developed to help the user and also the seller. Any user can just use the net and shop for computers and also this reduces the load of sellers interacting with the customers.

In the present system, the computers are purchased manually by visiting the shop. So there is a need of automating the existing system by providing software solutions for it. So that there is the ease of shopping for the user in their busy life. By visualizing and experiencing all these problems, we felt it would be better to provide a solution for this problem. This was the basic reason for taking up this problem.

Problem Statement: 

The main aim of developing this project is to automate the process of shopping for computers. It also provides the seller with every record automated and avoids the interaction with the customers to convince the rate and all. It also provides users to choose every product on the site and also can purchase many products simultaneously.

A user can view his/her details about the product or buy a product by logging in with user name and password

Objectives:

  • The main purpose of using this new system is to provide, ease of shopping and selling for both customer and seller.
  • The objective of this new system is to provide easy access to the world of shopping.
  • This system provides security and backup of the data for the seller.

Technology Used:

WEB PROGRAMMING MODEL:

The idea of using the Web as an application environment developed over time, with each stage of technology serving as a springboard for new ideas.

ER-DIAGRAM

SCHEMA DIAGRAM

Employee Data Base Management Project using Data Structures with Java

We are doing a project which is about storing the data (details) of employees of a company or any other industry.

In this project, we are providing many functions to store and manipulate the data of employees such as

  • Storing the details like name of the employee,  ID, salary, date of joining, etc.
  • Adding new employee details to the existing list.
  • Providing the report of required employees.
  • To provide details of a specific employee.
  • To give the sorted list of employees based on name, ID, salary, and date of joining.
  • This project also gives the report of employees with certain specifications.

For this project, we are using a data structure-linked list to store the details of employees, and also we can add details of a new employee to the existing list. We are implementing the method to search for an employee and give details provided his name or ID. In this project, we also have a method to sort the list of employees based on name, ID, salary, and date of joining using different data structures. This project allows users to get the details of a certain number of employees from the list. We can also use this project to get the list of employees with certain specifications like the number of employees whose salary is in the given range.

INTRODUCTION

Our project “Employee Data Base Management”  is an application that we have created that helps to manage the details of employees associated with the company.  Since in a company, there are many employees who have worked or are working, to manage all their details such as their name, ID, date of joining and salary, etc., so to manage these data by conventional methods is cumbersome so we have developed this small application which is very helpful nowadays. This application will reduce the workload in generating the report, maintaining the data, and updating it as per the user’s requirement.

In our project, we have provided two user modes. First is the administrator and guest mode.

In our project, the administrator mode gives the user the ability to

  • Add a new employee’s details.
  • Update the details of an existing employee.
  • Delete (fired from the company) the details of a specific employee from the database.
  • Search for the details of an employee based on name or his/her ID in both working and nonworking categories.
  • Display the list of all employees either in the working or nonworking category.

In our project, the guest mode gives the user the  to 

  • Search for the details of an employee based on name or his/her ID in both working and nonworking categories.
  • Generate a report as the guest user desires for example generating the report in a sorted manner based on name, and ID.

OBJECTIVE

The main objective behind the development of this project is to create software with the following features:

  1. Highly user-friendly
  2. Enterprise independent
  3. Cross-platform
  4. Easy-to-use
  5. Tested system to track unnoticed error
  6. Data entry is restricted to valid domains to avoid errors

We are using the node ENode to form a doubly linked list and in each node, we are storing the details of one employee.

In each node, we are having different fields as follows

  • Left- Address of the previous node
  • Name-Name of the employee
  • ID-Employee’s ID
  • Position-Employee’s position in the company/firm
  • Gender-Gender of the employee
  • Salary-Employee’s annual income
  • Date of join-Date on which employee joined the company
  • Right-Address of the next node

Flow Chart:

IMPLEMENTATION

Class ENode

In this class, we have fields to store the details of employees. In each node, we are having different fields as follows

  • Left- Address of the previous node
  • Name-Name of the employee
  • ID-Employee’s ID
  • Position-Employee’s position in the company/firm
  • Gender-Gender of the employee
  • Salary-Employee’s annual income
  • Date of join-Date on which employee joined the company
  • Right-Address of the next node

Class EList

In this class, we have implemented the following methods

  • addEmp : this method does the job of adding the ENode node of employee details to the list-elist. And also this method is used to add ENode read from the file(“employee.dat”) again to the elist.
  • delEmp : this method does the job of deleting the node ENode from the working employees list elist and calls the method naddEmp and passes the deleted node as a parameter.
  • naddEmp : this method does the job of adding the ENode node of employee details which is deleted from elist to the list-nlist. And also this method is used to add ENode read from a file (“nemployee.dat”) again the nlist.
  • update : this method allows to edit and resave the details of an employee asked by the user.
  • fread : this method reads the data from both files “employee.dat” and “nemployee.dat” which creates a node and calls addEmp method to form the doubly linked list.
  • display : this method displays the list of employees in a display window

Class ESearch

      In this class we have implemented the following method

  • nsearch : this method searches for the entered name and displays the details of that employee. If the name is not found in the list then an error message “The name you entered not found” is printed.
  • idsearch: this method searches for the entered ID and displays the details of that employee. If the ID is not found in the list then an error message “The ID you entered not found” is printed.
  • Salsearch : this method gives the list of employees who all have salaries in the given range. If no employees in the database are having salary within the entered range then an error message “The salary range you entered not found” is printed
  • dojsearch : this method gives the list of employees who joined the company in the specified range of date. If no employees in the database have joined within the entered range then an error message ”No employees joined during this time” is printed.

Class ESort :

      In this class, we have implemented the following methods

  • nsort : this method gives a sorted list of employees based on their names. If there the list is empty then the message “NO DATA EXISTS” is printed.
  • idsort : this method gives the sorted list of employees based on ID. If there the list is empty then the message “NO DATA EXISTS” is printed.

Class EFile :

     In this class, we have implemented the following methods

  • fwrite1 : this method writes the data of list-elist the list into the file “employee.dat” whenever the list is edited. We are using @ as delimiter.
  • Fwrite2 : this method writes the data of list-nlist the list into the file “nmployee.dat” whenever the list is edited. We are using @ as a delimiter.

CONCLUSION

This was our project based on an Employee database management System. We think this system will give a better way for a shopkeeper to maintain his shop. Though every task is never said to be perfect in this development field even more improvements are possible in this system which we have mentioned below and some more improvements can also be done to give a more user-friendly system that can help the shopkeeper more efficiently. This project has contributed a lot to my knowledge that has proved to be a valuable addition for me.

SCOPE FOR IMPROVEMENT

  • All frame objects are created as static hence when we move to the next frame and return back to the previous frame the content of the frame will be stored. Therefore we are using the reset button everywhere.
  • In our project in some of the frames, we have a button PRINT to get the printout of the report generated but we have not given any action to that button.

Download the complete project on Employee Data Base Management.

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

College Placement Management System Java Full Stack Project

Developing a Placement Management System Java Full Stack Project site for recruiting eligible candidates who have already enrolled their names in the Placement Office in an engineering college and a completely interactive site for the students to enhance their technical and communication skills and to be easily placed in companies.

Modules involved in this Full Stack Project are below:

1. Creating GUI Interfaces for the Recruiter, Student, and Admin and handling the inner logic of those three actors of the system.

2. Generating Reports of Online marks, eligible students for writing online tests, selected students for an interview, and final selected students. Sending emails to selected students and uploading files.

3. Online Test module

4. Providing practice sets for students and outsiders who visit the website

5. Creating a  Discussion Forum for handling student queries and other information which helps students in preparing for placements.

6. Send an SMS to the final selected students.

Download the Complete Java Full Stack Project on Placement Management System Source Code.