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.
- 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
Kotlin Multiplatform for sharing code between different platforms.
Compose Multiplatform for building shared UI.
Coil 3 for fetching & displaying images.
kmpalette for generating color palettes from images.
Voyager, Molecule for navigation, presenters.
Ktor Client for network requests.
Kotlinx serializtion serializing json responses.
RSS parser parsing RSS feed.
Paging 3 Loading data from network/database in chunks/pages.
Datastore proto/preferences for saving user preferences.
kotlin-inject Multiplatform DI.
Sqldelight for Offline caching.
Lyricist type-safe dynamically updated string resources.
Crashlytics, Bugsnag for Crash reporting.
Turbine, Robolectric for testing.
Refresh Versions for fetching dependency versions updates.
App Versioning, Github actions, Gradle Play publisher for an automated app building & deployment.
See CONTRIBUTING.md.
- Write Screenshot tests.
- Maybe split the shared module into multiple features/modules.
- Thanks to RAWG API (Video Games Database).
- Thanks to Cheapshark API (Price comparison website for digital games).
- Thanks to GamerPower API (Providing access to giveaways updated daily).
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 at
http://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.