About Course
Welcome to the Project-Based Python Django Web Development Course where you will learn to develop a fully-featured Multi-vendor Restaurant Marketplace website with location-based search, nearby restaurants, and many more complex functionalities.
I designed this course, for anyone seeking to learn and build a Django-based custom web application. By the end of this course, you will be able to analyze, design, and develop your own Multi-vendor Restaurant Marketplace website and deploy it on the live server with the custom domain name.
Master the Basic Fundamentals of Python Django before you dive into the custom functionalities:
This course is also for absolute beginners, you don’t need to have any prior knowledge of Django. I’ve included the Django refresher section in this course where you can start from absolute basics. You will be learning the fundamentals of Django by building an Employee Directory website and a TODO app, where you learn about CRUD operations.
If you already have a basic knowledge of Django, you can safely skip this Django refresher section and start building the Multi-Vendor Marketplace Project.
However, as a prerequisite, the basic knowledge of Python and a little bit of HTML/CSS and javascript are required to get started with this course.
You don’t need to be a master in these technologies, you just need to be able to understand what we are doing on the front end, that’s all.
You can download free templates from here

What Will You Learn?
- Master the fundamentals of Django by building Employee Directory & a TODO App
- Purchase & Implement template
- Custom user model, Media files & Django signals
- Vendor registration and authentication functionalities
- User Registration, Django messages and errors
Course Content
Section 01: Introduction
- 
										
										
										03:38
- 
										
										
										08:54
Section 02: Getting Ready
- 
										Django Refresher00:00
- 
										Download Pre-built Demo Templates for FREE00:00
- 
										
										
										03:58
- 
										Create Virtual Environment04:28
- 
										Install Django & Start Project05:18
- 
										Hello World05:17
- 
										GitHub Setup06:35
- 
										FoodOnline Full Project Git Repository00:00
- 
										Django Templates Setup02:02
- 
										Creating Superuser02:04
Section 03: Purchsing & Implementing Template
- 
										Purchase Foodbakery Template03:39
- 
										Template Walkthrough02:50
- 
										Homepage And Static Files Configuration18:49
- 
										Django Collectstatic Command05:06
Section 04: PostgreSQL Database Configuration
- 
										Why PostgreSQL?03:38
- 
										Postgres Configuration With Django08:22
- 
										Secure Sensitive Info And Push Code12:50
Section 05: Custom user model, Media files & Django signals
- 
										Cutom User Model28:46
- 
										Recreate Table And Register User Model12:11
- 
										Make Password Readonly05:33
- 
										Userprofile Overview03:29
- 
										User Profile Model13:30
- 
										Media Files Configuration05:12
- 
										Django Signals To Create User Profile22:26
Section 06: User Registration, Django messages and errors
- 
										Foodonline Flowchart11:22
- 
										User Registration Path06:11
- 
										Template Inheritance Base Html16:17
- 
										User Registration Form Template06:02
- 
										User Registration Form Implementation24:02
- 
										Hash The Password From Form06:57
- 
										Django Field Errors And Non Field Errors15:27
- 
										Django Messages14:12
- 
										Message Animation11:08
- 
										Frontend Tweaks11:42
- 
										Git Push01:48
Section 07: Vendor registration and authentication functionalities
- 
										Vendor Model12:21
- 
										Vendor Registration Template04:43
- 
										Vendor Registration Feature25:27
- 
										Vendor Admin Config02:44
- 
										Login Page Setup12:08
- 
										Login Logout Feature18:40
- 
										Restrict Logged-in Users From Accessing Login page And Register Page04:52
- 
										Detect User And Redirect Him To Respective Dashboard18:26
- 
										Restrict The User To Access Unauthorized Pages10:42
- 
										Git Push01:29
Section 08: Token verification & Email configuration
- 
										Email Configuration05:29
- 
										Send Verification Email20:03
- 
										Activating The User13:51
- 
										Forgot Password Setup08:45
- 
										Forgot Password Send Validation Link15:20
- 
										Reset Password Feature13:46
- 
										Git Push00:45
Section 09: Vendor approval by admin, dashboards
- 
										Admin Approval Email21:44
- 
										Setup Customer And Vendor Dashboard Frontend13:07
- 
										Dashboard Sidebar Icon Fix01:50
- 
										Vendor Dashboard Url Setup18:26
- 
										Load Vendor Profile Image Dynamically10:53
- 
										Get Vendor Context Processor05:15
- 
										Fix Anonymous User Error In Context Processors03:08
- 
										Make Dashboard Cards05:40
- 
										Git Push01:02
Section 10: Make restaurant profile form & custom validators
- 
										Restaurant Profile Form Setup23:36
- 
										Store Vendor Profile07:28
- 
										Custom Validator Function Allow Only Images16:55
- 
										Readonly Latlong And Apply Decorator07:37
- 
										Prepare Address Field For Google Geocoding07:52
- 
										Git Push01:06
Section 11: Implement Google Autocomplete field
- 
										Setup Google Maps Billing Account08:50
