Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mr3y-the-programmer/Ludi
đŽ Catch up with the latest gaming news, Discover new games, and much more. đšī¸
https://github.com/mr3y-the-programmer/Ludi
android android-app androidx compose-multiplatform jetpack-compose kotlin kotlin-multiplatform material-design-3 paging3 rawg-api sqldelight2
Last synced: 3 months ago
JSON representation
đŽ Catch up with the latest gaming news, Discover new games, and much more. đšī¸
- Host: GitHub
- URL: https://github.com/mr3y-the-programmer/Ludi
- Owner: mr3y-the-programmer
- License: apache-2.0
- Created: 2023-02-26T20:17:26.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T23:44:13.000Z (10 months ago)
- Last Synced: 2024-04-14T13:11:56.968Z (10 months ago)
- Topics: android, android-app, androidx, compose-multiplatform, jetpack-compose, kotlin, kotlin-multiplatform, material-design-3, paging3, rawg-api, sqldelight2
- Language: Kotlin
- Homepage: https://play.google.com/store/apps/details?id=com.mr3y.ludi
- Size: 18.4 MB
- Stars: 75
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: changelog_config.json
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-list - mr3y-the-programmer/Ludi - đŽ Catch up with the latest gaming news, Discover new games, and much more. đšī¸ (Kotlin)
README
# Ludi
[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0) [![Build Status](https://img.shields.io/github/actions/workflow/status/mr3y-the-programmer/Ludi/build.yml?branch=main&label=Desktop%2FAndroid%20Build&logo=Android&logoColor=black)](https://github.com/mr3y-the-programmer/Ludi/actions/workflows/build.yml)
![mar32](https://github.com/mr3y-the-programmer/Ludi/assets/26522145/93ae21de-7bb1-4851-9263-c8a9ca0ad801)Ludi is a Kotlin multiplatform app(Android + Desktop) For browsing & discovering new games, Checking daily updated price discounts & giveaways on games, and RSS gaming news feed reader from your favorite gaming news websites, All in one single app.
It is a playground for demonstrating the use of modern tech stack(KMP, compose multiplatform..etc) to develop high-quality apps.
## Screenshots
### Android
### Desktop
## Features
- Discover trending, top rated, and other highly recommended games.
- Search for a specific game or Filter games by store, tag or platform.
- RSS news reader for your favorite gaming websites.
- Offline support/Caching for RSS feed articles.
- Full-text search for RSS feed articles.
- Get Updated with the latest deals on games prices & giveaways.
- Adaptive layout design for (Mobile, tablet or Desktop).
- Dark Theme.
- Material 3 design language.Or from [github releases](https://github.com/mr3y-the-programmer/Ludi/releases)
## Tech Stack
[Kotlin Multiplatform](https://kotlinlang.org/docs/multiplatform.html) for sharing code between different platforms.[Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform) for building shared UI.
[Coil 3](https://github.com/coil-kt/coil) for fetching & displaying images.
[kmpalette](https://github.com/jordond/kmpalette) for generating color palettes from images.
[Voyager](https://github.com/adrielcafe/voyager), [Molecule](https://github.com/cashapp/molecule) for navigation, presenters.
[Ktor Client](https://github.com/ktorio/ktor) for network requests.
[Kotlinx serializtion](https://github.com/Kotlin/kotlinx.serialization) serializing json responses.
[RSS parser](https://github.com/prof18/RSS-Parser) parsing RSS feed.
[Paging 3](https://github.com/cashapp/multiplatform-paging) Loading data from network/database in chunks/pages.
[Datastore proto/preferences](https://developer.android.com/jetpack/androidx/releases/datastore) for saving user preferences.
[kotlin-inject](https://github.com/evant/kotlin-inject) Multiplatform DI.
[Sqldelight](https://github.com/cashapp/sqldelight) for Offline caching.
[Lyricist](https://github.com/adrielcafe/lyricist) type-safe dynamically updated string resources.
[Crashlytics](https://firebase.google.com/docs/crashlytics), [Bugsnag](https://docs.bugsnag.com/platforms/java/other/) for Crash reporting.
[Turbine](https://github.com/cashapp/turbine), [Robolectric](https://github.com/robolectric/robolectric) for testing.
[Refresh Versions](https://github.com/Splitties/refreshVersions) for fetching dependency versions updates.
[App Versioning](https://github.com/ReactiveCircus/app-versioning), [Github actions](https://github.com/mr3y-the-programmer/Ludi/tree/main/.github/workflows),
[Gradle Play publisher](https://github.com/Triple-T/gradle-play-publisher) for an automated app building & deployment.## Contributing
See [CONTRIBUTING.md](https://github.com/mr3y-the-programmer/Ludi/blob/main/CONTRIBUTING.md).## Todo
- [ ] Write Screenshot tests.
- [ ] Maybe split the shared module into multiple features/modules.
## Credits
- Thanks to [RAWG API](https://rawg.io/apidocs) (Video Games Database).
- Thanks to [Cheapshark API](https://apidocs.cheapshark.com/) (Price comparison website for digital games).
- Thanks to [GamerPower API](https://www.gamerpower.com/api-read) (Providing access to giveaways updated daily).
## License
```
Copyright [2023] [MR3Y]Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```