Git Product home page Git Product logo

csh-drink-ios's People

Contributors

sman591 avatar speakerbug avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

csh-drink-ios's Issues

Long item names don't wrap on initial view

When visiting a machine's item list and at least one of the item names exceed the horizontal space provided, the name is cut off. But, upon scrolling the item out and back into view in the list, the title wraps correctly.

Signify difference in item unavailability reasons

There are two reasons we disable items:

  • User cannot afford item
  • Item is unavailable

However:

  • The first user-actionable (add money to your account) while the second isn't (only by a drink admin)
  • Both are shown in the UI with pink text.

If the error is user-actionable, it should stay highlighted in pink, while if it isn't actionable, it should be gray like the rest of the text.

Maybe even let the user tap on the user-actionable items, just to see an info popup.

Automatically update history & credits after a drop

When a user drops a drink, the history table and user credits should be automatically updated. Technically, the machine should be reloaded for that slot in the event that drop was the last available from the slot.

Use a single scroll view

Something like this, all in one table view. There's no need to drill down by machine.

Big Drink

  • Coke
  • Sprite
  • ...

Little Drink

  • Coke
  • Sprite
  • ...

Snack

  • ...
  • ...

Return to optimized compiling

As seen in e317a36, compiler optimization for final products had to be disabled in order to fix a bug where the app crashes at launch.

A possible workaround is to implement a different keychain wrapper.

Fix app icon

Looks like icons have changed slightly in shape, and there's also some missing ones in image assets.

screenshot 2016-10-20 19 50 59

Improve drop status alerts

Currently, a alerts are closed & re-opened between the confirmation & dropping states, which is not ideal. It'd be best if the background remained and only the alert switched out, but will require a bit of re-working JSSAlertView.

Drink API can be exploited

Due to an apparent (bug?) in WebDrink's API, multiple items can be dropped for the cost of only one item if submitted during a delay. Example:

  1. Drop an item with a 60 second delay
  2. Continue to trigger item drops during those 60 seconds
  3. Watch neither your history nor credits reflect the extra drinks

It's worth noting, this could be easily exploited via someone manually querying the API.

Use relative time for drop history

Seeing exact dates isn't fancy enough

Only show relative time for those within the last month, later than that just show a formatted date (Discourse style)

As a user, I want the ability to tap on an API link on WebDrink and be directed into the mobile app /w API key pre-filled so that I don't have to copy & paste

Would improve the authorization process by a lot. Implementable via deep links, probably could be compatible with the android app as well.

Goal behavior:

  1. User opens iOS app for first time, is asked for API key
  2. User taps on button that brings them to WebDrink
  3. Authenticates with WebAuth if needed
  4. WebDrink sends them back to the iOS app via a deep link that includes their API key
  5. User is signed in

Invalidated API keys do not log the user out

The app doesn't realize when it's API key has been invalidated.

Steps to reproduce:

  1. Open drink app & log in
  2. Open WebDrink, generate a new API key
  3. Force-close & re-open the drink app

The user credits count will be 0, no drinks will be droppable, and the drop history will show everyone's history, not the logged in user's.

Fix fastlane support

Never really got fastlane fully working. Goal:

  • New commits/merges to develop trigger a build just to make sure it passes
  • New commits/merges to master trigger a build and deploy a new version to the App Store if successful
  • PRs get tested

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.