manyopensource / reddit_client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

reddit_client

A Reddit client built with Flutter using Streams and BLoC pattern. I'm using this as a practice to build my understanding on BLoC. Suggestions, issues and PRs are welcomed!

Frontpage. Details Drawer. Profile

Get started

To run this app, you need to create an app in Reddit preferences. Make sure you choose installed app. Take note of the token - you need to put it into secrets.example.dart, then rename the file to secrets.dart.

Roadmap

  • A subreddit feed view
  • Display frontpage
    • Infinite scrolling
    • Card layout for each post on the feed
      • Basic info
      • Display badges
      • Refine link preview to look like what's on Reddit
    • Feed switching between different sortings/filters
    • Pull to refresh
    • Search
      • Search a subreddit
      • Search a post
      • Search autocomplete
    • Keep track of what has been read
  • Settings
  • Create a post
  • Inbox
    • View messages
    • Send messages
  • Post details
    • View post details
    • Pull to refresh details
    • Upvote/downvote a post
    • Save a post
    • Comments
      • View comments
      • Collapse comments
      • Pull to refresh comments
      • Post a comment / reply to a comment
      • Upvote/downvote/save a comment
      • Expand comments
      • Refine comment layout
  • Authentication
    • Login
    • Logout
    • Profile
      • Basic info - Karma, Cake day
      • Comments
      • Posts
      • Upvoted
      • Downvoted
      • Hidden
      • Saved
      • Sort for each profile section
      • Show saved comments
    • Persists credentials on device
  • Splash screen
  • Dark mode
  • Tap on image or video for quick preview
  • Launch link in a webview
  • Swipe to go back
  • Open reddit links with the app
  • Shows error if connection timeout
  • Realtime Reddit feed
  • Share buttons

Special credit

Thanks to Gloumy/diaporama for open sourcing the app. I learned a lot and also shamelessly referred some of the codes from there.

About

License:GNU General Public License v3.0


Languages

Language:Dart 98.7%Language:Ruby 0.9%Language:Swift 0.3%Language:Kotlin 0.1%Language:Objective-C 0.0%