Mô tả

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.

This tutorial only covers frontend user section. Backend api is given but we did not cover any admin panel

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 Features

  1. Getting Google Api Key

  2. Hooking Context Providers to the app

  3. Getting user location with expo-location, accessing data using useContext hook

  4. Creating Home Header

  5. Reverse Geocode coordinates to get location and time function

  6. Category List using Flatlist and Image Component

  7. Pick Restaurant List Using Flatlist and Text Component

  8. Reusable Heading Component

  9. Nearby Restaurant Recommendations

  10. New foods recommendations and fastest near you component

  11. Food Stack Navigator

  12. Explanation on passing data to a screen inside of a stack

  13. Creating Food Page Buttons, Text Components and styling

  14. FoodTags flatlist and good additives list with BounceCheckBox

  15. Count for increasing the quantity

  16. Cart and orders functions and data prep

  17. Handle additives and price increment according to changes in additives

  18. TabView in react native

  19. Restaurant Page Image, Buttons and rating using rating package

  20. Restaurant rating page

  21. Delivery time, cost and distance using google distance matrix

  22. Passing data to page inside TabView using useContext hook

  23. Google maps and linking app to native maps

  24. Fetch directions using the Google direction api

  25. Displaying polyLines and markers on the map

  26. Restaurant food menu

  27. Login and passing data to Login Context

  28. Persistent CartCount using CartCount Context

  29. Category Food Component


Backend System Overview

1. Authentication and Authorization

  • Integration 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 Management

  • Registration 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 Features

  • Vendor 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 Content

  • Location-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 Processing

  • Cart 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 Recommendations

  • Category 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 Functionality

  • Driver Registration and Restrictions: Establish registration for drivers and ensure middleware restricts them to driver-related tasks.

Bạn sẽ học được gì

React Native Food App

Build Nodejs Rest Api

Build With Expo

Google Map with Detail Explanation

Yêu cầu

  • Basic programming knowledge of CSS

Nội dung khoá học

19 sections

Introduction

5 lectures
Introduction
07:59
Setup
03:42
Hooking Context Providers to app
07:35
Getting user location with expolocation
03:16
Setting data to context providers
03:08

Home section

13 lectures
Home header
04:20
Asset Image Component
10:08
Reverse Geocoding coordinates to get address
04:33
Creating time function
04:02
Category List
13:41
HandleSelection function
05:32
HandleSelection explanationmp4
02:01
Pick Restaurants List
12:14
Home Heading Component
05:55
Nearby Restaurants Flatlist
03:49
Store Component
06:08
Store Component
06:27
Divider
04:49

Food Screen

13 lectures
NewFoodsList
03:53
Foods Component
04:58
FastestNearYou
03:42
Food navigator
10:00
Explanation on passing data to Stack Screen
02:50
FoodPage State variables
05:49
Buttons
10:48
Restaurant Btn
04:44
Title and description
09:28
Tags FlatList
04:19
Food Additives
03:23
BouncyCheckBox
03:49
Preference TextInput
04:05

Cart section

9 lectures
Counter_1
08:00
Cart and Orders
05:14
Cart and Orders
02:29
Cart and Orders
04:13
Navigate to order modal
02:16
Handle additives
05:16
CalculatePrice
03:21
Creating cart object
04:13
Creating order item
04:04

Tabview

2 lectures
TabView
04:45
TabView
06:50

Restaurant ratings

4 lectures
Restaurant Page buttons and rating
03:39
Restaurant Page buttons and rating
04:47
Restaurant Rating Page
04:09
Restaurant Title and Time
06:50

Google Maps and Directions

7 lectures
Calculating Distance and Time
06:26
Passing Restaurant data to the TabView using UseContext Hook
07:35
Google Maps
07:09
Fetch Directions
06:07
Fetch Directions
05:09
Markers and PolyLines
04:58
Address and open the native maps
06:09

Food tile

4 lectures
Menu flatlist
06:36
FoodTile Component
08:47
FoodTile Component
06:33
FoodTile Shadows
00:58

Login context and profile

2 lectures
Login Context and Login Status function
06:15
Back Button and Button for the Profile Page
02:53

Cart and food component

3 lectures
Cart Context
13:20
Category Food Component
03:27
Rectify Catogory Food Component
04:09

Backend introduction

13 lectures
Setup node express server
07:38
Creating database and adding env variables
07:12
Connecting server to the database
08:49
Initializing firebase admin
08:09
Creating a UserSchema
10:06
Create User function
19:05
Login User function
13:23
Auth Router
05:43
Tesitng auth endponts in postman
07:26
Creating middlewares
16:01
UserController functions
11:42
UserRouter and hooking router to the server
04:25
Testing Endpoints in Postman
04:28

Restaurant section with schema, routes and postman test

4 lectures
Restuarants Schema
12:46
Restaurants Functions
23:18
Restaurant Router
06:58
Restaurant routes postman test
10:40

Category Section with schema, routes and postman test

4 lectures
Category Schema
10:07
Categories Functions
26:38
Category Router
08:47
Categories Postman Test
05:07

Food section with schema, routes and postman test

5 lectures
FoodSchema
07:15
Foods Functions
26:03
Foods Functions
23:18
Food Routes
09:24
Food endpoints test in postman
12:55

Cart section with schema, routes and postman test

6 lectures
Cart Schema and Cart Routes
13:03
Cart Functions
12:58
Cart Functions
07:46
Cart Functions
08:41
Cart Functions
03:55
Cart Functions Postman test
08:09

Address section with schema, routes and postman test

3 lectures
Address Schema
06:21
Address Functions
23:12
Address Routes and postman test
09:01

Order section with schema, routes and postman test

4 lectures
Order Schema
16:16
Order Functions
17:55
Order Functions
08:52
Order Routes
06:41

Driver schema, routes and postman

2 lectures
Driver Schema
13:08
Driver function and routes
07:58

Food categories, fecthing and nearby restaurants

20 lectures
FetchCatagories Hook
09:02
Category Shimmer
04:11
FetchNearby Restaurants Hook
06:32
FoodRecommendations Hook
07:09
Fastest near you component
01:36
Fetch FoodBy Restaurant
10:56
Restaurant Foods recommendation by location
04:55
Food by Category
07:28
Sign Up a user
06:48
Login a user
04:19
LoadingScreen and fetchProfile Hook
12:44
Moving LoginStatus function to home header
02:22
Add to cart function
09:47
FetchCart Hook
11:59
FetchCart Count Hook.mp4
05:38
Cart Component and Cart FlatList.mp4
14:37
Cart Component
18:16
Delete CartItem
05:28
Create Order
14:20
Create Order error rectification
05:13

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.