An open API service indexing awesome lists of open source software.

https://github.com/petergarnaes/madklub-android

Madklub android app for the corresponding website
https://github.com/petergarnaes/madklub-android

android apollo-android dagger2 graphql

Last synced: 27 days ago
JSON representation

Madklub android app for the corresponding website

Awesome Lists containing this project

README

          

# 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