Social network for condominium residents
A server side project in purpose of exposing APIs that are used to CRUD users.
- Java 17
- Spring Boot
- AWS Dynamo DB
- JUnit5
- Mockito
Create the particular tables on AWS DynamoDB and make sure to provide your AWS credentials in order to run successfully the app.
From the root folder, just execute the following command which will build/run unit and integration tests.
./gradlew clean build
-
Fetch user by id
GET /user/{id}
Response
200
{ "id": "e3b42f92-37ea-4a6c-813c-46155e23197c", "firstName": "Foo", "lastName": "Bar", "email": "foo.bar@test.com", "phone": "12345678910" }
Response
404 NOT FOUND
{ "message": "user id:{id} is not found" }
-
Add new user
POST /user
Request body
{ "firstName": "Json", "lastName": "Jakarta", "email": "json.jakarta@test.com", "phone": "1334545677" }
Response
201
{ "id": "e0716138-442d-43a8-a6e1-1e846c678d5a" }
A bad request gets returned when either one of field gets blank or email/phone is not valid. Message's value depends on the invalid field. Response
400 BAD REQUEST
{ "message": "{validation's message}" }
-
Update an existing user
PUT /user/{id}
Request body
{ "firstName": "Json", "lastName": "jakarta", "email": "json.jakarta@test.com", "phone": "01234563495" }
Response
200
{ "id": "e0716138-442d-43a8-a6e1-1e846c678d5a", "firstName": "Json", "lastName": "jakarta", "email": "json.jakarta@test.com", "phone": "01234563495" }
Response
404 NOT FOUND
{ "message": "user id:{id} is not found" }
A bad request gets returned when either one of field gets blank or email/phone is not valid. Message's value depends on the invalid field. Response
400 BAD REQUEST
{ "message": "{validation's message}" }
-
Delete an existing user
DELETE /user/{id}
Response
204
Response
404 NOT FOUND
{ "message": "user id:{id} is not found" }