Description
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
- 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.