pickUPapp

This mobile app is designed to help small businesses and charities keep track of orders and update an order’s status.

Getting Started

Prerequisites

To use this app make sure you have:

  • node.js
  • expo version 37
    • npm install --global expo-cli
  • either a virtual device or the expo app on your phone

Installing

  1. In your command line run 'expo init pickupapp' in a directory of your choice
  2. Download the files in this repository
  3. Paste the downloaded files into the pickupapp folder created in step 1.
  4. Run 'npm install' to get all the dependencies needed
  5. Run 'expo start' and a browser window will open showing the project bundler
  6. Choose which simulator or device you would like to view the project on

Using the App

Store View

  1. On the home screen click the Store Login
  2. Press the Log In button (see below on Authentication)
  3. Press the Get Orders button
  4. Click on a customer's name to view their order information
    • Each order has an id, the store name, the customer, name, and the order status
  5. To Update the order status:
    1. Double click the desired status (either 'Preparing Order' or 'Ready For PickUP')
    2. Click Update
    3. Press the back arrow to go back home
    4. Press the Get Orders button to refresh the orders
  6. To Add a new order:
    1. Click the + button
    2. Enter the details in the form
    3. Press submit
    4. Press the back arrow to go back home
    5. Press the Get Orders button to refresh the orders ### Customer View
  7. On the home screen click the Customer Login
  8. Press the Log In button (see below on Authentication)
  9. Press the Get Orders button
  10. Click on a Store's name to view their order information

AWS Service's Used

  • API Gateway for a REST API
  • Lambda (x4) for CRUD operations on order information
  • DynamoDB (1 table) to hold orders

What's Next?

Authentication

  • Using AWS Cognito to create authentication for both store logins and user logins
    • This will likely require creating additional tables in DynamoDB
  • Modifying the API calls to be specific for that user/store ### Letting Customers Add Orders
  • Customers will be able to get their orders by entering a six digit ID. ### Adding an Option for Tables/Parking Spots
  • Allowing stores to input the number of spots they have have
    • Using a lambda function to assign/unassign customers to a spot automatically

Authors

  • Harsha O - Initial works - harsho

Acknowledgments

  • jspruance for serverless tutorials
  • iamshaunjp for react native tutorials
Share this project:

Updates