- 
										Enable Apis And Create Api Key03:51
- 
										Implement Google Autocomplete14:05
- 
										Get The Lat Long And Assign To Form Field17:33
- 
										Loop Through Address Components And Fetch Data15:00
- 
										Git Push01:06
Section 12: Menu Builder – Category CRUD functionalities
- 
										Foodmenu Models Category And Fooditem Models13:09
- 
										Add Test Food And Setup Admin Table12:30
- 
										Menu Builder URL And View Setup06:15
- 
										Menu Builder Category Frontend Part117:48
- 
										Menu Builder Fooditem Front End20:03
- 
										Add Category CRUD22:46
- 
										Add Category Handle Error06:23
- 
										Edit Category CRUD11:16
- 
										Delete Category CRUD06:10
- 
										Git Push00:58
Section 13: Menu Builder – Food Items CRUD functionalities
- 
										Add Food Crud22:13
- 
										Edit Food Crud13:18
- 
										Delete Food Crud08:16
- 
										Url Path Adjustment And Availablity Badge04:29
- 
										Handle Empty Value Errors16:02
- 
										Mofidy The Form To Show Category Belongs To Loggedin Vendors05:42
- 
										Edit Food Category For Loggedin Vendors01:08
- 
										Git Push01:04
Section 14: Marketplace Implementation
- 
										Show Vendors On Homepage14:46
- 
										Marketplace Button And Url Setup07:41
- 
										Marketplace Html And View12:51
- 
										Edit Vendor Model And Add Slug Field11:29
- 
										Vendor Detail Page Setup14:47
- 
										Display Fooditems By Category Using Prefetch Related15:04
Section 15: Cart functionalities with AJAX request
- 
										Create Cart Model05:52
- 
										Add To Cart Url Setup10:08
- 
										Add To Cart Sending Ajax Request08:43
- 
										Add To Cart View Functionality Edited14:12
- 
										Cart Counter Context Processor10:22
- 
										Place The Quantiry On Each Food Item10:47
- 
										Update The Cart Counter And Item Qty Realtime11:01
- 
										Fix Google Maps Script Issue01:32
- 
										Decrease Cart Feature Edited15:53
- 
										Implement Sweetalert And Handle Messages12:06
Section 16: Cart functionalities with frontend
- 
										Cart Url Setup06:14
- 
										Cart Page Content Setup10:57
- 
										Cart Items In The Cart08:27
- 
										Fix Cart Item Quantity00:38
- 
										Delete Cart Item13:54
- 
										Remove Cart Item Without Reloading The Page05:49
- 
										Check If Cart Is Empty05:22
- 
										Handle Decrease Cart Use Cases09:54
- 
										Show Vendor Name Badge And Add Order By Clause04:50
- 
										Get Cart Amounts Function To Get The Subtotal And Grand Total07:50
- 
										Update Subtotal Tax Grandtotal Without Refreshing The Page12:38
- 
										Git Push00:56
Section 17: Basic Search & Smart search functionalities
- 
										Search Functionality Setup Search Bar22:18
- 
										Get Query Parameters From The Get Request07:01
- 
										Add Some Restaurants And Fooditems13:40
- 
										Simple Search For Restaurants07:11
- 
										Smart Search For Restaurants By Fooditem Name11:54
Section 18: Location based search functionalities with nearby restaurants
- 
										Location Based Search01:24
- 
										Geodjango Overview03:01
- 
										Install PostGIS And GDAL09:10
- 
										Create Location Point And See Geometry Viewer16:33
- 
										Location Based Search For Restaurants09:26
- 
										Find The Nearby Restaurants12:01
- 
										Git Push01:12
Section 19: Get user’s current location & show nearby restaurant on homepage
- 
										Get Current Latitude Longitude10:45
- 
										Send Ajax Request To Get Current Address12:58
- 
										Show Nearby Restaurants On Homepage12:05
- 
										Set The Location In Session Variable11:40
- 
										Git Push01:04
Section 20: Dynamic Business hours module with AJAX
- 
										Opening Hours Overview02:30
- 
										Opening Hour Model20:23
- 
										Opening Hours Url And Sidebar05:20
- 
										Opening Hours Form14:41
- 
										Add Hour Url And Function09:04
- 
										Minor Adjustment To The Add Hour Form06:12
- 
										Send Ajax Request To Add Hour Function12:51
- 
										Add Hour To Database And JSONResponse22:47
- 
										Handling Integrity Error06:39
- 
										Remove Opening Hour Feature21:51
- 
										Create Some Opening Hours-And Fix Unique Together Issue02:00
- 
										List Down Opening Hours In The Front End16:12
- 
										Determine Opening Hour For Vendor Detail Page13:35
- 
										Is Open Member Function To Display Open Close Badge12:07
- 
										Git Push01:17
Section 21: Dynamic Tax Module
- 
										Dynamic Tax Module Create Model07:51
- 
										Calculate Tax Amount10:04
- 
										Implement Dynamic Tax In The Cart Page07:52
