Udemy

Django + React : Build a Location-Based Real Estate Website

Enroll Now
  • 3,751 Students
  • Updated 2/2023
4.3
(188 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
17 Hour(s) 43 Minute(s)
Language
English
Taught by
ABDEL KARIM DIOUF
Rating
4.3
(188 Ratings)
2 views

Course Overview

Django + React : Build a Location-Based Real Estate Website

In this course, Learn & practice React, Django, Django Rest Framework, GeoDjango, Material UI, React-Leaflet, PostGIS

In this project-based course, we will build a location-based real estate website. It is going to be a full stack web application with Django powering the backend and React Js the frontend.

We are going to build the frontend very fast by using Material UI which is a very easy and intuitive React library for building UI components. Throughout the course we will get to use lots of Material UI components that we will easily style.

We are then going to build the API with Django Rest Framework (DRF) and we are going to make requests to the API with React.

Leaflet is a JavaScript library for building interactive maps. We will add a geographic aspect to this project by placing the property listings on a map. We are going to achieve that with React-Leaflet which provides a binding between React and Leaflet.

We are also going to make our PostgreSQL database be spatially aware by adding the PostGIS extension to it. So, on top of making regular queries to the database, we are also going to make spatial queries (geometric information such as distance).

We are also going to cover user authentication with the Djoser library. We will get end users to add, delete or update property listings from the frontend. We are also going to handle both client-side errors and server-side errors in the forms.

Once we are done building the website on our local machines, we will then deploy it with Digital Ocean and Namecheap. During deployment, we are going to:

  • Push our project to GitHub

  • Get domain names for the backend and frontend

  • Setup a mailbox in “private email”

  • Setup an SSL certificate

  • Install and setup Nginx and Gunicorn

  • Store media file in the cloud with Digital Ocean spaces

I will be using:

  • Windows

  • Python 3.9

  • Django 4.0

  • React 17 (Updated for React 18-Works perfectly fine, check out the lectures on the Bonus section for more details)

  • Material UI 5

The following topics will be covered in this course:

  • The basics of React

  • React hooks (useState, useEffect, useContext, useReducer, useRef, useMemo)

  • The basics of Material UI

  • Styling with Material UI

  • The basics of React-Leaflet

  • React-Leaflet hooks (exp: useMap)

  • Building API endpoints with Django Rest Framework

  • Authentication with Djoser

  • Django signals

  • Making spatial queries with Geodjango and PostGIS

  • Calculating distances

  • Django deployment

  • React Deployment

  • Creating a remote server

After completing this in-depth project-based course, you will know how to connect Django and React. You will also know how take full advantage of a spatially or geographically aware database.

Course Content

  • 10 section(s)
  • 138 lecture(s)
  • Section 1 Introduction
  • Section 2 The basics of React
  • Section 3 The basics of Material UI
  • Section 4 The basics of React-Leaflet
  • Section 5 Setting up the backend
  • Section 6 Connecting Django and React
  • Section 7 Handling image fields
  • Section 8 User authentication
  • Section 9 Adding listings from the frontend
  • Section 10 Handling user profiles

What You’ll Learn

  • Connect React and Django
  • Build an API with Django Rest Framework
  • Interactive maps with React-Leaflet
  • Make spatial queries with Geodjango and PostGIS
  • Deploy a full stack app with Digital Ocean and Namecheap
  • The basics of React
  • The basics of Material UI
  • The basics of React-Leaflet
  • Backend Authentication with Djoser
  • Install Nginx and Gunicorn
  • Setup SSL certificate
  • Store media files with Digital Ocean Spaces
  • Django storages / Boto 3

Reviews

  • R
    Ryan Kirkpatrick
    5.0

    Easy to follow.

  • P
    Pedro
    3.5

    Please consider a v18 upgrade or else the videos are hard to follow as of $today. I was disapointed after discovering that the course and MUI styling was not updated to React 18. Although we have a bonus section with what needs to change to make it "React 18 compatible" (and in fact it's a small change), it assumes that you have your project complete using React 17 and only then you change a few bits to make it R18 compliant. Still, we would have to follow along all videos using legacy coding and convert in realtime as we go. When time is limited, this slows down the pace considerably.

  • S
    Sandor Kornhauser
    4.5

    The course covers a lot of material. I really learned a lot about mapping, authentication and API requests. For improvement, I think some of the code could be simplified and refactored in some parts. As for deployment, there are configurations that could be a lot cheaper; but I understand that would require much more detail about servers. The course is definitely worth taking

  • G
    Geoff Dix
    4.5

    I had a lot of trouble after installing package react-router-dom, the npm start command failed to run. I looked on the Udemy course pages and could not fand any help and went back to earlier lectures to see if I had missed something. I wasted a several hours searching for a solution before uninstalling NodeJS v18 (latest) and installing an earlier version - NodeJS v16.20. Very frustrating GD The lessons are going along well - only minor errors (on my part) to debug. Much better now

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed