Awesome
<p align="center"> <a href="https://codely.com"> <img src="https://user-images.githubusercontent.com/10558907/170513882-a09eee57-7765-4ca4-b2dd-3c2e061fdad0.png" width="300px" height="92px" alt="Codely logo"/> </a> </p> <h1 align="center"> π Kotlin HTTP API Skeleton </h1> <p align="center"> <a href="https://github.com/CodelyTV/kotlin-api-skeleton/actions/workflows/ci.yml"><img src="https://github.com/CodelyTV/kotlin-api-skeleton/actions/workflows/ci.yml/badge.svg" alt="Build status"/></a> <a href="https://github.com/CodelyTV"><img src="https://img.shields.io/badge/CodelyTV-OS-green.svg?style=flat-square" alt="Codely Open Source"/></a> <a href="https://pro.codely.com"><img src="https://img.shields.io/badge/CodelyTV-PRO-black.svg?style=flat-square" alt="CodelyTV Courses"/></a> </p> <p align="center"> Template intended to serve as a starting point if you want to <strong>bootstrap a Kotlin HTTP API</strong>. <br /> <br /> Take a look, play and have fun with this. <a href="https://github.com/CodelyTV/kotlin-api-skeleton/stargazers">Stars are welcome π</a> </p>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:
- Use this repositoy template
- Clone your project
- Move to the project directory:
cd your-project-name
- Build the project for the first time:
./gradlew build
- Run all the checks:
./gradlew check
. This will do some checks that you can perform with isolated commands:- Klint using Spotless:
./gradlew spotlessCheck
. If you want to fix style issues automatically:./gradlew spotlessApply
. - Kotlin test:
./gradlew test
.
- Klint using Spotless:
- To just run the project execute:
./gradlew run
- 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:
- π·π± TypeScript Basic Skeleton
- π·πΈοΈ TypeScript Web Skeleton
- π·π TypeScript API Skeleton
- π·β¨ TypeScript DDD Skeleton
This very same basic skeleton philosophy implemented in other programming languages: