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.