Coder Social home page Coder Social logo

quotesaver's Introduction

QuoteSaver

Kotlin Android Gradle Plugin Gradle API

An app that get quotes from an API and let's the user save quotes locally. This app is meant for presentational purposes.

Searching Adding Favorites Fullscreen Sharing
Search Favorites Fullscreen Fullscreen

Download

Clone this project and start via "master" branch to get the latest released version

Tech Stack

MVVM Architecture

MVVM

quotesaver's People

Contributors

hunnihundert avatar

Stargazers

 avatar Tim Kersey avatar Jitesh Pubreja avatar  avatar Ahmed Mamdouh avatar Filip Petrovski avatar

Watchers

James Cloos avatar  avatar

quotesaver's Issues

feat/27_caching

Cache previous search results in case of no network when starting the app

feat/40_widget

A widget that shows a certain quote (changes? Quote of the day?)

feat/35_remove_favorite

When removing favorites the notiftyItemRemove() function should be called so the recycler view can show the corresponding animation.

bug/11_end_of_list_detection

When scrolling down fast in the list of quotes, the detection of the end of the list is triggered twice and therefore sending a request to the API twice.

feat/14_back_button

Currently, the back button navigates the times the user has been switchting back and forth between feed and favorites. The behavior should be: in feed: back (show snackbar: press one more time to exit), in favorites: go back to feed.

feat/8_likes

The api offers the option to show the amount of likes it has gotten and also do (dis-)like quotes. The user should be able to see the amounts of likes and (dis-)like items.

feat/30_positive_first_searches

When opening the app for the first time, a random category is chosen. Instead the search should take a category from a list of more positive words

feat/33_loading_spinner_at_bottom

Currently, when the app loads new resultst the UI is blocked, instead there should be a loading spinner at the bottom of the search results

bug/46_hide_bottom_nav

Currently, when the keyboard opens, the bottom nav is visible. The bottomNav is also shown in fullscreen mode.

  • hide bottomNav on open keyboard
  • hide bottomNav in fullscreen

feat/42_minor_changes

  • autoformat code
  • change if to when statements
  • remove hardcoded strings
  • change unwrapping from navigation?.let { navigation!!.invoke() Log.d("feed", "navigate") } to
    navigation?.let { navigation -> navigation.invoke() Log.d("feed", "navigate") }
  • change search hint text to what a user is acutally seraching through

feat/29_search_logic_to_vm

move search from feed fragment to viewmodel, so that the view only has to observe and update the adapter

feat/36_bottom_navigation

Currently, switching between the fragments (search, favorites) is done via the heart symbol in the search bar and the back arrow, which seem to be not intuitive. Instead switch to bottom navigation.

feat/15_font

The font is not readable on lighter backgrounds.

bug/18_fullscreen_back_to_feed

When coming back from fullscreen to the feed, all items are added again at the end of the list and therefore creating duplicates.

feat/6_favorite

The user should be able to add a quote to a favorite list which is retained locally.

feat/4_search_function

The user should be able to enter a category/keyword in the search bar and the app should show quotes that match that category/keyword.

feat/31_info_on_searching

The user might not know what he is searching for, there should be a guide on what the search actually does

bug/13_text_length

Text that do not fit into one card view get cut off. Either the font size needs to be adjusted or the card sizes increased (or both).

feat/3_endless_scrolling

The api currently used has an item number restriction, when scrolling to the bottom, the app should load new quotes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.