Exercise application with client csv generating Fetch them by:
- identification number (oib) (required fields) Delete them by:
- identification number (oib) (required fields) Create them by:
- firstName (required fields)
- lastName (required fields)
- identification number (oib) (required fields)
In order to test application easy we have swagger-ui and postman collections
File | PATH |
---|---|
Application Collection | postman/RBA.postman_collection.json |
Swagger UI | swagger-ui |
Technologies used while developing are
- Spring Boot running on Java 8
- Hibernate
- Jpa
- Postgres
- Liquibase
- SwaggerUI
- Git
And of course Application itself is open source with a public repository on GitLab.
Application requires Postgres Database and Java 8 to run.
Enter the postgres shell and create database using following commands.
psql
create database rba_database;
create user user_rba with login encrypted password 'user_rba123';
grant all privileges on database rba_database to user_rba;
Application will take care of the rest once it is started. Just open app in preferred IDE and start it
Application is multimodule project which consists of
- rba-api
- rba-commons
- rba-web
- rba-core
All business logic is located inside rba-core module. Idea behind structure inside core module is package-by-feature.
Each operation goes through series of steps:
- Request validation - check if all required fields are set
- Context creation - creation of context that contain all the needed data for next phases of the flow
- Preconditions validation - each operation has a certain preconditions that need to be valid
- Resource provisioning - changing the state of the resource
- Response generation - generation of the response based on provided context
- Implement Table Mapping
- Documentation
- Increase Test Coverage