- 
										Update Tax In The Frontend12:00
- 
										Fixed Timedata Doesnot Match Issue01:30
- 
										Git Push00:56
Section 22: Customers app and profile building
- 
										Create Customers App06:01
- 
										Customer Profile Path And Page10:21
- 
										Profile Form And User Form07:20
- 
										Prepopulate Forms08:49
- 
										Update Customer Profile06:41
- 
										Load Cover And Profile Pictures08:24
- 
										Git Push00:40
Section 23: Orders model and checkout page
- 
										Order, Payment, and OrderedFood Models07:37
- 
										Checkout Page Setup04:32
- 
										Checkout Page Part 103:19
- 
										Checkout Page Order Form Part 211:12
- 
										List Cart Items In Checkout Page08:48
- 
										Prepopulate Billing Form08:23
Section 24: Place order and generate order number
- 
										Payment Gateway Selection On Checkout Page10:29
- 
										Payment Method Selection Validation11:24
- 
										Make Place Order Path And Page07:28
- 
										Place Order View17:26
- 
										Generate Order Number09:00
Section 25: Implement PayPal payment gateway
- 
										Create Paypal Business Account02:48
- 
										Create Paypal Sandbox Accounts09:58
- 
										PayPal Checkout Button Implementation12:37
- 
										Send Transaction Function16:11
- 
										Update Place Order Page With Review Order And Cart Items09:56
- 
										Store Payment Object And Update Order12:57
Section 26: After order functionalities
- 
										Move Cart Items To Ordered Food And Create Tabular Inline11:31
- 
										Send Order Confirmation Email To Customer11:22
- 
										Send Order Received Email To Vendor And Clear Cart15:09
- 
										Order Completion Page Setup09:11
- 
										Order Complete View04:13
- 
										Implement Order Completion Page-Part114:49
- 
										Implement Order Completion Page Part212:15
- 
										Print Address On Order Complete Page02:03
- 
										Git Push00:34
Section 27: Implement RazorPay Payment Gateway
- 
										Show Payment Button Based On Payment Method Selected02:36
- 
										Razorpay Basic Configuration05:45
- 
										Create Razorpay Order08:12
- 
										Razorpay Checkout13:53
- 
										Finalize Razorpay Payments07:28
- 
										Git Push00:49
Section 28: Customer Dashboard
- 
										Customer Dashboard Recent Orders14:10
- 
										Customer My Orders07:27
- 
										Order Detail Setup06:00
- 
										Order Detail Page Finish12:07
- 
										Git Push00:36
Section 29: ManyToMany Relationship & Vendor Dashboard
- 
										Many To Many Relationship Overview09:52
- 
										Many To Many Create Field And Test Orders11:40
- 
										Total Orders Vendor Dashboard06:51
- 
										Recent Orders Vendor Dashboard04:33
- 
										Assign Vendors To Order05:11
- 
										Order Detail Page Vendor12:17
- 
										Calculate Subtotal For Each Vendor28:39
Section 30: Custom middleware, total revenue per vendor, current month’s revenue
- 
										Create Custom Middleware And Get Total By Vendor Function12:31
- 
										Calculate Vendor Order Total Data13:56
- 
										Update Total In Order Detail Page04:16
- 
										Calculate Total Revenue Per Vendor04:33
- 
										Calculate Current Month Revenue06:05
- 
										Vendor My Orders07:38
- 
										Implement Datatable Plugin For Pagination And Realtime Order Search07:03
- 
										Payout System Announcement02:08
- 
										Git Push01:15
Section 31: Integrate Email Templates
- 
										Register User Account Email Template10:19
- 
										Order Confirmation Email To Customer Template Part 117:04
- 
										Order Confirmation Email To Customer Template Part 207:22
- 
										Order Received Email Template To Vendor18:03
- 
										Git Push00:36
Section 32: Make the site mobile-friendly (responsive)
- 
										Responsiveness-Part-116:48
- 
										Responsiveness-Part-210:10
Section 33: Project Deployment on Linode Virtual Private Server
- 
										Linode Overview02:15
- 
										Server Overview03:37
- 
										How Nginx And Gunicorn Works Together08:01
- 
										Deployment Checklist03:14
- 
										Signup to Linode & Create Server07:53
- 
										Create Domain Nameservers05:09
- 
										Basic Server Setup – Create a Sudo User09:01
- 
										Possible deployment issues & Get the local code ready to be pushed to server10:24
- 
										Setup GIT to push code from local server to live server11:31
- 
										Install & Configure PostgreSQL on Live Server04:56
- 
										Setup Virtual Environment on Live Server05:03
- 
										Install GDAL and PostGIS on Live Server14:07
- 
										Dumpdata and Loaddata on Live Server07:16
- 
										Gunicorn Configuration04:22
- 
										Nginx Configuration05:44
- 
										Fix Static Files on Server02:00
- 
										Install SSL on Live Site02:50
- 
										Uncomment user’s current location code for live website03:09
- 
										Congratulations! You made it!00:33