Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gbzarelli/klean-arch-sample
[KOTLIN] [CLEAN ARCHITECTURE] [GRADLE] Sample project with modules to represent a clean architecture. Using Kotlin and Gradle to build
https://github.com/gbzarelli/klean-arch-sample
clean-architecture gradle jdk11 kotlin kotlin-clean-architecture
Last synced: 9 days ago
JSON representation
[KOTLIN] [CLEAN ARCHITECTURE] [GRADLE] Sample project with modules to represent a clean architecture. Using Kotlin and Gradle to build
- Host: GitHub
- URL: https://github.com/gbzarelli/klean-arch-sample
- Owner: gbzarelli
- License: apache-2.0
- Created: 2019-08-14T20:37:50.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-10-04T13:06:32.000Z (over 4 years ago)
- Last Synced: 2023-07-13T15:51:12.576Z (over 1 year ago)
- Topics: clean-architecture, gradle, jdk11, kotlin, kotlin-clean-architecture
- Language: Kotlin
- Homepage:
- Size: 185 KB
- Stars: 19
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KLEAN ARCH SAMPLE
Sample project with modules to represent a `clean architecture`.
Using `Kotlin` and `Gradle` to build# IN DEVELOPMENT...
## Technologies
* Language: [`Kotlin`](https://kotlinlang.org)
* Compilation: [`Gradle`](https://gradle.org)
* Framework: [`Spring Boot`](https://spring.io/projects/spring-boot)
* Cache: [`Caffeine`](https://github.com/ben-manes/caffeine)
* Banco de dados: [`H2`](h2database.com) / [`MySQL`](https://www.mysql.com) / [`Flyway`](https://flywaydb.org)
* Documentation: [`Swagger`](https://swagger.io)
* Tests:
* Test unit [`jUnit5`](https://junit.org/junit5/docs/current/user-guide/)
* Mocks [`Mockk`](https://mockk.io)
* Coverage [`Jacoco`](https://www.jacoco.org)## Building and Running the application
* Building the application:
```
./gradlew clean build
```
* Tests- All tests:
```
./gradlew check
```
- Unit tests:
```
./gradlew test
```
- Integration tests ( marked with `@Tag("integration")` )
```
./gradlew integrationTest
```
- To generate jacoco reports after `test` (output: build/reports/jacoco/jacocoFullReport)
```
./gradlew jacocoFullReport
```* Running the application (from the jar, after having built it):
```
java -jar build/klean-arch.jar
```
* Running the application (on the fly):
```
./gradlew bootRun
```
* Running the application (in the IDE): open and run the main class ( Configuration module )
```
br.com.helpdev.kleanarch.Application
```
* More info on available tasks:
```
./gradlew tasks
```## Resources
* [Clean Architecture - Robert C. Martin](https://www.amazon.com.br/Clean-Architecture-Craftsmans-Software-Structure-ebook/dp/B075LRM681)
* [Clean Architecture presentation - Mattia Battiston](https://www.slideshare.net/mattiabattiston/real-life-clean-architecture-61242830)
* [clean-architecture-example - mattia-battiston (forked)](https://github.com/gbzarelli/clean-architecture-example)