1713167354078-Graduate Java Developer Assessment v2042024
1713167354078-Graduate Java Developer Assessment v2042024
SOFTWARE
DEVELOPER
Assessment
2023v1
SCENARIO
Background:
Enviro365, a leading environmental solutions company, is developing a waste sorting
mobile application aimed at promoting sustainable waste management practices. The
application will serve as an educational tool for individuals and communities, providing
guidance on proper waste disposal techniques and encouraging recycling habits. As a
recent graduate developer at Enviro365, you've been tasked with implementing REST
endpoints to enable communication between the frontend and backend systems of the
application.
Scenario:
You are part of a dedicated team working on the development of the waste sorting mobile
application at Enviro365. Your team is passionate about environmental sustainability and is
committed to creating a user-friendly and informative application that empowers users to
make environmentally conscious decisions. The application will feature various
functionalities, including waste category lookup, disposal guidelines retrieval, and recycling
tips display. Your role is to design and implement REST endpoints using Spring Boot that
facilitate data exchange between the frontend mobile application and the backend server.
TASK
Build a Spring Boot application that exposes a REST API for clients:
Design RESTful APIs using Spring Boot to expose the required functionalities for
data retrieval and manipulation.
Define resource URIs, request methods, request/response payloads, and error
handling mechanisms for each endpoint.
Implement endpoints to save/update/delete/retrieve data such as waste
categories, disposal guidelines, and recycling tips.
Ensure that the endpoints return JSON-formatted responses containing relevant
data in a structured format.
Implement input validation using Spring Boot validation annotations to ensure the
integrity and validity of incoming requests and data payloads.
DEADLINE
You have 7 working days to complete the Assessment from the date you receive it.
SUBMISSION
Please submit your github link of the assessment on www.etalente.co.za
THINGS TO NOTE
1. All code should be written in a package
2. com.enviro.assessment.grad001.yournameandsurname
3. From a technical perspective, as per commonly accepted best practice, each
record has a primary key called “id” that identifies it – this is a technical id, and
4. Please model and implement the interface in the way you consider to be the
best way from an Object Oriented perspective.
5. As we will be accessing a real database as part of this exercise, please
implement an in memory database (H2).
6. Your submission must be a Springboot application with a rest endpoints