Food Delivery App

Job ID: 38934304

Budget: $750 – $1,500 USD

I am looking for a skilled developer to create a comprehensive food delivery application using the following technologies:

Frontend: React Native with Expo
Backend: Nest.js with Prisma
The application will include the following features:

Application Features

Customer Features:
Authentication:

Login and register using email or phone number.
Support for social login (e.g., Google).
Browse Restaurants and Stores:

View nearby restaurants based on geolocation.
Filter restaurants by category (e.g., Fast Food, Desserts, Drinks).
See restaurant ratings and previous reviews.
Menu:

Browse menus with images, descriptions, and prices.
Search functionality to find specific dishes or restaurants.
Cart and Checkout:

Add items to the cart and modify quantities.
View order details, including taxes and delivery fees.
Multiple payment options (Cash on Delivery, Visa & MasterCard).
Order Tracking:

Realtime notifications for order status (e.g., Preparing, On the Way, Delivered).
Real-time tracking of the delivery agent on the map.
Ratings and Reviews:

Rate restaurants and orders.
Write reviews about food quality and delivery service.
Delivery Agent Features:
Order Management:

Receive notifications for new orders with order details.
Accept or decline orders based on availability.
Navigation:

Integrated navigation system to guide the agent to the restaurant and customer location.
Map view with routes.
Order Updates:

Update order status to "Picked Up" after collecting from the restaurant.
Update status to "On the Way" while delivering.
Mark order as "Delivered" after completion.
Earnings Dashboard:

View daily, weekly, and monthly earnings.
Reports on completed orders.
Restaurant Dashboard Features:
Order Management:

Receive notifications for new orders.
View order details (items, quantities, and notes).
Update order status to "Preparing" or "Ready for Pickup."
Menu Management:

Add and update items with images and prices.
Manage promotions and discounts.
Enable or disable items based on availability.
Order History:

View a log of completed and canceled orders.
Communicate with customers if needed.
Reports and Analytics:

View sales statistics (daily, weekly, and monthly).
Monitor customer reviews to improve performance.
Account Management:

Update restaurant details (name, location, working hours).
Communication with Delivery Agents:

Send notifications to delivery agents when orders are ready.
Track the status of orders until picked up by the agent.
Additional Requirements:

Database: Use Prisma ORM to manage a relational database (PostgreSQL preferred).
Code Structure Training: Provide a training session explaining the code structure and best practices for React Native with Expo, and Nest.js.
Deliverables:

Fully functional delivery application for customers, delivery agents, and a restaurant dashboard.
Clean, maintainable, and scalable codebase.
Training Session for the code structure.