Raccoon/README.md

44 lines
1.7 KiB
Markdown
Raw Normal View History

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>
<td>
2023-08-04 00:07:31 +02:00
<img src="https://github.com/diegoberaldin/RacconForLemmy/assets/2738294/da834566-6741-4218-99da-ba56b59b7f50" width="310" />
2023-08-04 00:04:07 +02:00
</td>
<td>
2023-08-04 00:07:31 +02:00
<img src="https://github.com/diegoberaldin/RacconForLemmy/assets/2738294/348b6773-b434-4d11-8c41-868e9aafeb5c" width="310" />
2023-08-04 00:04:07 +02:00
</td>
</tr>
</table>
</div>
2023-08-04 15:18:57 +02:00
This is mostly an exercise to play around with KMM and Compose Multiplatform and implement a Lemmy
client.
2023-08-04 00:04:07 +02:00
2023-08-04 15:18:57 +02:00
The project is still at an early stage and not ready for production, expect things to change and
even major changes to the source code.
2023-08-04 00:04:07 +02:00
Libraries used:
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-08-04 15:18:57 +02:00
Credits:
- the `core-api` module is heavily inspired
by [Jerboa for Lemmy](https://github.com/dessalines/jerboa)
- the `core-md` module is copied
from [Multiplatform Markdown Renderer](https://github.com/mikepenz/multiplatform-markdown-renderer)
- the UI is vaguely inspired by the [Thunder](https://github.com/thunder-app/thunder) app