2023-09-03 21:43:36 +02:00
|
|
|
|
<div align="center">
|
2024-05-27 07:26:30 +02:00
|
|
|
|
<img src="https://img.shields.io/badge/Kotlin-2.0.0-7F52FF?logo=kotlin" />
|
2024-06-03 13:36:44 +02:00
|
|
|
|
<img src="https://img.shields.io/badge/Gradle-8.8-02303A?logo=gradle" />
|
2024-02-01 14:22:09 +01:00
|
|
|
|
<img src="https://img.shields.io/badge/Android-26+-34A853?logo=android" />
|
2024-05-28 20:48:20 +02:00
|
|
|
|
<img src="https://img.shields.io/badge/Compose-1.6.7-4285F4?logo=jetpackcompose" />
|
2023-09-03 21:43:36 +02:00
|
|
|
|
</div>
|
2024-08-03 22:53:59 -04:00
|
|
|
|
This is an archive of the Raccoon For Lemmy project. The package has been renamed, and all broken linked content <em>should</em> now be fixed.
|
|
|
|
|
|
|
|
|
|
Below is a slightly modified version of the original README.
|
2023-09-03 21:43:36 +02:00
|
|
|
|
<br />
|
|
|
|
|
|
2024-08-03 22:53:59 -04:00
|
|
|
|
<div align="center">
|
|
|
|
|
<img src="https://raw.githubusercontent.com/N7-X/RaccoonForLemmy/master/androidApp/src/main/ic_launcher-playstore.png" width="250" height="auto" />
|
|
|
|
|
</div>
|
|
|
|
|
|
2023-09-26 18:39:49 +02:00
|
|
|
|
# Raccoon for Lemmy
|
2023-08-04 15:18:57 +02:00
|
|
|
|
|
2024-01-23 09:28:30 +01:00
|
|
|
|
A Kotlin Multiplatform client for Lemmy (mainly Android).
|
2023-08-04 00:04:07 +02:00
|
|
|
|
|
2024-04-17 08:10:55 +02:00
|
|
|
|
Raccoon is a client for the federated aggregation and discussion platform Lemmy.
|
2024-01-25 23:56:42 +01:00
|
|
|
|
|
|
|
|
|
The project started as an exercise to play around with Kotlin Multiplatform (KMP) and Compose
|
|
|
|
|
multiplatform and gradually grew as a fully functional client with many features.
|
|
|
|
|
|
2024-08-02 19:34:52 -04:00
|
|
|
|
Have a look at the User manual
|
2024-01-25 23:56:42 +01:00
|
|
|
|
for a more detailed explanation or
|
2024-08-02 19:34:52 -04:00
|
|
|
|
the Technical manual
|
2024-01-25 23:56:42 +01:00
|
|
|
|
for some technical notes.
|
|
|
|
|
|
2023-10-05 23:55:07 +02:00
|
|
|
|
## Main features
|
2023-08-04 00:04:07 +02:00
|
|
|
|
|
2023-10-05 23:55:07 +02:00
|
|
|
|
- view post feed and comments with different listing and sort types;
|
2024-01-23 09:28:30 +01:00
|
|
|
|
- possibility to upvote and downvote (with configurable swipe actions);
|
|
|
|
|
- community and user detail (with info about moderators/moderated communities);
|
2024-03-18 13:51:51 +01:00
|
|
|
|
- review your posts and comments (created by you, bookmarked, liked/disliked);
|
2023-10-05 23:55:07 +02:00
|
|
|
|
- inbox with replies, mentions and direct messages;
|
2024-01-23 09:28:30 +01:00
|
|
|
|
- global search with different result types (all, posts, comments, user, communities);
|
2023-10-24 21:15:02 +02:00
|
|
|
|
- create and edit new posts (with optional images);
|
2024-01-23 09:28:30 +01:00
|
|
|
|
- cross-post contents to other communities;
|
2023-10-24 21:15:02 +02:00
|
|
|
|
- reply to post and comments (and edit replies);
|
2024-01-23 09:28:30 +01:00
|
|
|
|
- mark posts as read (even while scrolling) and hide read contents;
|
2023-12-24 09:46:35 +01:00
|
|
|
|
- custom appearance (color scheme, fonts, text sizes, post layout, etc.);
|
2023-11-08 13:56:11 +01:00
|
|
|
|
- custom localization (independent of system settings);
|
|
|
|
|
- block users, communities and instances (the latter requires Lemmy >= 0.19);
|
2024-03-03 08:24:57 +01:00
|
|
|
|
- report post and comments to moderators with a reason;
|
2023-10-05 23:55:07 +02:00
|
|
|
|
- support for multiple accounts (and multiple instances) with account-specific settings;
|
2023-11-08 13:56:11 +01:00
|
|
|
|
- lazy scrolling (referred to as "zombie mode");
|
2023-10-05 23:55:07 +02:00
|
|
|
|
- explore all the communities on a given instance in guest mode;
|
2023-11-28 14:02:45 +01:00
|
|
|
|
- multi-community (community aggregation);
|
2024-01-23 09:28:30 +01:00
|
|
|
|
- view the moderation log;
|
2024-06-28 09:46:36 +02:00
|
|
|
|
- community moderation tools (examine and resolve reports, ban users, feature posts, block
|
|
|
|
|
further comments from posts, mark comments as distinguished, remove posts/comments, review all
|
|
|
|
|
created posts/comments, edit/create community)
|
2024-03-18 13:51:51 +01:00
|
|
|
|
in your communities);
|
|
|
|
|
- save posts and comments you are creating as drafts to edit them later;
|
2024-06-28 09:46:36 +02:00
|
|
|
|
- admin tools (purge users/posts/comments/communities, feature posts locally, hide/unhide
|
|
|
|
|
communities);
|
2023-10-05 23:55:07 +02:00
|
|
|
|
|
|
|
|
|
Most clients for Lemmy currently offer the first points (with various degrees of completion), so
|
2024-04-17 08:10:55 +02:00
|
|
|
|
there is nothing special about Raccoon, whereas the last ones are less common and are directed to
|
|
|
|
|
more demanding users.
|
2023-11-08 13:56:11 +01:00
|
|
|
|
|
2024-06-11 14:13:10 +02:00
|
|
|
|
Concerning customization, the ability to change some aspects like font face or size and app colors,
|
|
|
|
|
vote format, bar
|
|
|
|
|
transparency and so on was of paramount importance from the very beginning. Similarly, users should
|
|
|
|
|
be able to use the
|
2024-03-18 13:51:51 +01:00
|
|
|
|
app in their native language and change the UI language independently of the system language.
|
2023-11-28 14:02:45 +01:00
|
|
|
|
|
2024-06-11 14:13:10 +02:00
|
|
|
|
This app is also intended for moderators who want to use their mobile device, offering moderation
|
|
|
|
|
tools (feature post,
|
|
|
|
|
lock post, distinguish comment, remove post/comment, ban users) and the ability to revert any of
|
|
|
|
|
these actions.
|
2023-11-28 14:02:45 +01:00
|
|
|
|
|
2024-06-11 14:13:10 +02:00
|
|
|
|
The project is under active development, so expect new features to be added over time. Have a look
|
|
|
|
|
on the issues labeled
|
2024-03-18 13:51:51 +01:00
|
|
|
|
with "feature" in the issue tracker to get an idea of what's going to come next.
|
2023-10-05 23:55:07 +02:00
|
|
|
|
|
2024-06-11 14:13:10 +02:00
|
|
|
|
If you have ideas, feedback, suggestions or comments remember to speak up and use your voice. You
|
|
|
|
|
can add reports or
|
2024-03-18 13:51:51 +01:00
|
|
|
|
request features and they will be considered.
|
2023-10-05 23:55:07 +02:00
|
|
|
|
|
|
|
|
|
## Why was the project started?
|
|
|
|
|
|
|
|
|
|
Because raccoons are so adorable, aren't they? 🦝🦝🦝
|
|
|
|
|
|
2024-06-11 14:13:10 +02:00
|
|
|
|
Joking apart, one of the main goals was to experiment with KMP and learn how to properly deal with
|
|
|
|
|
the challenges of a
|
|
|
|
|
multiplatform environment, and a medium-sized project like this was an ideal testing ground for that
|
|
|
|
|
technology.
|
2023-10-05 23:55:07 +02:00
|
|
|
|
|
2024-06-11 14:13:10 +02:00
|
|
|
|
Secondly, I felt that the Android ecosystem of Lemmy apps was a little "poor" with few native apps (
|
|
|
|
|
fewer open source),
|
|
|
|
|
while the "market" is dominated by iOS and cross-platform clients. I️ ❤️ Kotlin, I ❤️ Free and Open
|
|
|
|
|
Source Software and
|
2024-03-18 13:51:51 +01:00
|
|
|
|
I ❤️ native app development, so there was a niche that could be filled.
|
2023-10-05 23:55:07 +02:00
|
|
|
|
|
2024-06-11 14:13:10 +02:00
|
|
|
|
Developing a new client was an opportunity to add all the good features that were "scattered" across
|
|
|
|
|
different apps,
|
2024-03-18 13:51:51 +01:00
|
|
|
|
e.g. the feature richness of [Liftoff](https://github.com/liftoff-app/liftoff), the
|
2024-01-23 09:28:30 +01:00
|
|
|
|
multi-community feature of
|
2024-01-13 14:38:31 +01:00
|
|
|
|
[Summit](https://github.com/idunnololz/summit-for-lemmy) and the polished UI of the really great
|
2024-01-23 09:28:30 +01:00
|
|
|
|
[Thunder](https://github.com/thunder-app/thunder) and so on. This app tries to be configurable
|
|
|
|
|
enough to make users feel "at home" and choose what they want, while at the same time having a not
|
|
|
|
|
too cluttered interface (except for the Settings screen - I know!)
|
|
|
|
|
|
2024-06-11 14:13:10 +02:00
|
|
|
|
In the third place, this app has been a means to dig deeper inside Lemmy's internals and become more
|
|
|
|
|
humble and patient
|
|
|
|
|
towards other apps because there are technical difficulties in having to deal with a platform like
|
|
|
|
|
Lemmy.
|
2023-12-24 09:46:35 +01:00
|
|
|
|
|
2024-06-11 14:13:10 +02:00
|
|
|
|
This involves a high level of discretion and personal taste, I know, but this project _is_ all about
|
|
|
|
|
experimenting and
|
2024-03-18 13:51:51 +01:00
|
|
|
|
learning.
|
2023-10-05 23:55:07 +02:00
|
|
|
|
|
2024-03-13 07:46:58 +01:00
|
|
|
|
## Technical notes:
|
2024-01-24 19:32:23 +01:00
|
|
|
|
|
|
|
|
|
The project uses the following technologies:
|
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
|
2024-06-11 14:13:10 +02:00
|
|
|
|
- [Ktor](https://github.com/ktorio/ktor) and [Ktorfit](https://github.com/Foso/Ktorfit) for
|
|
|
|
|
networking
|
2024-02-13 22:37:13 +01:00
|
|
|
|
- [Lyricist](https://github.com/adrielcafe/lyricist) for l10n
|
2024-06-11 14:13:10 +02:00
|
|
|
|
- [Multiplatform settings](https://github.com/russhwolf/multiplatform-settings) for encrypted
|
|
|
|
|
preferences
|
|
|
|
|
- [SQLDelight](https://github.com/cashapp/sqldelight)
|
|
|
|
|
and [SQLCipher](https://github.com/sqlcipher/sqlcipher) for local
|
2024-03-13 07:46:58 +01:00
|
|
|
|
persistence
|
2024-06-11 14:13:10 +02:00
|
|
|
|
- [Multiplatform Markdown Renderer](https://github.com/mikepenz/multiplatform-markdown-renderer) for
|
|
|
|
|
Markdown
|
2024-03-13 07:46:58 +01:00
|
|
|
|
rendering
|
2023-08-04 00:04:07 +02:00
|
|
|
|
|
2024-01-13 14:38:31 +01:00
|
|
|
|
More info about the technologies used in the project can be found in
|
2024-08-02 19:34:52 -04:00
|
|
|
|
the CONTRIBUTING.md.
|
2024-01-24 19:32:23 +01:00
|
|
|
|
|
2023-10-08 13:35:45 +02:00
|
|
|
|
## Want to leave your feedback or report a bug?
|
|
|
|
|
|
2024-08-02 19:34:52 -04:00
|
|
|
|
- use the Matrix room to chat in real time with
|
2024-06-28 09:46:36 +02:00
|
|
|
|
other team members;
|
2023-10-08 13:35:45 +02:00
|
|
|
|
- open an issue on this
|
2024-08-02 19:34:52 -04:00
|
|
|
|
project's issue tracker to report bugs
|
2023-10-08 13:35:45 +02:00
|
|
|
|
or request new features
|
2024-08-02 19:34:52 -04:00
|
|
|
|
- create a post on the project's community on
|
2023-10-08 13:35:45 +02:00
|
|
|
|
Lemmy.world for broader questions, opinions, personal feedback, suggestions, insults or whatever
|
|
|
|
|
you feel like writing
|
2024-06-11 14:13:10 +02:00
|
|
|
|
- if you are a translator and want to help out with l10n or submit some corrections, check out the
|
2024-08-02 19:34:52 -04:00
|
|
|
|
project on Weblate, so you can review the
|
2024-06-11 14:13:10 +02:00
|
|
|
|
existing messages or add missing ones.
|
2023-12-24 09:46:35 +01:00
|
|
|
|
|
2024-06-11 14:13:10 +02:00
|
|
|
|
Please remember: every contribution is welcome and everyone's opinion matters here. This is a
|
|
|
|
|
community project, open
|
2024-03-18 13:51:51 +01:00
|
|
|
|
source, ad-free and free of charge, and it belongs to us all so don't be afraid to get involved.
|
2023-11-08 13:56:11 +01:00
|
|
|
|
|
2024-01-23 09:28:30 +01:00
|
|
|
|
And don't forget every 🦝's motto: «Live Fast, Eat Trash» (abbreviated L.F.E.T.).
|