Free Course Image Build a Full-Stack Web App

Free online course Build a Full-Stack Web App

Duration of the online course: 5 hours and 10 minutes

New

Build job-ready full-stack skills with a free course: create a Django REST backend and a React frontend, add CRUD, validation, and a polished UI.

In this free course, learn about

  • Set up a Django backend project and run initial migrations to create db.sqlite3
  • Configure CORS so a Vite/React app (localhost:5173) can call a Django API (localhost:8000)
  • Create a React frontend with Vite and structure it to work with a Django backend
  • Implement SPA navigation using React Router (routes, router provider, links/nav)
  • Build a navigation menu using Material UI components
  • Install and use core Material UI packages (@mui/material, @emotion/react, @emotion/styled)
  • Design Django models and apply schema changes with makemigrations/migrate
  • Create REST APIs with DRF using serializers, views/viewsets, and URL routing
  • Use an Axios instance to centralize baseURL, headers, and interceptors for API requests
  • Build reusable MUI forms; use option.id as select value for relational integrity in API payloads
  • Submit React forms with Formik; wire buttons to onSubmit to POST data to the backend
  • Add form validation with Yup and integrate it with Formik
  • Display backend data in a Material React Table; add a list endpoint for all records
  • Perform CRUD updates via HTTP methods: PUT/PATCH for edits and DELETE for removals (backend support required)

About the free online course

Turn a blank folder into a working full-stack web application by connecting a Python Django backend to a modern React frontend. This course is designed for learners who want practical backend development experience without staying stuck in theory. You will see how a real project comes together end to end: configuring the server, preparing the database, exposing clean APIs, and consuming them from a responsive user interface.

On the backend side, you will set up Django the right way, run the initial database setup, design models that represent real data, and apply changes safely through migrations. You will then build API endpoints using Django REST Framework so a separate frontend can fetch and update data reliably. Along the way you will understand what enables cross-origin requests in development so your frontend and backend can communicate smoothly during local testing.

On the frontend side, you will create a React application with Vite for a fast development workflow, then add page navigation with React Router so your app behaves like a multi-page product while staying a single-page application. You will also work with Material UI components to create a clean navigation menu and user-friendly forms, making the interface feel professional instead of purely functional.

Once the foundation is in place, you will wire the two layers together using Axios, including a reusable setup that keeps requests consistent and easy to maintain. You will implement complete CRUD features: creating records from React into Django, validating input with a dedicated schema-based approach, listing records in a rich data table, editing existing entries with the correct HTTP methods, and removing items through an API that supports targeted deletion.

By the end, you will have the confidence to build and iterate on your own full-stack projects, understand the responsibilities of backend APIs versus frontend presentation, and recognize the patterns that make web apps scalable and maintainable.

Course content

  • Video class: Full-Stack Django React App Tutorial #1: Setting up the Python Django Backend 12m
  • Exercise: Which step completes the initial Django backend setup by creating the default database tables and the db.sqlite3 file?
  • Video class: Full-Stack Django React App Tutorial #2: Setting up the React JS Frontend with Vite 11m
  • Exercise: What configuration step enables a React frontend (e.g., http://localhost:5173) to make requests to a Django backend (e.g., http://localhost:8000)?
  • Video class: Full-Stack Django React App Tutorial #3: Page Navigation with React Router 15m
  • Exercise: Which set of steps best describes how page navigation is enabled in a React front end using React Router?
  • Video class: Full-Stack Django React App Tutorial #4: Creating a Navigation Menu with Material UI Components 44m
  • Exercise: Which set of packages is installed first to start using Material UI components in the React frontend?
  • Video class: Full-Stack Django React App Tutorial #5: Create Database Models and Adding Data 18m
  • Exercise: After defining new Django models, which command applies the model changes to the database tables?
  • Video class: Full-Stack Django React App Tutorial #6: Create Backend APIs with Django Rest Framework (DRF) 22m
  • Exercise: In Django REST Framework, what are the three core components needed to create an API endpoint that a React frontend can consume?
  • Video class: Full-Stack Django React App Tutorial #7: Get Django API Data in our React JS Frontend using Axios 14m
  • Exercise: What is the main purpose of creating an Axios instance file (e.g., axios.jsx) in a React front end when working with a Django REST API?
  • Video class: Full-Stack Django React App Tutorial #8: Apply Styling and Adding Material UI forms 41m
  • Exercise: Why does the reusable SelectForm set each option’s value to option.id instead of option.name?
  • Video class: Full-Stack Django React App Tutorial #9: Create Records in Django Backend from the React Frontend 31m
  • Exercise: What change is needed in the React create page so clicking the button triggers Formik’s submission logic and posts data to the backend?
  • Video class: Full-Stack Django React App Tutorial #10: Form Validation with Yup 28m
  • Exercise: Which library is installed to add form validation rules to the React forms?
  • Video class: Full-Stack Django React App Tutorial #11: Show Django Database Data in a Material React Table 23m
  • Exercise: What change is needed in the backend to let the frontend display a table of all football clubs?
  • Video class: Full-Stack Django React App Tutorial #12: Edit Records in Django Backend from the React Frontend 24m
  • Exercise: When submitting edited form data to update an existing record in a Django REST + React app, which HTTP method should be used from the React frontend?
  • Video class: Full-Stack Django React App Tutorial #13: Delete Records in Django Backend from the React Frontend 19m
  • Exercise: Which backend change enables deleting a specific record via the API?

This free course includes:

Icon for learning via the audio course

5 hours and 10 minutes of online video course

Icon for the digital course completion certificate

Digital certificate of course completion (Free)

Icon for exercises to practice what you've learned

Exercises to train your knowledge

Icon for courses that are 100% free from start to finish

100% free, from content to certificate

How do I connect a React Vite frontend to a Django REST Framework backend?

Configure CORS in Django to allow the Vite development URL, create DRF API endpoints, and call them from React through a reusable Axios instance.

What Django commands create database tables after adding new models?

Run "python manage.py makemigrations" to create migration files, then "python manage.py migrate" to apply them and create or update database tables.

How does a React app create, edit, and delete Django database records?

React submits forms to DRF endpoints using POST to create, PUT or PATCH to update, and DELETE to remove a specific record.

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at Backend development

Free Ebook + Audiobooks! Learn by listening or reading!