About the Book
Chapter 1: Introduction to the decoupled world.
Chapter Goal: Introduce the reader to terminology and structure of a decoupled architecture.
No of pages: 16
Sub -Topics
1. A review of the concept of monolithic applications vs decoupled applications.
2. What is decoupling?
3. Why and when to decouple?
4. A brief introduction to REST.
5. A brief introduction to GraphQL.
Chapter 2: JavaScript meets django.
Chapter Goal: Introduce the reader to the modern JavaScript scene, help the reader understand how modern frontend tools fit within Django.
No of pages: 13
Sub -Topics
1. An overview of modern JavaScript.
2. An overview of JavaScript and Django in production setups.
3. A review of the most popular frontend libraries: Vue, React, Next.js, and the differences between them.
Chapter 3: Modern Django and Django REST Framework.
Chapter goal: Introduce the reader to intermediate Django concepts, and Django REST framework.
No of pages: 11
Sub -Topics
1. A brief introduction to Django REST framework and how it fits within a Django project, compared to the basic Django building blocks (MVT architecture, forms, models, views).
2. An introduction to ASGI and async Django.
Chapter 4: Advantages and disadvantages of a decoupled architecture.
Chapter Goal: Help the reader make an informed choice by outlining advantages and disadvantages of a decoupled architecture.
No of pages: 12
Sub -Topics
1. Why and when to decouple?
2. An overview of the various approaches for decoupling a Django project. How to choose between the various approaches.
3. Advantages of decoupling a Django project.
4. Disadvantages of decoupling a Django project.
Chapter 5: Setting up a Django project.
Chapter Goal: Help the reader to prepare a Django project.
No of pages: 9
Sub -Topics
1. How to split setting files.
2. How to configure Django to use environment variables.
3. How to run Django under ASGI.
Chapter 6: Decoupled Django with Django REST Framework.
Chapter Goal: Help the reader understand how to decouple a Django project with Django REST framework.
No of pages: 31
Sub -Topics
1. How to install and enable Django REST framework.
2. Django REST framework serializers.
3. How to create API endpoint with Django REST framework.
4. Django REST relationships.
5. Working with Vue.js in Django.
Chapter 7: API security, and deployment
Chapter Goal: Help the reader secure and deploy a decoupled Django project.
No of pages: 23
Sub -Topics
1. Django and Django REST hardening
2. Deploying a decoupled Django project
Chapter 8: Django REST meets Next.js.
Chapter Goal: Help the reader pair a Django REST project with Next.js, the React framework.
No of pages: 24
Sub -Topics
1. Django as a headless CMS
2. A reintroduction to React and its ecosystem
3. Working with Next.js and Django REST
Chapter 9: Testing in a Decoupled World.
Chapter Goal: Teaches the reader how to test a decoupled Django REST project and a JavaScript frontend.
No of pages: 22
Sub -Topics
1. A brief introduction to functional and unit testing.
2. Testing the frontend with Cypress
3. Testing Django REST framework and Django
Chapter 10: Authentication and authorization Django REST framework.
Chapter Goal: Help the reader understand how to set up authentication and authorization in a decoupled Django project.
No
About the Author:
Valentino Gagliardi is a freelance consultant with a wealth of experience in the IT industry. He spent the last 8 years as a front-end consultant, providing advice and help, coaching and training on JavaScript and React. He worked as an instructor for multiple training agencies around the country, running in-person workshops and creating learning paths for aspiring developers. He loves to share his knowledge on his blog with tutorials reaching over 100,000 monthly visits. An avid Django user, he is active in the Python community as a speaker, and as a coach for Django Girls.