Skip to content

Latest commit

 

History

History
55 lines (50 loc) · 3.31 KB

README.md

File metadata and controls

55 lines (50 loc) · 3.31 KB

Madklub Android App

The native Android app for Madlub website. Utilizes the GraphQL API that runs in that project

Setup

Architecture

TODO

  • Enable Apollo caching
  • Implement account through Android accounts
    • Add proper account selection
    • Handle no accounts in accountManager.getAccountsByType by sending them to AuthenticatorActivity
    • Make network interface which adds operators to the network observable that on a 401 status invalidates token (through mAccountManager.invalidateAuthToken) and repeats once. The account manager should take over from there and call our authenticator that knows how to log in again to refresh
  • Implement login screen that uses the API
  • Make main activity the launcher activity, and thoroughly test the "go to login screen" logic
  • Implement authenticated network access.
  • Add logic that makes sure data is fetched/re-fetched in case user was thrown into authentication activity
  • Implement configuration change persistence
  • Implement ShimmerLayout and/or ShimmerRecyclerView for loading dinners
  • Implement View type for dinners where user cooks
    • Participation count
    • Implement participation shows correctly
    • Shopping icon should perform mutation
    • Cancelling participation icon should perform mutation
  • Dinnerclub infinite scroll
    • Implement scroll listener
    • If nothing loaded, tell user end is reached
    • load more when scrolled to bottom
    • load previous when scrolled to top, remember to reset scroll
    • If list is to short, replace bottom loader
      • Decide what to do when list is short. Do we do "Load more" button or make it try to load next segment?
  • Dinnerclub list refresh
    • On refresh reset date range we look at
  • Headers showing month we are in.
    • Make headers sticky
    • Make action bar disappear on scroll, so there is more room for list and sticky header
  • Add floating action button to create new dinners
    • Implement fancy calendar selection, maybe with Squares claendar dialog view?
  • Dinnerclub detail activities
    • One for participant view
      • Fix transition when selecting element partially underneath statusbar. Link
      • Make shared transition of appropriate icon depending on if participant or cook
      • Make mail icon to edit icon, and make it show a pop-up dialog for typing a new meal, and perform mutation
      • Diplay data from server, mix properly with local data
      • implement mutations for cancelled, shopped, participating, price etc.
    • One for cook view
  • Fancy drag-and-drop for your dinners where user cook?
    • When drag, add blank elements to signify free dates
  • Create notifications that tell the user there is a dinnerclub the same day (if there is of course)
  • Settings activity
    • Enable/disable reminder notification
    • Set notification reminder time
    • Log out