https://github.com/santik/recipes-api
https://github.com/santik/recipes-api
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/santik/recipes-api
- Owner: santik
- Created: 2022-11-03T14:51:15.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-11-07T08:36:40.000Z (about 3 years ago)
- Last Synced: 2025-01-14T01:09:57.403Z (12 months ago)
- Language: Java
- Size: 113 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Recipes application
A simple application that allows to save, view, update, delete and search recipes.
## API
### Specifications
Repository contains API specifications in OpenAPI format.
The overview can be viewed by the url:
[Swagger](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/santik/recipes-api/master/openapi/RecipesAPI.json)
### Implementation
For implementation WebFlux library is used. It allows to serve requests and responses asynchronously and has a lot of tools to provide stabily of the application.
## Datastore
To store the data MongoDB is used.
The application starts up the embedded MongoDB server for testing.
### Database operations
Application supports the standard CRUD operations for recipes and also search operation including full text search by recipe instructions.
In code it is achieved by creating 2 separate (sub)repositories:
- CRUD repository
- Search repository in combination with query builder
## Application
Application is a simple maven application with Spring Boot as a parent. So running and testing is very simple:
Running all the tests and building the application:
> mvn clean package
or look at [Actions tab](https://github.com/santik/recipes-api/actions) of the repository for the latest builds
### Tests
The codebase contains multiple Unit and Integration Tests.
In combination, it provides the coverage almost 100%.