Django + React : Build a Location-Based Real Estate Website
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
- You also need to know Python.
- The very basics of Django will also help.
- Logical thinking.
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.
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:
React 17 (Updated for React 18-Works perfectly fine, check out the lecture 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
Making spatial queries with Geodjango and PostGIS
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.
Who this course is for:
- Developers who want take their skills to new levels.
- Students who want to build real-world projects
- Developers who want to play with maps
- Map lovers
After earning my degree in Civil Engineering and working as a water resources engineer for several years, I found a true passion in Geographical Information Systems (GIS). One thing leading to another, I started learning Python to take my GIS skills to new levels.
Me being a very curious person, I kept on digging deeper into programming and web development. Several years later, I found myself being proficient in different programming languages and frameworks.