EmployeeX is a full-stack employee management system built with React (frontend), Spring Boot (backend), and SQLite (database).
It allows organizations to efficiently manage employee records with CRUD operations, search functionality, and insightful dashboard KPIs — all in a clean and modern UI.
🚀 The project is deployed here: https://employeex.choreoapps.dev/
⚠️ ⚠️ Note: It’s hosted on a free tier, so the first load may take up to a minute while the server spins up.⚠️ ⚠️
- ➕ Add Employees – Create new employee records with form validation.
- 📝 Edit Employees – Update existing employee details.
- ❌ Delete Employees – Remove employees from the system.
- 🔍 Search Employees – Quickly find employees by name or department.
- 📊 Dashboard & KPIs – Visualize employee statistics (total employees, average age, gender distribution, department distribution).
- ✅ Form Validation – Ensures proper data entry before submission.
Before setting up the project, make sure you have the following installed:
- Java 17 → Check with
java -version- Install using Homebrew:
brew install openjdk@17
- Install using Homebrew:
- Maven → Check with
mvn -version- If not installed:
brew install maven
- If not installed:
- Node.js (v20 or above recommended) → Check with
node -v- Install via Homebrew:
brew install node
- Install via Homebrew:
- Git → Check with
git --version- Install with:
brew install git
- Install with:
-
Java 17
- Download from Oracle JDK
- After installation, set
JAVA_HOMEin system environment variables.
-
Maven
- Download from Maven Official Site
- Extract and add the
/binpath to the system environment variables.
-
Node.js (v20 or above)
- Download and install from Node.js Official Site
- Verify installation:
node -v npm -v
-
Git for Windows
- Download from Git for Windows
SQLite is already bundled via the JDBC driver, so no manual setup is needed.
The project follows a frontend-backend-database structure:
- Frontend → React server (
employee-dashboard) - Backend → Spring Boot server (
verto) - Database → SQLite (lightweight file-based database)
git clone https://github.com/parimalongithub/Verto-hackathon.git
cd Verto-hackathonNavigate into the frontend folder:
cd frontend
cd employee-dashboard
npm install
npm startThis will start the React app at http://localhost:3000.
Navigate into the backend folder:
cd backend
cd verto./mvnw spring-boot:runmvnw.cmd spring-boot:runThe backend will start at http://localhost:8080.
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/employees |
Get all employees |
| GET | /api/employees/{id} |
Get employee by ID |
| POST | /api/employees |
Add a new employee |
| PUT | /api/employees/{id} |
Update an existing employee |
| DELETE | /api/employees/{id} |
Delete an employee by ID |
| GET | /api/employees/dashboard |
Get dashboard statistics |
Verto-hackathon/
│── backend/
│ └── verto/ # Spring Boot backend
│ ├── src/main/java # Java code (controllers, services, models)
│ └── resources # application.properties
│
│── frontend/
│ └── employee-dashboard/ # React frontend
│ ├── src/components # React components
│ └── src/App.js # Main entry
│
└── README.md
- Frontend: React, Recharts, Toastify, CSS
- Backend: Spring Boot, Hibernate JPA
- Database: SQLite
- Build Tools: Maven, npm
- Ensure the SQLite JDBC dependency is added in your
pom.xml.
- Happens if you changed the entity but SQLite schema wasn’t updated.
- Fix: Delete
employees.dbfile and restart the backend (schema will be recreated).
- Make sure Spring Boot is running on
http://localhost:8080. - If you changed the backend port, update API URLs in
frontend/src/api.js.
- Delete
node_modulesand runnpm installagain. - Ensure you are inside the correct folder:
frontend/employee-dashboard.




