About the Course

Get introduced to the course and its contents, intended audience, and overall structure.

Overview

Getting started with full stack development using Python or JavaScript can be daunting, mainly if you are a developer already using one of these languages and want to add a second language to your set of skills. If you are already working with Django or React, or have knowledge in Python or JavaScript and you want to learn how to build a full stack application from scratch with features such as authentication, CRUD operations, and a lot more, but you are also looking to learn how to deploy web applications on AWS using Docker, this course covers everything you need.

This course will help you combine the dual power of the two most popular frameworks—React and Django. We will build full stack applications, including a RESTful API in the backend and an intuitive frontend, while exploring the advanced features of both frameworks. We will start building a social media web application called Postagram from scratch while covering the important concepts, techniques, and best practices for end-to-end development.

We will see how the dynamic functionality of the React framework can be used to build our frontend systems and how the ORM layer of Django helps to simplify a database, which in turn boosts the development process of building a backend to build full-stack applications.

By the end of the course, you will be able to create a dynamic full-stack app starting from scratch on your own.

Prerequisites

This course is best suited for learners who meet the following criteria:

  • Python competency: This course is centered on the Python framework Django and as such, a basic competency of Python is required.

  • Javascript competency: Much of this course uses React as the frontend framework of choice. As such, a functional understanding of Javascript is necessary.

  • Basic web development concepts: This course focuses on building full stack applications, and therefore, this course requires basic familiarity with web development concepts.

Intended audience

This course is for Python developers who are familiar with Django but don’t know where to start when it comes to building a full stack application—more specifically, building RESTful APIs. This course will also be useful for frontend developers with knowledge of JavaScript who are looking to learn full stack development. This course is also a suitable choice for an experienced full stack developer working with different technologies and looking to explore and learn new ones.

What this course covers

Let’s have a look at what we are going to cover in this course:

  • Creating a Django Project: This chapter shows how to create a Django project and make the required configurations with a database server.

  • Authentication and Authorization Using JWTs: This chapter explains how to implement an authentication system using JSON Web Tokens and how to write custom permissions.

  • Social Media Post Management: This chapter shows how to implement complex CRUD operations using serializers and ViewSets.

  • Adding Comments to Social Media Posts: This chapter shows how to add comments to posts using database relations, serializers, and viewsets.

  • Testing the REST API: This chapter introduces testing with Django and Pytest.

  • Creating a Project with React: This chapter explains how to create a React project while configuring a good environment for development.

  • Building Registration and Login Forms: This chapter explains how to implement authentication forms and logic on the frontend side of a full stack application.

  • Social Media Posts: This chapter shows how to implement CRUD operations on the React frontend for social media posts.

  • Post Comments: This chapter shows how to implement CRUD operations on the React frontend for social media comments.

  • User Profiles: This chapter explains how to implement CRUD operations on the React frontend concerning profiles and how to upload an image.

  • Effective UI Testing for React Components: This chapter introduces component testing using Jest and the React Testing Library.

  • Deployment Basics—Git, GitHub, and AWS: This chapter introduces DevOps tools and terms and how to deploy a Django application directly on AWS EC2.

  • Dockerizing the Django Project: This chapter shows how to dockerize a Django application using Docker and Docker Compose.

  • Automating Deployment on AWS: This chapter shows how to deploy a dockerized application on EC2using GitHub Actions.

  • Deploying Our React App on AWS: This chapter demonstrates how to deploy a React application on AWS S3 and automate the deployment using GitHub Actions.

  • Performance, Optimization, and Security: This chapter shows how to optimize our application using webpack, optimize database queries, and enhance the backend security.