This project is a web application for analyzing employee performance data using the Bell Curve methodology. The application includes a backend powered by Spring Boot for handling API requests and a frontend built with Next.js for the user interface.
- Backend (Spring Boot)
- Frontend (Next.js)
- Installation Instructions
- Running the Application
- API Endpoints
- Environment Variables
- Technologies Used
- License
The backend is built with Spring Boot and provides API endpoints to handle employee data, perform the Bell Curve analysis, and suggest performance adjustments.
- Java 17 or higher
- Maven
- MySQL database (or another RDBMS)
-
Clone the repository:
git clone <repository-url> cd <project-folder>
-
Set up MySQL database:
- Create a MySQL database (e.g.,
assignment
). - Update
application.properties
with your database credentials.
- Create a MySQL database (e.g.,
-
Install dependencies:
- If you haven't installed Maven, you can install it globally or use the Maven wrapper:
mvn clean install
- If you haven't installed Maven, you can install it globally or use the Maven wrapper:
-
Configure
application.properties
: Create or update thesrc/main/resources/application.properties
file with the following settings:# Replace Username & Password with actual credential # Database connection details # URL to connect to the MySQL database named 'assignment' spring.datasource.url=jdbc:mysql://localhost:3306/assignment # Username for the database connection spring.datasource.username=your_username # Password for the database connection spring.datasource.password=your_password
-
Run the application:
-
Start the Spring Boot application:
mvn spring-boot:run
-
The backend will be available at
http://localhost:8080
.
-
- GET /api/bell-curve/analyze: Get the Bell Curve analysis results (actual percentages, deviation, and suggested adjustments).
- POST /api/bell-curve/add: Add a new employee.
- POST /api/bell-curve/add-all: Add multiple employees.
- GET /api/bell-curve/employees: Get a list of all employees.
The frontend is built with Next.js and provides a user interface for adding employees and viewing the Bell Curve analysis.
- Node.js (version 16 or higher)
- npm (Node package manager)
-
Clone the repository:
git clone <repository-url> cd <frontend-folder>
-
Install dependencies:
- Install the required packages:
npm install
- Install the required packages:
-
Run the application:
-
Start the Next.js development server:
npm run dev
-
The frontend will be available at
http://localhost:3000
.
-
To run the application locally, follow these steps:
-
Start the backend (Spring Boot):
mvn spring-boot:run
-
Start the frontend (Next.js):
npm run dev
Now, you can access the application at http://localhost:3000
and interact with the Bell Curve performance appraisal system.
In the backend, you need to configure the following environment variables in application.properties
:
spring.datasource.url
: Database URLspring.datasource.username
: Database usernamespring.datasource.password
: Database password
-
Backend:
- Spring Boot
- MySQL
- Hibernate
- RESTful API
- Java 17
-
Frontend:
- Next.js
- React
- TailwindCSS
- Shadcn
- Zod (for form validation)
- Axios / Fetch API (for making HTTP requests)
This project is licensed under the MIT License - see the LICENSE file for details.