Will manage to each milestone. At each, we will review and discuss progress and plan forward.
Milestone 1 - Generic design (splash, screens, sizes, options)
Milestone 2 - Design selection and plan
Milestone 3 - JSON application to design
Milestone 4 - API Login and Paypal
Milestone 5 - API Order Commit
Milestone 6 - Live Implementation
This is an order entry site. Requirements:
Must be mobile friendly
Integrate with Paypal for payments
Must calculate sales tax correctly (and be configurable)
Use Angular (NOT AngularJS) for front end
Upon a visitor opening the site, they will be greeted with a welcome screen encouraging them to begin an order.
They will need to create an account / log in to begin entering an order. It will require name, address, phone number, email address. This information will be passed to an API / retrieved from API.
The API will provide a large JSON object that dictates the entire structure of the order entry navigation. It includes the following:
each screen will have a name and icon.
one screen will be the "home" (starting point) screen
Within each screen there will be buttons. their properties are
Button sort order (an ordinal)
Button text color
Icon path to show icon on the button
Whether the button is toggle or not (toggles just act like a checkbox but are pictures)
Price if selected
Navigation through the screens will allow the user to go backward to make changes.
At the end of a navigation (add to order), it will add that product, along with options, and continue. The user can choose Place Order at any time.
User can update quantities of an item in the Order (like a cart) but cannot edit, only delete or change qty.
The user will be afforded the choice of pick up time. The default will be now + 1 hour (rounded to 5 minute interval). They can adjust it to a range of now + 25 minutes (minimum) and as high as now + 3 hours. It should be a nice UI to choose the time. Date will NOT be selectable.
At the end of the order, it will send an email notifying the user that the order has been placed.
The order will be submitted to an API and only upon receiving a response, will it be confirmed to the user.
You are permitted to use existing libraries including order entry frameworks to facilitate fast development, provided that they are built in Angular (not AngularJS) and can utilize our minimal APIs.
Project deadline is 20-Apr-2019.