Advanced Order Form Development W/ simple backend JS
Budget: $50 – $350 USD
Order Form for private client:
First step is the login form, where the client needs to enter userName and passWord to access the order form. User and Pass validation is needed to compare input values to an array of userName and passWords which allows the user to continue to login.
Once login has been validated, the user will be forwarded to an order form.
Order Form: The Dom will have input fields that indicate orders from the private client incoming which they will place using the form which is on a custom URL specifically for that client.
They will need to choose "place new order" or "update existing order"
We need to store data regarding breakfast, lunch, and dinner. There will be 3 different input fields, also the delivery time for breakfast will be 5:30AM, lunch 11:30AM, and dinner 5:30PM (but this information can be easily updated), this is important because we will require lead time when updating an order or placing an order.
If the user chooses "place new order" a blank order form appears defaulting for tomorrow's delivery date but allows the customer to choose today's date , with input fields which we will finalize later.
Once input fields are filled out, and submit button is pressed, error validation will be enabled for required fields ensuring everything complies with the requirements before the form is submitted.
After the order form is submitted, the confirmation screen shows the order to the user, and it pushes this data to be stored by date of delivery.
If the user chooses "update existing order" they can update today's order if current time is at least 5 hours before delivery time, or they can update the order for tomorrow.
After they choose today or tomorrow, depending on their choice, the order will show up, allowing them to edit the fields OR we can also do it where it simply shows the current order and asks how many extra meals they want to add or subtract for breakfast or for Lunch, or for Dinner.
Note: Customer will not be paying on this order form, it is Net15 pay by check account, so payment gateway is not needed and no payment information need to be collected.
We will hard code the pricing data on the front-end for breakfast, lunch, and dinner if it saves time trying to create these fields on the backend, otherwise we will create those fields on the backend.
After the order is successfully submitted, or "updated order" successfully submitted, it will notify the company owner by both text message and email. Email will contain the full order or updated order and give indication if it is a new order or update to an existing order, and will include all input fields values. Text messages will have a shortened version of this data due to character limits in text message format. For text messages, we will integrate with Twilio to automate this process of sending text. Also somewhere in the global scope we will need to identify the phone number of the user to make this work.
The data will be available to the user to see their past orders up to 60 days in the past, and for the accounting side, it will allow Admin to create invoice based on delivery date data. When an invoice is created, it is stored both in front and backend for user and Admin. The User can get their invoice data for up to 14 months in the past.
If the invoicing function is too difficult, alternatively, we can just store this data in CSV so that the accountant can extract the data from it and make an invoice. The CSV can be accessible to both user and Admin.
we will use node js and express js for backend functionality.
First step is the login form, where the client needs to enter userName and passWord to access the order form. User and Pass validation is needed to compare input values to an array of userName and passWords which allows the user to continue to login.
Once login has been validated, the user will be forwarded to an order form.
Order Form: The Dom will have input fields that indicate orders from the private client incoming which they will place using the form which is on a custom URL specifically for that client.
They will need to choose "place new order" or "update existing order"
We need to store data regarding breakfast, lunch, and dinner. There will be 3 different input fields, also the delivery time for breakfast will be 5:30AM, lunch 11:30AM, and dinner 5:30PM (but this information can be easily updated), this is important because we will require lead time when updating an order or placing an order.
If the user chooses "place new order" a blank order form appears defaulting for tomorrow's delivery date but allows the customer to choose today's date , with input fields which we will finalize later.
Once input fields are filled out, and submit button is pressed, error validation will be enabled for required fields ensuring everything complies with the requirements before the form is submitted.
After the order form is submitted, the confirmation screen shows the order to the user, and it pushes this data to be stored by date of delivery.
If the user chooses "update existing order" they can update today's order if current time is at least 5 hours before delivery time, or they can update the order for tomorrow.
After they choose today or tomorrow, depending on their choice, the order will show up, allowing them to edit the fields OR we can also do it where it simply shows the current order and asks how many extra meals they want to add or subtract for breakfast or for Lunch, or for Dinner.
Note: Customer will not be paying on this order form, it is Net15 pay by check account, so payment gateway is not needed and no payment information need to be collected.
We will hard code the pricing data on the front-end for breakfast, lunch, and dinner if it saves time trying to create these fields on the backend, otherwise we will create those fields on the backend.
After the order is successfully submitted, or "updated order" successfully submitted, it will notify the company owner by both text message and email. Email will contain the full order or updated order and give indication if it is a new order or update to an existing order, and will include all input fields values. Text messages will have a shortened version of this data due to character limits in text message format. For text messages, we will integrate with Twilio to automate this process of sending text. Also somewhere in the global scope we will need to identify the phone number of the user to make this work.
The data will be available to the user to see their past orders up to 60 days in the past, and for the accounting side, it will allow Admin to create invoice based on delivery date data. When an invoice is created, it is stored both in front and backend for user and Admin. The User can get their invoice data for up to 14 months in the past.
If the invoicing function is too difficult, alternatively, we can just store this data in CSV so that the accountant can extract the data from it and make an invoice. The CSV can be accessible to both user and Admin.
we will use node js and express js for backend functionality.