/ducen-java

Primary LanguageKotlin

Codely logo

πŸ’Ž Kotlin HTTP API Skeleton

Build status Codely Open Source CodelyTV Courses

Template intended to serve as a starting point if you want to bootstrap a Kotlin HTTP API.

Take a look, play and have fun with this. Stars are welcome 😊

This is a repository intended to serve as a starting point if you want to bootstrap an API in Kotlin.

☝️ Introduction

It could be useful if you want to start from scratch a kata or a little exercise or project. The idea is that you don't have to worry about the boilerplate

  • Latest stable kotlin version
  • Latest stable Springboot version
  • Latest stable java version
  • Best practices applied
  • Some useful resources to start coding

🌎 How To Start

You could manually clone this repo or just us it as a template

Cloning the repository

We recommend to follow the next step by step process in order to avoid adding the bootstrap project commits to your project Git history:

  1. Use this repositoy template
  2. Clone your project
  3. Move to the project directory: cd your-project-name
  4. Build the project for the first time: ./gradlew build
  5. Run all the checks: ./gradlew check. This will do some checks that you can perform with isolated commands:
    1. Klint using Spotless: ./gradlew spotlessCheck. If you want to fix style issues automatically: ./gradlew spotlessApply.
    2. Kotlin test: ./gradlew test.
  6. To just run the project execute: ./gradlew run
  7. Start coding!

πŸ‘Œ Helpful resources

Kotlin

Kotlin test

πŸ‘Œ Codely Code Quality Standards

Publishing this package we are committing ourselves to the following code quality standards:

  • 🀝 Respect Semantic Versioning: No breaking changes in patch or minor versions
  • 🀏 No surprises in transitive dependencies: Use the bare minimum dependencies needed to meet the purpose
  • 🎯 One specific purpose to meet without having to carry a bunch of unnecessary other utilities
  • βœ… Tests as documentation and usage examples
  • πŸ“– Well documented ReadMe showing how to install and use
  • βš–οΈ License favoring Open Source and collaboration

πŸ”€ Related skeleton templates

Opinionated TypeScript skeletons ready for different purposes:

This very same basic skeleton philosophy implemented in other programming languages: