React Native Food App
Published 11/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.54 GB | Duration: 5h 48m
Published 11/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.54 GB | Duration: 5h 48m
Learn to build a food delivery app
What you'll learn
React Native Food App
Build Nodejs Rest Api
Build With Expo
Google Map with Detail Explanation
Requirements
Basic programming knowledge of CSS
Description
Foodly food delivery app based on react native boasts a dynamic backend crafted with Node.js and Express, providing a solid foundation for high-performance operations. MongoDB is employed for efficient data handling, and Firebase Admin is seamlessly integrated to enhance backend management capabilities.The frontend, developed with the latest version of React Native and Expo, features a sleek, cutting-edge user interface. Google Maps APIs are deftly incorporated for location-based services such as routes, directions, and geocoding, ensuring precise localization of users and restaurants. This geolocation accuracy allows for personalized recommendations and accurate delivery pricing. Additionally, the Distance Matrix is utilized to accurately calculate delivery costs, distances, and time estimates, ensuring a smooth and efficient user experience in our food delivery app.Basic App FeaturesGetting Google Api KeyHooking Context Providers to the appGetting user location with expo-location, accessing data using useContext hookCreating Home HeaderReverse Geocode coordinates to get location and time functionCategory List using Flatlist and Image ComponentPick Restaurant List Using Flatlist and Text ComponentReusable Heading ComponentNearby Restaurant RecommendationsNew foods recommendations and fastest near you componentFood Stack NavigatorExplanation on passing data to a screen inside of a stackCreating Food Page Buttons, Text Components and stylingFoodTags flatlist and good additives list with BounceCheckBoxCount for increasing the quantityCart and orders functions and data prepHandle additives and price increment according to changes in additivesTabView in react nativeRestaurant Page Image, Buttons and rating using rating packageRestaurant rating pageDelivery time, cost and distance using google distance matrixPassing data to page inside TabView using useContext hookGoogle maps and linking app to native mapsFetch directions using the Google direction apiDisplaying polyLines and markers on the mapRestaurant food menuLogin and passing data to Login ContextPersistent CartCount using CartCount ContextCategory Food ComponentBackend System Overview1. Authentication and AuthorizationIntegration with Firebase Admin: Implement backend services using Firebase Admin SDK to manage users, roles, and permissions.Role-Based Authentication: Define four distinct roles: Admin, Vendor, Client, and Driver.Advanced Middleware: Create middleware functions to verify user roles and enforce access control for protected routes.2. User ManagementRegistration and Profiles: Enable registration for different user roles, each with a unique set of data fields and validation rules.Implement JSON Web Tokens (JWT) for secure, token-based user authentication.Use password encryption techniques (such as bcrypt) to ensure the safety of user credentials.User CRUD Operations: Allow for adding, updating, and retrieving user information.Address Management: Provide functionality for users to add, update, and retrieve addresses.Implement logic to maintain a single default address per user, with the ability to change the default setting.3. Vendor-Specific FeaturesVendor Registration: Set up a registration process for vendors, including the collection of necessary information and validation.Vendor Middleware: Ensure that only vendors can access routes for managing their restaurant and food items.Food Management: Develop endpoints for vendors to upload and manage their food items.4. Recommendations and Dynamic ContentLocation-Based Restaurant Recommendations: Create endpoints that suggest restaurants to clients based on their current location.Dynamic Food Recommendations: Develop algorithms to recommend food items to users also based on user location.Preparation and Delivery Time: Introduce logic to recommend food that can be prepared and delivered in the shortest possible time, considering user location.5. Shopping Cart and Order ProcessingCart Management: Allow users to add and remove items from the cart.Enable users to adjust the quantity of cart items.Update and return the cart count whenever changes are made to the cart.Order Creation and Management: Provide functionality for users to create orders and customize them with add-ons.Update orders based on payment and delivery status.6. Categories and RecommendationsCategory Management: Allow admins to add, update, and delete categories of food.Category Recommendations: Use aggregation pipelines to offer random category recommendations to users.7. Driver-Specific FunctionalityDriver Registration and Restrictions: Establish registration for drivers and ensure middleware restricts them to driver-related tasks.
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Setup
Lecture 3 Hooking Context Providers to app
Lecture 4 Getting user location with expolocation
Lecture 5 Setting data to context providers
Section 2: Home section
Lecture 6 Home header
Lecture 7 Asset Image Component
Lecture 8 Reverse Geocoding coordinates to get address
Lecture 9 Creating time function
Lecture 10 Category List
Lecture 11 HandleSelection function
Lecture 12 HandleSelection explanationmp4
Lecture 13 Pick Restaurants List
Lecture 14 Home Heading Component
Lecture 15 Nearby Restaurants Flatlist
Lecture 16 Store Component
Lecture 17 Store Component
Lecture 18 Divider
Section 3: Food Screen
Lecture 19 NewFoodsList
Lecture 20 Foods Component
Lecture 21 FastestNearYou
Lecture 22 Food navigator
Lecture 23 Explanation on passing data to Stack Screen
Lecture 24 FoodPage State variables
Lecture 25 Buttons
Lecture 26 Restaurant Btn
Lecture 27 Title and description
Lecture 28 Tags FlatList
Lecture 29 Food Additives
Lecture 30 BouncyCheckBox
Lecture 31 Preference TextInput
Section 4: Cart section
Lecture 32 Counter_1
Lecture 33 Cart and Orders
Lecture 34 Cart and Orders
Lecture 35 Cart and Orders
Lecture 36 Navigate to order modal
Lecture 37 Handle additives
Lecture 38 CalculatePrice
Lecture 39 Creating cart object
Lecture 40 Creating order item
Section 5: Tabview
Lecture 41 TabView
Lecture 42 TabView
Section 6: Restaurant ratings
Lecture 43 Restaurant Page buttons and rating
Lecture 44 Restaurant Page buttons and rating
Lecture 45 Restaurant Rating Page
Lecture 46 Restaurant Title and Time
Section 7: Google Maps and Directions
Lecture 47 Calculating Distance and Time
Lecture 48 Passing Restaurant data to the TabView using UseContext Hook
Lecture 49 Google Maps
Lecture 50 Fetch Directions
Lecture 51 Fetch Directions
Lecture 52 Markers and PolyLines
Lecture 53 Address and open the native maps
Section 8: Food tile
Lecture 54 Menu flatlist
Lecture 55 FoodTile Component
Lecture 56 FoodTile Component
Lecture 57 FoodTile Shadows
Section 9: Login context and profile
Lecture 58 Login Context and Login Status function
Lecture 59 Back Button and Button for the Profile Page
Section 10: Cart and food component
Lecture 60 Cart Context
Lecture 61 Category Food Component
Lecture 62 Rectify Catogory Food Component
For beginners