This repository contains my completed work for Hewlett Packard Software Engineer Training.
The project focuses on building and testing a RESTful Employee Management web service with Java Spring Boot, along with a proposal for deployment on the HPE GreenLake private cloud platform.
During this program, I designed and implemented a REST API for managing employee records. The system supports CRUD operations, is backed by unit and integration tests, and includes a professional proposal for deployment to cloud infrastructure.
- Spring Boot Application implementing a RESTful service.
- Core features:
GET /employees→ retrieve all employeesPOST /employees→ add a new employee- (Proposal includes
PUTandDELETEfor updates and removals)
- Data is represented via an
Employeeentity with fields:employee_idfirst_namelast_nameemailtitle
EmployeeManager.javamanages an in-memory list of employees and exposes methods to retrieve and add employees.Employees.javais a wrapper class for holding a list ofEmployeeobjects.
- Comprehensive JUnit + MockMvc tests in
RestServiceApplicationTests.java:testGetEmployees()validates retrieval of employee data.testAddEmployee()verifies employee creation with proper HTTP status codes and headers.
- Employee Management RESTful Web Service Proposal.pdf
- Outlines design for deployment on HPE GreenLake with:
- Persistent storage in a relational database (MySQL/PostgreSQL).
- Full CRUD support (
GET,POST,PUT,DELETE). - Authentication and security measures.
- Error handling for
400,404, and500cases.
.
├── src/main/java/com/example/restservice
│ ├── Employee.java # Employee entity
│ ├── EmployeeController.java # REST API controller
│ ├── EmployeeManager.java # Service for managing employees
│ ├── Employees.java # Employee list wrapper
│ └── RestServiceApplication.java # Spring Boot main entry point
│
├── src/test/java/com/example/restservice
│ └── RestServiceApplicationTests.java # JUnit tests with MockMvc
│
├── Employee Management RESTful Web Service Proposal.pdf
└── README.md- Java 17
- Spring Boot (REST API development)
- JUnit 5 + Mockito (testing)
- HPE GreenLake (conceptual) (cloud deployment platform)
- RESTful API design and implementation with Spring Boot.
- Unit and integration testing using JUnit and Mockito.
- Writing a cloud deployment proposal with emphasis on scalability, security, and persistence.
- Applying software engineering best practices in a real-world simulation context.
