Fooch is a Food Delivery application created in React Native with a 80% of completition, focused on home made food. It has 3 apps:
- Fooch: For the final customer where you can order food based on the different options available. (95% done)
- Fooch Chef: For the cook, which allows the cook to create a dish and publish it on the App, with a picture, price, description, ingredients and attributes. (95% done)
- Fooch Driver: Which allows the driver to get a notification when an order is available to pick it up from the cook and deliver it to the customer. (50% done).
We need to work on two major things:
1. To develop an API in Node.js where there’s an integration with Firebase (push notifications and Realtime DB) and with a MySQL DB. The process flow for the order status changes is the following:
a. Order Status = 0: When the customer has created an order and confirmed the cart. The process has a 15 seconds timer to give the customer the chance to cancel that order. If the order gets cancelled by the customer, the order status will be = 4. If not, the process should trigger a push notification (via Firebase) to the chef and he will have 5 minutes to confirm the order, otherwise, the order will not be placed. In case the chef confirms the order, the customer payment gets processed with Kushki payment gateway, the information gets saved in the MySQL DB and in Firebase Realtime DB, then the order status becomes = 1.
b. Order Status = 1: It means that the chef has accepted the order and the customer payment has been processed, so a push notification should be trigger to look for the nearest drivers available to the chef’s location. Once a driver accepts the order through the driver’s app, he will confirm that he has picked up the order and the order status will become = 2.
c. Order Status = 2: It means that the driver has already picked up the order and the customer address should be sent to the driver’s app in order to deliver it. Once the driver has delivered the order, the driver confirms in the dirver’s app and then order status becomes = 3.
2. To develop the rest of Driver’s app functionalities, such as:
a. Waze integration (just to display the Waze link so it can be opened in Waze’s App).
b. Looking for the nearest driver based on geolocation.
c. Minor adjustments.
We have the backend in AWS, API's documentation, code in GIT and a order status process diagram.
44 freelancere byder i gennemsnit $13/timen for dette job
I have reviewed project description and have some questions which i would like to discuss further. Please message me so we can discuss further. Thank you.