{"id":19560513,"url":"https://github.com/codelytv/kotlin-api-skeleton","last_synced_at":"2025-04-26T23:33:08.773Z","repository":{"id":81253970,"uuid":"523755836","full_name":"CodelyTV/kotlin-api-skeleton","owner":"CodelyTV","description":"💎 Kotlin Hexagonal HTTP API template to create your new projects","archived":false,"fork":false,"pushed_at":"2024-01-25T19:24:50.000Z","size":68,"stargazers_count":69,"open_issues_count":1,"forks_count":14,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-04T18:38:45.282Z","etag":null,"topics":["api","hexagonal","kotlin","spring","spring-boot","testing"],"latest_commit_sha":null,"homepage":"https://pro.codely.com/library/api-http-en-kotlin-aplicando-arquitectura-hexagonal-189116","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CodelyTV.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-08-11T14:32:15.000Z","updated_at":"2025-01-18T04:27:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"2f5d3195-e9b9-4a67-a712-bcdc817cb354","html_url":"https://github.com/CodelyTV/kotlin-api-skeleton","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":"CodelyTV/kotlin-basic-skeleton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodelyTV%2Fkotlin-api-skeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodelyTV%2Fkotlin-api-skeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodelyTV%2Fkotlin-api-skeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodelyTV%2Fkotlin-api-skeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodelyTV","download_url":"https://codeload.github.com/CodelyTV/kotlin-api-skeleton/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251068040,"owners_count":21531475,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","hexagonal","kotlin","spring","spring-boot","testing"],"created_at":"2024-11-11T05:07:51.511Z","updated_at":"2025-04-26T23:33:07.112Z","avatar_url":"https://github.com/CodelyTV.png","language":"Kotlin","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://codely.com\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/10558907/170513882-a09eee57-7765-4ca4-b2dd-3c2e061fdad0.png\" width=\"300px\" height=\"92px\" alt=\"Codely logo\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e\n  💎 Kotlin HTTP API Skeleton\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/CodelyTV/kotlin-api-skeleton/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/CodelyTV/kotlin-api-skeleton/actions/workflows/ci.yml/badge.svg\" alt=\"Build status\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/CodelyTV\"\u003e\u003cimg src=\"https://img.shields.io/badge/CodelyTV-OS-green.svg?style=flat-square\" alt=\"Codely Open Source\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://pro.codely.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/CodelyTV-PRO-black.svg?style=flat-square\" alt=\"CodelyTV Courses\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Template intended to serve as a starting point if you want to \u003cstrong\u003ebootstrap a Kotlin HTTP API\u003c/strong\u003e.\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n  Take a look, play and have fun with this.\n  \u003ca href=\"https://github.com/CodelyTV/kotlin-api-skeleton/stargazers\"\u003eStars are welcome 😊\u003c/a\u003e\n\u003c/p\u003e\n\nThis is a repository intended to serve as a starting point if you want to bootstrap an API in Kotlin.\n\n## ☝️ Introduction\n\nIt 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\n* Latest stable kotlin version\n* Latest stable Springboot version\n* Latest stable java version\n* Best practices applied\n* Some useful resources to start coding\n\n## 🌎 How To Start\n\nYou could manually clone [this repo](https://github.com/CodelyTV/kotlin-api-skeleton) or just us it as a template\n\n### Cloning the repository\n\nWe recommend to follow the next step by step process in order to avoid adding the bootstrap project commits to your project Git history:\n\n1. [Use this repositoy template](https://github.com/CodelyTV/kotlin-api-skeleton/generate)\n2. Clone your project\n3. Move to the project directory: `cd your-project-name`\n4. Build the project for the first time: `./gradlew build`\n5. Run all the checks: `./gradlew check`. This will do some checks that you can perform with isolated commands:\n    1. [Klint](https://ktlint.github.io/) using [Spotless](https://github.com/diffplug/spotless): `./gradlew spotlessCheck`. If you want to fix style issues automatically: `./gradlew spotlessApply`.\n    2. [Kotlin test](https://kotlinlang.org/api/latest/kotlin.test/): `./gradlew test`.\n6. To just run the project execute: `./gradlew run`\n7. Start coding!\n\n## 👌 Helpful resources\n\n### Kotlin\n\n* [Kotlin Coding Conventions](https://kotlinlang.org/docs/coding-conventions.html)\n* [Comparison between Kotlin and Java](https://kotlinlang.org/docs/comparison-to-java.html)\n\n### Kotlin test\n\n* [Test code using JUnit in JVM - tutorial](https://kotlinlang.org/docs/jvm-test-using-junit.html)\n* [JUnit5 assertions](https://junit.org/junit5/docs/5.0.1/api/org/junit/jupiter/api/Assertions.html)\n\n## 👌 Codely Code Quality Standards\n\nPublishing this package we are committing ourselves to the following code quality standards:\n\n- 🤝 Respect **Semantic Versioning**: No breaking changes in patch or minor versions\n- 🤏 No surprises in transitive dependencies: Use the **bare minimum dependencies** needed to meet the purpose\n- 🎯 **One specific purpose** to meet without having to carry a bunch of unnecessary other utilities\n- ✅ **Tests** as documentation and usage examples\n- 📖 **Well documented ReadMe** showing how to install and use\n- ⚖️ **License favoring Open Source** and collaboration\n\n## 🔀 Related skeleton templates\n\nOpinionated TypeScript skeletons ready for different purposes:\n\n- [🔷🌱 TypeScript Basic Skeleton](https://github.com/CodelyTV/typescript-basic-skeleton)\n- [🔷🕸️ TypeScript Web Skeleton](https://github.com/CodelyTV/typescript-web-skeleton)\n- [🔷🌍 TypeScript API Skeleton](https://github.com/CodelyTV/typescript-api-skeleton)\n- [🔷✨ TypeScript DDD Skeleton](https://github.com/CodelyTV/typescript-ddd-skeleton)\n\nThis very same basic skeleton philosophy implemented in other programming languages:\n\n- [✨ JavaScript Basic Skeleton](https://github.com/CodelyTV/javascript-basic-skeleton)\n- [☕ Java Basic Skeleton](https://github.com/CodelyTV/java-basic-skeleton)\n- [📍 Kotlin Basic Skeleton](https://github.com/CodelyTV/kotlin-basic-skeleton)\n- [🧬 Scala Basic Skeleton](https://github.com/CodelyTV/scala-basic-skeleton)\n- [🦈 C# Basic Skeleton](https://github.com/CodelyTV/csharp-basic-skeleton)\n- [🐘 PHP Basic Skeleton](https://github.com/CodelyTV/php-basic-skeleton)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelytv%2Fkotlin-api-skeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodelytv%2Fkotlin-api-skeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelytv%2Fkotlin-api-skeleton/lists"}