Giter VIP home page Giter VIP logo

tipjar's Introduction

TipJar

Tip Calculator utility app which allows a user to calculate the appropriate tip based on the total amount entered.

Total Hours = 20+ hours spent in total

Features

  1. User is displayed the tip of specified percentage for specified entered amount
  2. User enters the total amount of the transaction
  3. User can select between tip amounts (i.e 10%, 15%, 20%)
  • Use Radio Group and experiment with Shapes and selectors to have circle RadioButtons
  1. Upon selecting tip amount, formatted tip value is displayed
  2. Optional: User changes the total amount and updated tip is reflected automatically
  3. Optional: User can select custom tip percentage if desired
  • SeekBar and shapes/selectors to design the Progress Bar and the Thumb
  1. Optional: User can select how many ways to split the tip
  • SeekBar and shapes/selectors to design the Progress Bar and the Thumb
  1. Optional: User can edit preset tip percentages and have them persist across launches
  • Use Custom Dialog Fragment to edit the tip percentages
  • Use Shared Preferences to persist and load the values across launches
  1. Optional: Experiment with trying input widgets to replace the buttons and/or textviews
  • RadioButtons and SeekBars
  1. Optional: Improve the user interface and experience by using images and/or colors
  2. Additional: Location the city of the current restaurant and find the sales tax of the city.
  • Tax tables for various cities is stored in res/xml directory in Xmlformat.
  • Persist the preset tip amounts across launches using SharedPrefernces
  • Use GPS and Geocoder to determine the name of the city
  • โ— Please see attached images for screenshot since geocoder requires a backend service that is not present on the emulator. Didnt find a check mark image and used fill color as an experiment
  1. Additional: Compute PreTax Amount and Tip on that based on the city
  2. Additional: Change shape of circles into polygons( explore canvas )
  3. Additional: Get the name of the restaurant and persist tips/amount and obtain a history for a restaurant
  4. Additional: Search tip history for a specific restaurant
  5. Additional: Show tipping etiquette information from itipping.com
  6. Additional: Settings -> Turn on GPS ON/OFF

Exploration of Topics

  1. Customization of UI using themes and styles.
  2. Creating effects with Shape Drawable, StateListDrawable
  3. SeekBar , Radio Button Control
  4. TextWatcher
  5. Background images - Opacity , Scaling etc
  6. GPS related
  7. using xml resources in map format.
  8. Use Android Lint (Addressed one performance issue - Move background image to styling instead of in the activity - overdrawn issue)
  9. Wire framing using FluidUI
  10. Async Task

Walk through of all user stories:

The background image is from Ghirardelli Square ,chocolate making process during one of my trips. The place was granted the National Historic Register Status in 1982. The image does not show well on Licecap.

Video Walkthrough

GIF created with LiceCap.

tipjar's People

Contributors

rajab57 avatar

Watchers

 avatar  avatar

tipjar's Issues

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.