This microservice implements a service that returns unsplash collections that matches with concrete filter in some specific fields.
Service only have one end point (See API Swagger2 Documentation here.):
GET /collection/all
Execute commands:
gradlew clean build
java -jar build/libs/unsplash-technical-test-1.0.jar --jasypt.encryptor.password={SECRET_SALT_KEY}
NOTE: SECRET_SALT_KEY is mandatory to decrypt Unsplash ClientId key that is not allowed to be public
Execute commands:
docker pull joaquinaltran/unplashclient:codetest```
docker run -it -p 8000:8080 joaquinaltran/unplashclient:codetest
DDD (Domain Driven Design) approach.
Application Service Layer
: Use Caseget Collections filtered
Model Layer
: Aggregate Root Entity ->CollectionFiltered
Infrastructure/Framework Layer
Frameworks and libs used:
- JAVA 11
- Spring Boot 2.4.2
- JUnit 5
- Swagger2 API Documentation
- Jasypt Encryption
- Gson JSON