• Stars
    star
    1,349
  • Rank 33,682 (Top 0.7 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created almost 5 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

HTTP client generator / KSP plugin for Kotlin Multiplatform (Android, iOS, Js, Jvm, Native) using KSP and Ktor clients inspired by Retrofit https://foso.github.io/Ktorfit

Ktorfit

All Contribtors PRs Welcome jCenter Documentation

Platforms

Introduction

Ktorfit is a HTTP client/Kotlin Symbol Processor for Kotlin Multiplatform ( Android, iOS, Js, Jvm, Linux) using KSP and Ktor clients inspired by Retrofit

Show some โค๏ธ and star the repo to support the project

GitHub stars GitHub forks Twitter Follow

How to use

Please see the documentation at https://foso.github.io/Ktorfit/

Compatibility

Version Kotlin KSP Ktor
latest 1.9.0 1.0.13 2.3.2
1.4.4 1.8.22 1.0.11 2.3.2
1.4.3 1.8.20 1.0.11 2.3.1
1.4.0 1.8.20 1.0.11 2.3.0

Release

build.gradle.kts:

plugins {
  id("de.jensklingenberg.ktorfit") version "1.0.0"
}

configure<de.jensklingenberg.ktorfit.gradle.KtorfitGradleConfiguration> {
    version = "1.5.0"
}

build.gradle

plugins {
    id ("de.jensklingenberg.ktorfit") version "1.0.0"
}

ktorfit{
    version = "1.5.0"
}

KSP:

de.jensklingenberg.ktorfit:ktorfit-ksp:1.5.0

Ktorfit-lib/-light:

implementation("de.jensklingenberg.ktorfit:ktorfit-lib:1.5.0")
or
implementation("de.jensklingenberg.ktorfit:ktorfit-lib-light:1.5.0")

๐Ÿ‘ท Project Structure

  • compiler plugin - module with source for the compiler plugin

  • ktorfit-annotations - module with annotations for the Ktorfit

  • ktorfit-ksp - module with source for the KSP plugin

  • ktorfit-lib-common - module with source for the Ktorfit lib

  • ktorfit-lib - ktorfit-lib-common + dependencies on platform specific clients

  • sandbox - experimental test module to try various stuff

  • example - contains example projects that use Ktorfit

  • docs - contains the source for the GitHub page

โœ๏ธ Feedback

Feel free to send feedback on Twitter or file an issue. Feature requests/Pull Requests are always welcome.

Acknowledgments

Some parts of this project are reusing ideas that are originally coming from Retrofit from Square. Thank you for Retrofit!

Thanks to JetBrains for Ktor and Kotlin!

Credits

Ktorfit is brought to you by these contributors.

๐Ÿ“œ License

This project is licensed under the Apache License, Version 2.0 - see the LICENSE.md file for details

More Repositories

1

Jetpack-Compose-Playground

Community-driven collection of Jetpack Compose example code and tutorials ๐Ÿš€ https://foso.github.io/compose
Kotlin
3,132
star
2

MpApt

(Deprecated) ๐Ÿ”ง Kotlin Native/JS/JVM Annotation Processor library for Kotlin compiler plugins
Kotlin
238
star
3

Cabret-Log

โœ๏ธ Method call logging for Kotlin Multiplatform
Kotlin
196
star
4

KotlinCompilerPluginExample

This is an example project that shows how to create a Kotlin Compiler Plugin. The plugin will print "Hello from" and the name of the file that is being compiled, as a compiler warning to the terminal log.
Kotlin
107
star
5

HtmlToComposeWebConverter

IntelliJ Idea Plugin that can convert HTML to Compose HTML code. https://plugins.jetbrains.com/plugin/18261-html-to-compose-web-converter
Kotlin
96
star
6

Showdown

Showdown is a selfhosted open source web app/server, you can use for remote planning pokerยฎ with scrum teams. Try at http://showdown.fly.dev/#/
Kotlin
48
star
7

KotlinReactNativeMpp

A ReactNative App written with Kotlin JS
Kotlin
35
star
8

Sheasy

This an Android App that helps you share/manage your files on your Android Device through a WebInterface in the Browser - Built with Ktor and Kotlin-React
Kotlin
35
star
9

Folders2kt

An interpreter/transpiler, written in Kotlin, for the esoteric programming language Folders, a language with no code and just folders
Kotlin
27
star
10

ExoPlayer-with-MediaControls

This is a small project i created to learn how to use the Exoplayer from Google. It plays an video from an URL and you can control the playback. It can now play HLS,Dash and mp4 streams
Java
20
star
11

gtvmonkey-scripts

This a template project that helps you write Greasemonkey/Tampermonkey/ViolentMonkey scripts with KotlinJs
Kotlin
18
star
12

compose-snake-web

This is a Compose HTML port of CompoSnake
Kotlin
12
star
13

JKAndroidWebserver

This is an example project that uses NanoHTTPd to run a Webserver on Android
Java
9
star
14

BitriseArtifactDownloader

This is a flutter app which uses the Bitrise Api(https://api-docs.bitrise.io/) to show the bitrise projects and builds and lets you download your artifacts.
Dart
9
star
15

JKManageSpaceActivity

This is an example project for my post about ManageSpaceActivity on Android
Kotlin
8
star
16

C-Crit_Generator

A generator for your critical secret keys
Kotlin
6
star
17

Android-Deeplink-Starter

IntelliJ/Android Studio plugin that adds an alternative UI to start Android deeplinks
Kotlin
3
star
18

compose-html-hello-world

Kotlin
3
star
19

ReverseMe

The app is part of my post about reserve engineering android apps
Java
3
star
20

ComposeReact

Just for fun experiment with a React like API for Jetpack Compose
Kotlin
2
star
21

KmdcExample

Example project with Compose HTML and Kmdc
Kotlin
2
star
22

MealApp

Kotlin Multiplatform project using Jetpack Compose and SwiftUI
Kotlin
2
star
23

JKLiveDataExample

This is an example project for my article about LiveData http://jensklingenberg.de/learn-how-to-use-livedata/
Java
2
star
24

JKWebsocket

Example Project that shows how to use NanoHTTP/NanoWSD to create a Websocket Server. After you connect to it, it will post "Hello World" plus the systemdate to the client every second.
Kotlin
2
star
25

KSP-Example

Kotlin
1
star
26

BasicKmm

Kotlin
1
star
27

dukat-idea

Intellij Plugin that adds a menu entry to start Dukat to generate KotlinJs Wrappers
Kotlin
1
star
28

ExtensionGenerator

Work in Progress
Kotlin
1
star
29

BananiaMapConverter

Tiled map files and converter for the game Banania
Kotlin
1
star
30

Foso

1
star
31

compose-web-nes-css

Compose Wrapper for Nes Css (WIP)
Kotlin
1
star
32

kt_dart_builder

A fluent Kotlin API for generating valid Dart source code
Kotlin
1
star
33

Experimental

Nothing to see here
Kotlin
1
star
34

kotlin-react-Hello-World

A simple Kotlin React Project with gradle, that shows Hello World and a reactstrap button
Kotlin
1
star
35

kotlinforeverything

WIP
1
star
36

compose

This is only used as an url shortener for https://github.com/Foso/Jetpack-Compose-Playground/
HTML
1
star
37

JK_Launcher

This is a very simple launcher app.
Java
1
star