2023-09-03 21:43:36 +02:00
< div align = "center" >
2023-09-23 22:39:51 +02:00
< img src = "https://img.shields.io/badge/Kotlin-1.9.10-7f52ff?logo=kotlin" / >
2023-09-17 23:25:29 +02:00
< img src = "https://img.shields.io/badge/platforms-Android,iOS-green" / >
< img src = "https://img.shields.io/badge/Jetpack_Compose-1.5.1-3e7fea?logo=jetpackcompose" / >
2023-09-23 22:39:51 +02:00
< img src = "https://img.shields.io/github/license/diegoberaldin/RacconForLemmy" / >
2023-09-03 21:43:36 +02:00
< / div >
< br / >
< div align = "center" >
< img src = "https://github.com/diegoberaldin/RacconForLemmy/assets/2738294/6785188f-9c2a-4622-ab6b-5aa116d27c31" width = "250" height = "auto" / >
< / div >
2023-08-04 00:04:07 +02:00
# Raccon for Lemmy
2023-08-04 15:18:57 +02:00
2023-08-04 00:04:07 +02:00
A Kotlin Multiplatform Mobile client for Lemmy.
< div align = "center" >
< table >
< tr >
2023-09-22 13:30:52 +02:00
< td > <!-- Home -->
< img src = "https://github.com/diegoberaldin/RacconForLemmy/assets/2738294/01b3f04b-3900-46dc-b835-efc11c89ab63" width = "310" / >
2023-08-04 00:04:07 +02:00
< / td >
2023-09-22 13:30:52 +02:00
< td > <!-- Post detail -->
< img src = "https://github.com/diegoberaldin/RacconForLemmy/assets/2738294/c303237d-b5df-40bd-acc6-419aeed8de10" width = "310" / >
2023-09-06 08:22:21 +02:00
< / td >
< / tr >
< tr >
2023-09-22 13:30:52 +02:00
< td > <!-- Explore -->
< img src = "https://github.com/diegoberaldin/RacconForLemmy/assets/2738294/e836c063-f85c-488d-b26a-5aa14a49ec2b" width = "310" / >
2023-09-06 08:22:21 +02:00
< / td >
2023-09-22 13:30:52 +02:00
< td > <!-- Community detail -->
< img src = "https://github.com/diegoberaldin/RacconForLemmy/assets/2738294/e9174244-e0bf-4bcc-bed5-6332e807ce60" width = "310" / >
2023-09-06 08:22:21 +02:00
< / td >
< / tr >
< tr >
2023-09-22 13:30:52 +02:00
< td > <!-- Inbox -->
< img src = "https://github.com/diegoberaldin/RacconForLemmy/assets/2738294/1aaff3ac-205b-404d-b83e-ce3f4e267e75" width = "310" / >
2023-09-06 08:22:21 +02:00
< / td >
2023-09-22 13:30:52 +02:00
< td > <!-- Settings -->
< img src = "https://github.com/diegoberaldin/RacconForLemmy/assets/2738294/3e5e95bf-d09e-4339-bdaf-4e56dedb2bf3" width = "310" / >
2023-08-04 00:04:07 +02:00
< / td >
< / tr >
< / table >
< / div >
2023-09-22 13:30:52 +02:00
This started out as an exercise to play around with KMP and Compose Multiplatform and implement a Lemmy client and gradually grew to a fully functional client.
2023-08-04 00:04:07 +02:00
2023-09-22 13:30:52 +02:00
The application is under active development, expect new features to be added (e.g. multi-account support, video support, customizable post layouts, etc.).
2023-08-04 00:04:07 +02:00
2023-09-22 13:30:52 +02:00
## Libraries used:
2023-08-04 00:04:07 +02:00
2023-08-04 15:18:57 +02:00
- [Koin ](https://github.com/InsertKoinIO/koin ) for dependency injection
- [Voyager ](https://github.com/adrielcafe/voyager ) for screen navigation
- [Ktor ](https://github.com/ktorio/ktor ) with [Ktorfit ](https://github.com/Foso/Ktorfit ) for
networking in conjunction with kotlinx-serialization for JSON marshalling
- [Moko resources ](https://github.com/icerockdev/moko-resources ) for resource management
- [Kamel ](https://github.com/Kamel-Media/Kamel ) for lazy image loading
- [Multiplatform settings ](https://github.com/russhwolf/multiplatform-settings ) for encrypted
preferences
- [Markdown ](https://github.com/JetBrains/markdown ) for markdown parsing
2023-08-04 00:04:07 +02:00
- ... more to come (e.g. SQLdelight for persistence)
2023-09-22 13:30:52 +02:00
## Credits:
2023-08-04 15:18:57 +02:00
- the `core-api` module is heavily inspired
by [Jerboa for Lemmy ](https://github.com/dessalines/jerboa )
2023-09-22 13:30:52 +02:00
- the `core-md` module is taken
from [Multiplatform Markdown Renderer ](https://github.com/mikepenz/multiplatform-markdown-renderer ) with some adptations a posteriori
- the UI is inspired by the really great [Thunder ](https://github.com/thunder-app/thunder ) app
## Want to try it out?
2023-09-24 08:02:20 +02:00
- get it on [Obtanium ](https://github.com/ImranR98/Obtainium/releases ) by simply adding this repo `https://github.com/diegoberaldin/RaccoonForLemmy`