Skip to content

iuryamaral1/oli-saude-backend-challenge

Repository files navigation

Oli Saúde|100x397,20%

✨Oli Saúde Backend Challenge✨

.github/workflows/main.yml Sonarcloud Status Code Coverage Reliability Security Maintainability Duplicated Lines (%) Lines of Code Technical Debt Vulnerabilities Bugs Code Smells

-----------------------------------------------------

📖 Table of Contents

-----------------------------------------------------

📌 Description

The aim of this repository is to implement Oli Saúde Backend Challenge using the best practices for study purposes.

-----------------------------------------------------

🔥 Business Requisites

To better understand the business requisites of this challenge, please visit this link.

-----------------------------------------------------

🏢 Architecture

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.

-----------------------------------------------------

💎 Package Structure

./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.

-----------------------------------------------------

💻 Technologies

Kotlin Badge Spring Boot Badge Spring Data JPA Badge Docker Badge PostgreSQL Badge Docker Compose Badge Testcontainers Badge Swagger Badge Gradle Badge SonarCloud Badge GitHub Actions Badge

-----------------------------------------------------

🚀 How to run

./gradlew bootRun - Runs the application

./gradlew test - Runs the tests

./gradlew build - Builds the application

docker-compose up - Runs the application with Docker Compose

-----------------------------------------------------

🐳 How to run with Docker Compose

$ docker-compose up -d

-----------------------------------------------------

📝 Documentation

When application is started, then you may go to: http://localhost:8080/swagger-ui/index.html/

-----------------------------------------------------

📈 SonarCloud

This project is integrated with SonarCloud. You can check the status of the project here.

-----------------------------------------------------

👲 CI/CD

This project is integrated with GitHub Actions. You can check the status of the project here.

-----------------------------------------------------

📝 Further documentation

-----------------------------------------------------

📱Contact

LinkedIn Badge Gmail Badge

-----------------------------------------------------

To Do List

  • 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

Releases

No releases published

Packages

No packages published