Redditek - A reddit client for Android developped in Kotlin

Related tags

App Redditek
Overview

Redditech

The Redditech project is a reddit client created using Kotlin and Reddit API. You will be able to :

  • Authenticate to you Reddit account using OAuth 2.0
  • View your feed and sort it by category (best, top, hot, ...)
  • Access your profile information and settings
  • Log out
  • Search a subreddit and view its information
  • Follow / Unfollow a subreddit
  • Access subreddit posts any sort them by category (best, top, hot, ...)

Technical informations

How to use this repository

To use this code you need to get access to the Reddit API. First, create a reddit app so you can get a client ID and a client secret. Then put your values here:

  • In app/src/main/java/com/example/redditek/MainActivity.kt at line 97 & 98 add your client id and your client secret.
  • In app/src/main/java/com/example/redditek/AuthenticationActivity.kt at line 25 add your client id and your redirect uri. At line 106 add your client secret.

Development

This app was developed in Kotlin using Android studio. The graphical elements are provided by the Material Theme.

Some dependencies were added for specific actions:

  • com.squareup.picasso:picasso:2.71828 - display images
  • de.hdodenhof:circleimageview:3.1.0 - display profile picture
  • com.github.bumptech.glide:glide:4.11.0 - display videos and gifs
  • com.squareup.okhttp3:okhttp:4.2.1' - get basic network elements
  • com.squareup.retrofit2:retrofit:2.9.0 - make http requests
  • com.squareup.retrofit2:converter-gson:2.4.0' - create and parse json easily

Reddit API

The reddit API is used to get information about the user, his settings, feed, subreddits and settings.

To get information that doesn't require user authentication ww.reddit.com is used. For information that are user-dependant oauth.reddit.com is used. Our client uses Reddit api OAuth 2.0 code flow method to process authentication and get a bearer token and a refresh token.

User Documentation

Feed

The feed is the main place of the application. Here you can find posts from the subreddits you are following. To sort them use the 3 buttons at the top of the screen. If you find a post interesting and you want to see similar posts you can click on it to access the subreddit's page.

Search

The search bar is placed at the top of the main screen, your feed. It allows you to search a subreddit by name. Results with a similar name will be displayed. Click on a result to access the subreddit's page.

Sample_0

Subreddit page

When you search a subreddit or if you click a on a post in your feed you will be taken here. At the top you will see a header with the subreddit name, title, description, icon, banner, and number of followers. You can follow or unfollow the subreddit using the button.
Below the header subreddit posts will be displayed. You can sort them using the 3 buttons at the top of the screen.

Sample_0

Profile page

The profile page will display your account information such as:

  • Karma by type
  • Reddit age
  • Account creation date
  • Username
  • Profile picture

Sample_0

Settings page

There is a settings page to manage your preferences. You can edit a variety of settings sur as:

  • Turn on / off recommendations based on your location
  • Turn on / off NSFW (Not Safe For Work) posts in your feed
  • Turn on / off +18 content in search results
  • Turn on / off email notifications when you receive a private message
  • Turn on / off email notifications when someone replies to your posts
  • Turn on / off all email notifications

Sample_0

You might also like...
Mobile client for official Nextcloud News App written as Kotlin Multiplatform Project
Mobile client for official Nextcloud News App written as Kotlin Multiplatform Project

Newsout Android and iOS mobile client for Nextcloud news App. The Android client is already available to download in the Play Store. F-Droid and Apple

Innertube Client written in Kotlin

mixtape • lava/youtubei Innertube Client written in Kotlin. Use multiple innertube clients with a single Innertube instance. Can be used with any ktor

Twidere-Android Twidere is a powerful twitter client for Android 1.6+ 1 , which gives you a full Holo experience and nearly full Twitter's feature.
Twidere-Android Twidere is a powerful twitter client for Android 1.6+ 1 , which gives you a full Holo experience and nearly full Twitter's feature.

