Build and Deploy your Django & React App: Authentication, Docker, AWS Lightsail, GitHub Actions & PostgreSQL
Tags: django, aws, docker, react
Published: 2021-09-26 14:46:48

I've recently published some articles on Django and React. 
If you are looking to learn how to use Django Rest to build an API that you can consume using React from development to deployment, this post will list the resources needed to achieve your goal. 

## Build a CRUD application using Django and React 

Here's you'll learn how to: 
- Create a REST API using Django Rest
- Make required CORS configuration to make requests to your API using the browser
- Configuring your React project to use an external API
- Basic CRUD operations & API calls using `axios` library

Find the article here:  [Build a CRUD application using Django and React](https://dev.to/koladev/build-a-crud-application-using-django-and-react-5389)  

## FullStack React & Django Authentication : Django REST ,TypeScript, Axios, Redux & React Router

This tutorial will teach you how to add JWT authentication to your Django Backend but with also a refresh/access logic.
You'll learn how to: 
- use Django Rest to build the API and create authentication endpoints
- configure your React project for protected and public routes
- register JWT tokens in the local storage but also add an automatic refresh/access logic using AxiosInterceptor

Find the article here:  [FullStack React & Django Authentication : Django REST ,TypeScript, Axios, Redux & React Router](https://dev.to/koladev/django-rest-authentication-cmh) 

## Deploy a Django App on AWS Lightsail: Docker, Docker Compose, PostgreSQL, Nginx & Github Actions 

It's true that it's definitely possible to deploy your backend using technologies like Heroku. However, owning your own VPS and add CI/CD pipelines is definitely helpful and can save money. 

In this tutorial, you'll learn how to: 

- configure your Django application for production and development using Docker
- use Github actions to run jobs such as tests and deploy
- configure your AWS Lightsail server with a DNS
- automate the SSL certificates renewing
- write tests
- configure Nginx for development and production environment.

Read the article here:  [Deploy a Django App on AWS Lightsail: Docker, Docker Compose, PostgreSQL, Nginx & Github Actions ](https://dev.to/koladev/deploy-a-django-app-on-aws-lightsail-docker-docker-compose-postgresql-nginx-github-actions-bo6) 

## Deploy a React App on AWS Lightsail: Testing, Docker, Docker Compose, Nginx & Github Actions 

This tutorial will teach you how to deploy your React application directly to a VPS. While it's true that there are better existing solutions like Vercel, Netlify, or CDN, in your career as a software engineer, you'll probably have to deploy a front-end application on a VPS for security or privacy purposes.

In this tutorial, you'll learn how to: 

- configure your React application for production and deployment using Docker
- write tests using the default `react-testing` library
- use Github actions to run jobs such as tests and deploy
- configure your AWS Lightsail server with a DNS
- automate the SSL certificates renewing
- configure Nginx for development and production environment.

Read the article here:  [Deploy a React App on AWS Lightsail: Testing, Docker, Docker Compose, Nginx & Github Actions](https://dev.to/koladev/deploy-a-react-app-on-aws-lightsail-testing-docker-docker-compose-nginx-github-actions-4lb5) 

## Conclusion 

Here, that's it. A series of articles to help you start with Django & React.

And if you have any suggestions for content I can add to this series, feel free to reach me or add it in the comment section. 😉