Reddity is a work-in-progress reddit clone app with Jetpack Compose which uses Reddit API
- Jetpack;
- Compose: A recommended modern toolkit for building native UI.
- ViewModel: A business logic or screen level state holder.
- Room: An abstraction layer over SQLite to allow fluent database access
- Navigation: For navigating screens and Hilt Navigation Compose for injecting dependencies.
- Paging 3: Helps you load and display pages of data from a larger dataset from local storage or over network.
- DataStore: A data storage solution that allows you to store key-value pairs or typed objects with protocol buffers.
- Coroutines with Flow for asynchronous.
- Hilt: A standard way to incorporate Dagger dependency injection into an Android application.
- Retrofit2: A type-safe HTTP client for Android
- OkHttp3: An efficient HTTP & HTTP/2 client for Android
- Moshi: A modern JSON library for Kotlin and Java.
- Coil: An image loading library for Android backed by Kotlin Coroutines.
- Timber: a logger with a small, extensible API which provides utility on top of Android's normal
Log
class.
The app follows the official architecture guidance
Create an application on Reddit apps as script and obtain the secret keys then you can set them in ~/secrets.properties
to use login feature
REDDIT_CLIENT_ID="YOUR CLIENT ID"
REDDIT_CLIENT_SECRET="YOUR CLIENT SECRET"
Copyright 2022 Fatih OZTURK
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.