https://github.com/psuzn/play-deals
Paid app deals and discounts.
https://github.com/psuzn/play-deals
android desktop discount free-apps ios kotlin kotlin-multiplatform kotlin-multiplatform-mobile macos
Last synced: about 2 months ago
JSON representation
Paid app deals and discounts.
- Host: GitHub
- URL: https://github.com/psuzn/play-deals
- Owner: psuzn
- License: gpl-3.0
- Created: 2023-07-14T13:32:49.000Z (almost 2 years ago)
- Default Branch: develop
- Last Pushed: 2024-04-25T13:18:17.000Z (about 1 year ago)
- Last Synced: 2025-02-27T00:06:16.205Z (2 months ago)
- Topics: android, desktop, discount, free-apps, ios, kotlin, kotlin-multiplatform, kotlin-multiplatform-mobile, macos
- Language: Kotlin
- Homepage: https://play.google.com/store/apps/details?id=me.sujanpoudel.playdeals
- Size: 6.89 MB
- Stars: 104
- Watchers: 3
- Forks: 8
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG/CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Play Deals
[](https://play.google.com/store/apps/details?id=me.sujanpoudel.playdeals)
[](https://github.com/psuzn/app-deals/releases/latest)
[](https://github.com/psuzn/app-deals/releases/latest)
[](https://github.com/psuzn/app-deals/releases/latest)
[](https://github.com/psuzn/app-deals/releases/latest)

[](https://github.com/psuzn/Play-Deals/actions/workflows/CI.yaml)
|
|
|
|
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------:|Play deals is a simple app that aggregates the paid apps that have ongoing deals and discounts, aka you can get the
paid apps free or with discount.|
|
|
|-----------------------------------------------------------------------|:----------------------------------------------------------------------:|## Download
You can download the app from [play store](https://play.google.com/store/apps/details?id=me.sujanpoudel.playdeals) or
directly download and install the [latest apk](https://github.com/psuzn/app-deals/releases/latest). For other platforms
visit to [release page](https://github.com/psuzn/app-deals/releases/latest) to download the latest built.### Supported platforms:
- Android
- IOS
- Mac
- Linux
- Windows## Development
This app is built using this amazing thing
called [Kotlin Multiplatform (KMP)](https://kotlinlang.org/docs/multiplatform.html)
and [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/).
It shares same business logic and UI across all the platform.### Tools and Libraries Used
- [Kotlin Multiplatform](https://kotlinlang.org/docs/multiplatform.html) to share same codebase/compile to different
targets.
- [Compose Multiplatform UI](https://www.jetbrains.com/lp/compose-multiplatform/) to build the cross platform UI.
- [Ktor](https://www.jetbrains.com/lp/compose-multiplatform/) for the http/api calls.
- [Kamel](https://github.com/Kamel-Media/Kamel) for loading images.
- [Kodein](https://github.com/kosi-libs/Kodein) for dependency injection.
- [SQLDelight](https://github.com/cashapp/sqldelight) to offline cache using sqlite.### UI Navigation
Rather than using a 3rd party navigation library, I have built a simple navigation package from scratch that fits the
need. This also supports scoped based ViewModels and custom push/pop animations. This package is located
at [`shared/common/navigation`](shared/src/commonMain/kotlin/me/sujanpoudel/playdeals/common/navigation).### Basic Architecture
This loosely follows mvvm architecture inspired from android's view model.
## TO-DO
**In Priority order** :
- [x] Add Offline Caches for the apps
- [x] Push Notifications
- [ ] Add ability to add/request new app deal from app## License
**GPL V3 License**
Copyright (c) Sujan Poudel