- 📌 Description
- 🔥 Business Requisites
- 🏢 Architecture
- 💎 Package Structure
- 💻 Technologies
- 🚀 How to run
- 📝 Documentation
- 📈 SonarCloud
- 👲 CI/CD
- 📝 Further documentation
- 📱 Contact
The aim of this repository is to implement Oli Saúde Backend Challenge using the best practices for study purposes.
To better understand the business requisites of this challenge, please visit this link.
The application is built using the Clean Architecture, which is an architecture that aims to separate the business logic from the outside world, making the application more testable and maintainable. For more information about the Clean Architecture, you can read this article by Uncle Bob.
./src/main/kotlin/com/oli/saude/challenge
├── application.usecases
│ └── clients
│ └── health_problems
├── domain
│ └── exception
│ └── models
│ └── repository
├── gateways
│ └── persistence
│ └── web
application.usecases
contains the use cases of the application, which are the business logic of the application.domain
contains the domain models, the domain exceptions and the domain repository interfaces.gateways
contains the interfaces that are used to communicate with the outside world, like the database and the web.
./gradlew bootRun
- Runs the application
./gradlew test
- Runs the tests
./gradlew build
- Builds the application
docker-compose up
- Runs the application with Docker Compose
$ docker-compose up -d
When application is started, then you may go to: http://localhost:8080/swagger-ui/index.html/
This project is integrated with SonarCloud. You can check the status of the project here.
This project is integrated with GitHub Actions. You can check the status of the project here.
- Create a client
- Update a client
- Get specific client
- Get all clients
- Add client's health problems
- Remove client's health problems
- Create endpoint to get the top 10 clients with more health problems