The Town Kitchen
The Town Kitchen is a community-driven food company that connects chefs, youth, educators, growers, and artisans to corporate and individual consumers. The Town Kitchen community addresses a need within the Oakland and San Francisco area for locally-sourced lunches, as well as fair-wage jobs and job training programs for local youth.
This Android app will:
- Take and process meal orders (currently available via website only), including verification within pre-defined geographic area and disseminating orders to other individuals.
- Estimate and track meal deliveries based on driver's location
- Review meals (give feedback) and contact support
- Login with Google+ account via OAuth
- Optional: Login with username/password and/or facebook
- User can see list of available meals for a particular day.
- User can open a calendar modal and select other days to view meals.
- User can select quantities of each meal they want.
- User can see how many meals are in their cart by the cart icon on the top-righthand corner of the actionbar.
- User can select delivery location. (Defaults to user's current location using gps)
- User can change delivery location by dragging the location pin.
- User can see the order summary before submitting the order.
- User can go back and edit their order.
- Optional: User can enter a coupon code for their order.
- User can enter their credit card information.
- User is given option to save their credit card information so they won't have to enter it again.
- User sees a "Your order's on its way!" message and graphic for a short duration after submitting order.
- User can submit feedback once their order has arrived.
View mockups here.
Walkthrough of all user stories:
GIF created with LiceCap.
It uses the following open source libraries:
- scribe-java - Simple OAuth library for handling the authentication flow.
- Android Async HTTP - Simple asynchronous HTTP requests with JSON parsing
- codepath-oauth - Custom-built library for managing OAuth authentication and signing of requests
- Picasso - Used for async image loading and caching them in memory and on disk.
- ActiveAndroid - Simple ORM for persisting a local SQLite database on the Android device
- Google Play Services - Contains the interfaces to the individual Google services
Please fork this repository and contribute back using pull requests.
Any contributions, large or small, major features, bug fixes, additional language translations, unit/integration tests are welcomed and appreciated but will be thoroughly reviewed and discussed.