Final Report
Final Report
A PROJECT REPORT
Submitted by
SUDHARSAN V V 727821TUEC235
BACHELOR OF ENGINEERING
IN
JUNE 2023
SRI KRISHNA COLLEGE OF TECHNOLOGY
An Autonomous Institution | Accredited by NAAC with 'A' Grade
Affiliated to Anna University | Approved by AICTE
KOVAIPUDUR, COIMBATORE 641042
BONAFIDE CERTIFICATE
Certified that this project report “EMPLOYEE DATABASE”is the bonafide work of
“SUDHARSAN V V ” who carried out the project work under my supervision.
SIGNATURE SIGNATURE
Mr.MANOJ KUMAR . R Dr.M.KARTHIGAI PANDIAN
HEAD OF THE DEPARTMENT
Skill Development Engineer
IamNeo Department of Electronics and
Communication Engineering
Sri Krishna College of Technology,
Coimbatore-641042.
Certified that the candidates were examined by us in the Project Work Viva Voce examination
held on at Sri Krishna College of Technology, Kovaipudur,
Coimbatore -641042
ACKNOWLEDGEMENT
First and foremost, we thank the Almighty for being our light and for
showering his gracious blessings throughout the course of this project.
We are greatly indebted to our Industry Mentor Mr.Manoj Kumar for his
valuable guidance and suggestions in all aspects that aided us to ameliorate our
skills.
We are thankful to all those who have directly and indirectly extended their
help to us in completing this project work successfully.
ABSTRACT
iv
ABSTRACT
efficiency, and overall organizational success. This abstract provides a concise overview
employee productivity, engagement, and well-being. It also highlights key strategies and
It acknowledges the evolving nature of work, including remote and flexible work
arrangements, and the need for tailored management approaches to meet the unique
challenges and opportunities they present. The abstract delves into modern management
employee working management and highlights key strategies and technologies that can be
enhance their employee working management practices and drive sustainable success.
TABLE OF CONTENTS
TABLE OF CONTENT
ABSTRACT iv
LIST OF FIGURES vi
LIST OF ABBREVIATIONS vii
1 1.2 OVERVIEW 3
1.3 OBJECTIVE 3
2 LITERATURE SURVEY 5
3 SYSTEM SPECIFICATIONS 8
4 PROPOSED SYSTEM 12
4.2 ADVANTAGES 13
5 METHODOLOGIES 15
7.1 CONCLUSION 34
8 REFERENCES 37
LIST OF FIGURES
vi
LIST OF FIGURES
LIST OF ABBREVIATIONS
ABBREVIATIONS ACRONYMS
JS JAVASCRIPT
CRUD CREATE,READ,UPDATE,DELETE
SB SPRING BOOT
REACT REACTJS
PC PERSONAL COMPUTER
INTRODUCTION
CHAPTER 1
INTRODUCTION
This chapter gives a brief theoretical preview upon the database information
systems and goes through the essence of the problem that should be resolved. A robust
and efficient employee working database is the backbone of any successful organization.
A well-organized and efficient employee working database is a vital component for any
successful organization. In today's fast-paced and interconnected world, businesses rely
on accurate and up-to-date information to manage their workforce effectively.
This The next chapter and its subsections will turn the attention to the method for
resolving the problem, the programming environments used for developing the system
and the implementation of the operations performed upon the database. An employment
working database is a centralized repository that stores comprehensive employee
information, facilitating effective management of workforce data for decision-making
and streamlined processes.
1.2 OBJECTIVE
LITERATURE SURVEY
The database should have an intuitive and user-friendly interface that allows
users to easily navigate and retrieve information. A well-designed user experience
improves adoption and maximizes the benefits of the employment working
database.
[7] Regular data updates and maintenance
In this chapter, we are gonna see the softwares that we have used to build the
website. This chapter gives you a small description about the softwares used in the
project.
3.1 VS CODE
Visual Studio Code is a source code editor developed by Microsoft for Windows,
Linux, and macOS. It includes support for debugging, embedded Git control, syntax
highlighting, intelligent code completion, snippets, and code refactoring. It is also
customizable, so users can change the editor's theme, keyboard shortcuts, and
preferences.
3.2.REACT
Routers are important components in React applications. They provide the ability
to navigate between different views or components of the application. React Router is the
most popular library to handle routing in React applications. It provides the ability to
define routes, set up links, and render components based on the current route. It also
provides features like data fetching, code-splitting, and server-side rendering.
Local storage is a type of web storage for storing data on the client side of a web
browser. It allows websites to store data on a user’s computer, which can then be
accessed by the website again when the user returns. Local storage is a more secure
alternative to cookies because it allows websites to store data without having to send it
back and forth with each request. Local storage is a key-value pair storage mechanism,
meaning it stores data in the form of a key and corresponding value. It is similar to a
database table in that it stores data in columns and rows, except that local storage stores
the data in the browser rather than in a database. Local storage is often used to store user
information such as preferences and settings, or to store data that is not meant to be
shared with other websites. It is also used to cache data to improve the performance of a
website. Local storage is supported by all modern web browsers, including Chrome.
3.5 SPRING BOOT
Java Spring Boot is an open-source tool that makes it easier to use Java-based
frameworks to create microservices and web apps. For any definition of Spring Boot, the
conversation has to start with Java—one of the most popular and widely used development
languages and computing platforms for app development. Developers all over the world start
their coding journey learning Java. Flexible and user-friendly, Java is a developer favorite for a
variety of apps—everything from social media, web, and gaming apps to networking and
enterprise applications. Spring Boot makes it easy to create stand-alone, production-grade Spring
based Applications that you can "just run".
PROPOSED SYSTEM
This chapter gives a small description about the proposed idea behind the
development of my website
The proposed system for an employee working database aims to create an efficient
and streamlined platform for managing employee information within an organization.
The system will feature a centralized database that stores comprehensive details about
each employee, including personal information, employment history, skills, performance
evaluations, training records, and benefits administration.
· Centralized Information: A single repository for all employee data allows for easy
access, updates, and retrieval of information, eliminating the need for multiple
sources and reducing data redundancy.
5.1. LOGIN
A signup page flowchart typically represents the steps involved in the user
registration process on a website or application. It illustrates the various screens, actions,
and decision points that a user encounters while signing up. Here is some information
that can be included in a signup page flowchart:
IMPLEMENTATION AND RESULT
CHAPTER 6
IMPLEMENTATION AND RESULT
This chapter gives a description about the output that we produced by developing
the website of our idea.
6.2 LOGIN
This login page is a common feature that require user authentication. It serves as
the entry point for users to access their accounts or secure areas of a website.
The homepage of a website serves as the primary landing page for visitors and
plays a crucial role in providing an overview of the website's content, features, and
navigation options.
Login:
}).catch(error =>{
console.log(error);
})
}
}
const deleteAllEmployee = () => {
if(window.confirm("Sure to Delete All Employees?")){
EmployeeService.deleteAllEmployee().then((response) =>{
getAllEmployees();
}).catch(error =>{
console.log(error);
})
}
}
const LogoutHandler=()=>{
if(window.confirm("Sure to Logout?")){
nav("/")
}
}
const handlePageChange = (event, page) => {
setCurrentPage(page);
};
return (
<div id="container">
<h1>STARIST</h1>
<Link to="/add"><button id="addbtn">Add Employee Details</button></Link>
<button id="delbtn" onClick={deleteAllEmployee} >Delete All Employees</button>
<table id="table">
<thead>
<tr>
<th onClick={() => handleSort('id')}>Id {sortBy === 'id' && (sortOrder === 'asc' ?
'▲' : '▼') }</th>
<th onClick={() => handleSort('name')}>Name {sortBy === 'name' && (sortOrder
=== 'asc' ? '▲' : '▼') }</th>
<th onClick={() => handleSort('age')}>Age {sortBy === 'age' && (sortOrder ===
'asc' ? '▲' : '▼') }</th>
<th>Phone</th>
<th>Position</th>
<th onClick={() => handleSort('salary')}>Salary {sortBy === 'salary' && (sortOrder
=== 'asc' ? '▲' : '▼') }</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{
employees.content&&employees.content.map(
(employee) => (
<tr key={employee.id}>
<th id="id"> {employee.id}</th>
<th id="name"> {employee.name}</th>
<th id="age"> {employee.age}</th>
<th id="phone"> {employee.phone}</th>
<th id="pos"> {employee.position}</th>
<th id="salary"> {employee.salary}</th>
<th id="action"><Link to={`/update/${employee.id}`}><button
id="actions">Update</button></Link>
<button id="action-del" onClick = {() => deleteEmployee(employee.id)}
> Delete!</button></th>
</tr>
))}
</tbody>
</table>
<Pagination className='page'
count={totalPages}
page={currentPage}
onChange={handlePageChange}
/>
<button id="logout" onClick={LogoutHandler}>Logout</button>
</div>
)
}
EMPLOYEE CONTROLLER:
package com.example.demo.Controller;
import java.util.List;
import java.util.Optional;
import javax.xml.crypto.Data;
import org.hibernate.grammars.hql.HqlParser.SortDirectionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.example.demo.Entity.Employees;
import com.example.demo.Repository.EmployeeRepository;
import com.example.demo.Service.EmployeeService;
@CrossOrigin("*")
@RestController
@RequestMapping("/employees")
public class EmployeeController {
@Autowired
private EmployeeRepository employeeRepository;
@GetMapping(value="/get")
public List<Employees> getAllEmployees(){
return employeeRepository.findAll();
}
@GetMapping(value="/{currentPage}/{itemsPerPage}/{sortBy}/{sortOrder}")
public Page<Employees> getData(@PathVariable(value="currentPage") int page,
@PathVariable(value= "itemsPerPage") int size,
@PathVariable(value= "sortBy") String field,
@PathVariable(value= "sortOrder") String direction) {
Pageable paging;
if(direction.equals("asc")) {
paging=PageRequest.of(page-1, size).withSort(Sort.by(field));
}
else {
paging=PageRequest.of(page-1, size).withSort(Sort.by(field).descending());
}
return employeeRepository.findAll(paging);
}
@PostMapping
public Employees createEmployee(@RequestBody Employees employee) {
return employeeRepository.save(employee);
}
@GetMapping("{id}")
public ResponseEntity<Optional<Employees>> getEmployeeById(@PathVariable int id){
Optional<Employees> employee = employeeRepository.findById(id);
return ResponseEntity.ok(employee);
}
@PutMapping("{id}")
public Employees updateBookDetails(@RequestBody Employees b)
{
System.out.println("Changes Made Have Been Successfully Updated");
return employeeRepository.save(b);
}
@DeleteMapping("{id}")
public String deleteDetails(@PathVariable int id)
{
employeeRepository.deleteById(id);
return "Id : "+id+" is deleted";
}
@DeleteMapping
public String deleteAllDetails()
{
employeeRepository.deleteAll();
return "All employees deleted";
}
}
EMPLOYEE SERVICE:
package com.example.demo.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.Entity.SignUp;
import com.example.demo.Repository.SignUpRepo;
@Service
public class SignUpService {
@Autowired
SignUpRepo repo;
public Iterable<SignUp> GetAll(){
return repo.findAll();
}
}
EMPLOYEE REPOSITORY:
package com.example.demo.Repository;
import org.springframework.data.jpa.repository.JpaRepository;
import com.example.demo.Entity.Employees;
}
CONCLUSION
CHAPTER 7
CONCLUSION
This chapter tells about the conclusion that anyone can drive from the project and
the learning we learnt by taking over this project.
7.1 CONCLUSION