Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

fatih-ozturk/Reddity

Repository files navigation

License API Build Status

Reddity (Stopped work-in-progress 🚧🛠️)

Reddity is a work-in-progress reddit clone app with Jetpack Compose which uses Reddit API

Tech stack & libraries

  • 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.

Architecture

The app follows the official architecture guidance

Api key

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"

Screenshots

License

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.