Twidere for Android Material Design ready and feature rich Twitter/Mastodon/Fanfou app for Android 4.1+. Enjoy Fediverse now! Twidere-Android is maint

An MVP Dribbble client for Android Mobile, Tablet, Wear and TV.
An MVP Dribbble client for Android Mobile, Tablet, Wear and TV.

Bourbon ![Sidebar] (https://img.shields.io/badge/Sidebar-06%2F05%2F2016-orange.svg) Bourbon is a simple Dribbble client built for Android Mobile, Wear

An open source Hacker News client for Android.
An open source Hacker News client for Android.

Hacker News Come chat with us on Gitter.im! An open source Hacker News client for Android phones & tablets. Available on the Google Play Store How to

📱:newspaper: Android client for the Nextcloud news/feed reader app
📱:newspaper: Android client for the Nextcloud news/feed reader app

Nextcloud News Reader – Android App The Nextcloud News Reader Android App is under AGPLv3 License terms. Bugs and enhancements can be reported under:

Android client for Seafile

Seafile Android Client The application has been published onto the market for easy access: Contributors See Contributors Graph Build the APK Make sure

GitHub client for Android based on the abandoned official app
GitHub client for Android based on the abandoned official app

ForkHub ForkHub started off as a fork of the official Android app from GitHub, and has since seen lots of improvements. You can see a comprehensive li

📱:newspaper: Android client for the Nextcloud news/feed reader app
📱:newspaper: Android client for the Nextcloud news/feed reader app

Nextcloud News Reader – Android App The Nextcloud News Reader Android App is under AGPLv3 License terms. Bugs and enhancements can be reported under:

Owner
Arthur Robine
3rd year Epitech student
Arthur Robine
Reddit App Built Using Kotlin

Reddit App Setup Build the project gets top post from reddit and displays different media(GIF.VIDEO,IMAGE). Enable user to add/remove a post to favour

Zalo Austine 0 Nov 17, 2021
Slide is an open sourced, ad free Reddit browser for Android

Slide Slide is an open source, ad free Reddit browser for Android. It is based around the Java Reddit API Wrapper. Slide is available on the Google Pl

Carlos Crane 1.7k Jan 9, 2023
RedditVanced - Reddit Android app mod inspired by Aliucord

RedditVanced A rootless a Reddit android app mod ⚠️ NOTE ⚠️ This project is curr

RedditVanced 47 Dec 5, 2022
RedditNews - A simple application to display the top news from the Reddit API site and save your favorites to a local database.

RedditNews - A simple application to display the top news from the Reddit API site and save your favorites to a local database. Arch

null 1 Aug 28, 2022
An app for random Reddit memes with the option to share it as well!

Meme Share App What - An app for random Reddit memes with the option to share it as well! Why - Wanted to learn about integrating APIs with Android ap

Infosecc Gurung 0 Jul 14, 2022
An unofficial Zerotier Android client patched from official client

An unofficial Zerotier Android client patched from official client

KAAAsS 819 Dec 29, 2022
MEGA Android Client - A fully-featured client to access your Cloud Storage provided by MEGA

A fully-featured client to access your Cloud Storage provided by MEGA. This document will guide you to build the application on a Linux machine with Android Studio.

Mega Limited 1.1k Jan 3, 2023
A simple android Twitter client written in Kotlin

Blum Blum is an unofficial, simple, fast Twitter client written in Kotlin. This project is a complete rewrite of the Java version. Screenshot Build To

Andrea Pivetta 77 Nov 29, 2022
Photuris III is an unofficial Android client for Firefly III, written in Kotlin

Photuris III Photuris III is an unofficial Android client for Firefly III, written in Kotlin. "Firefly III" is a (self-hosted) manager for your person

Daniel Quah 264 Jan 1, 2023
TODO API Client Kata for Kotlin Developers. The main goal is to practice integration testing using MockWebServer

KataTODOApiClient for Kotlin We are here to practice integration testsing using HTTP stubbing. We are going to use MockWebServer to simulate a HTTP se

Karumi 61 Nov 20, 2022