{"product_id":"decoupled-django-9781484271438","title":"Decoupled Django","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cp\u003eApply decoupling patterns, properly test a decoupled project, and integrate a Django API with React, and Vue.js. This book covers decoupled architectures in Django, with Django REST framework and GraphQL. With practical and simple examples, you'll see firsthand how, why, and when to decouple a Django project. \u003c\/p\u003e\u003cp\u003eStarting with an introduction to decoupled architectures versus monoliths, with a strong focus on the modern JavaScript scene, you'll implement REST and GraphQL APIs with Django, add authentication to a decoupled project, and test the backend. You'll then review functional testing for JavaScript frontends with Cypress. You will also learn how to integrate GraphQL in a Django project, with a focus on the benefits and drawbacks of this new query language.\u003c\/p\u003e\u003cp\u003eBy the end of this book, you will be able to discern and apply all the different decoupling strategies to any Django project, regardless of its size.\u003cbr\u003e\u003c\/p\u003e\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cdiv\u003e\n\u003cb\u003eWhat You''ll Learn \u0026amp;\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003e\u003c\/b\u003e\u003cp\u003eChapter 1:  Introduction to the decoupled world.\u003c\/p\u003e  \u003cp\u003eChapter Goal: Introduce the reader to terminology and structure of a decoupled architecture.\u003c\/p\u003e  \u003cp\u003eNo of pages: 16\u003c\/p\u003e  Sub -Topics  \u003cp\u003e1. A review of the concept of monolithic applications vs decoupled applications.\u003c\/p\u003e  \u003cp\u003e2. What is decoupling? \u003c\/p\u003e  \u003cp\u003e3. Why and when to decouple?\u003c\/p\u003e  \u003cp\u003e4. A brief introduction to REST.\u003c\/p\u003e  \u003cp\u003e5. A brief introduction to GraphQL.\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  Chapter 2:  JavaScript meets django.  \u003cp\u003eChapter Goal: Introduce the reader to the modern JavaScript scene, help the reader understand how modern frontend tools fit within Django.\u003c\/p\u003e  \u003cp\u003eNo of pages: 13\u003c\/p\u003e  Sub -Topics  \u003cp\u003e1. An overview of modern JavaScript.\u003c\/p\u003e  \u003cp\u003e2. An overview of JavaScript and Django in production setups.\u003c\/p\u003e  \u003cp\u003e3. A review of the most popular frontend libraries: Vue, React, Next.js, and the differences between them.\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 3: Modern Django and Django REST Framework.\u003c\/p\u003e  \u003cp\u003eChapter goal: Introduce the reader to intermediate Django concepts, and Django REST framework.\u003c\/p\u003e  \u003cp\u003eNo of pages: 11\u003c\/p\u003e  \u003cp\u003eSub -Topics\u003c\/p\u003e  \u003cp\u003e1. 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).\u003c\/p\u003e  \u003cp\u003e2. An introduction to ASGI and async Django.\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 4:  Advantages and disadvantages of a decoupled architecture.\u003c\/p\u003e  Chapter Goal: Help the reader make an informed choice by outlining advantages and disadvantages of a decoupled architecture.  \u003cp\u003eNo of pages: 12\u003c\/p\u003e  \u003cp\u003eSub -Topics\u003c\/p\u003e  1. Why and when to decouple?  \u003cp\u003e2. An overview of the various approaches for decoupling a Django project. How to choose between the various approaches.\u003c\/p\u003e  \u003cp\u003e3. Advantages of decoupling a Django project.\u003c\/p\u003e  4. Disadvantages of decoupling a Django project.  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 5:  Setting up a Django project.\u003c\/p\u003e  \u003cp\u003eChapter Goal: Help the reader to prepare a Django project.\u003c\/p\u003e  \u003cp\u003eNo of pages: 9\u003c\/p\u003e  \u003cp\u003eSub -Topics\u003c\/p\u003e  \u003cp\u003e1. How to split setting files.\u003c\/p\u003e  2. How to configure Django to use environment variables.  \u003cp\u003e3. How to run Django under ASGI.\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 6:  Decoupled Django with Django REST Framework.\u003c\/p\u003e  \u003cp\u003eChapter Goal: Help the reader understand how to decouple a Django project with Django REST framework.\u003c\/p\u003e  \u003cp\u003eNo of pages: 31\u003c\/p\u003e  \u003cp\u003eSub -Topics\u003c\/p\u003e  1. How to install and enable Django REST framework.  \u003cp\u003e2. Django REST framework serializers.\u003c\/p\u003e  \u003cp\u003e3. How to create API endpoint with Django REST framework.\u003c\/p\u003e  4. Django REST relationships.  \u003cp\u003e5. Working with Vue.js in Django.\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 7:  API security, and deployment\u003c\/p\u003e  \u003cp\u003eChapter Goal: Help the reader secure and deploy a decoupled Django project.\u003c\/p\u003e  \u003cp\u003eNo of pages: 23\u003c\/p\u003e  \u003cp\u003eSub -Topics\u003c\/p\u003e  1. Django and Django REST hardening   \u003cp\u003e2. Deploying a decoupled Django project\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 8:  Django REST meets Next.js.\u003c\/p\u003e  \u003cp\u003eChapter Goal: Help the reader pair a Django REST project with Next.js, the React framework.\u003c\/p\u003e  \u003cp\u003eNo of pages: 24\u003c\/p\u003e  \u003cp\u003eSub -Topics\u003c\/p\u003e  1. Django as a headless CMS  \u003cp\u003e2. A reintroduction to React and its ecosystem\u003c\/p\u003e  \u003cp\u003e3. Working with Next.js and Django REST\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 9:  Testing in a Decoupled World.\u003c\/p\u003e  \u003cp\u003eChapter Goal: Teaches the reader how to test a decoupled Django REST project and a JavaScript frontend.\u003c\/p\u003e  No of pages: 22  \u003cp\u003eSub -Topics\u003c\/p\u003e  \u003cp\u003e1. A brief introduction to functional and unit testing.\u003c\/p\u003e  \u003cp\u003e2. Testing the frontend with Cypress\u003c\/p\u003e  \u003cp\u003e3. Testing Django REST framework and Django\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 10:  Authentication and authorization Django REST framework.\u003c\/p\u003e  Chapter Goal: Help the reader understand how to set up authentication and authorization in a decoupled Django project.  \u003cp\u003eNo of pages: 21\u003c\/p\u003e  \u003cp\u003eSub -Topics\u003c\/p\u003e  1. A review of the most important authentication mechanisms in Django and Django REST framework  \u003cp\u003e2. What is token based authentication? What is JWT? JWT drawbacks\u003c\/p\u003e  \u003cp\u003e3. Using session-based authentication for single-page apps\u003c\/p\u003e  4. How to handle authentication in the frontend  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 11:  GraphQL in Django with Ariadne.\u003c\/p\u003e  \u003cp\u003eChapter Goal: Help the reader understand what GraphQL is and how it fits into the Python\/Django landscape.\u003c\/p\u003e  \u003cp\u003eNo of pages: 39\u003c\/p\u003e  \u003cp\u003eSub -Topics\u003c\/p\u003e  \u003cp\u003e1. Creating a GraphQL schema in Ariadne\u003c\/p\u003e  2. Working with resolvers  \u003cp\u003e3. Implementing mutations\u003c\/p\u003e  \u003cp\u003e4. Connecting React to a GraphQL backend\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 12:  GraphQL in Django with Strawberry.\u003c\/p\u003e  \u003cp\u003eChapter Goal: Help the reader understand in practice how to decouple a Django project with GraphQL and Strawberry.\u003c\/p\u003e  \u003cp\u003eNo of pages: 30 (estimated)\u003c\/p\u003e  \u003cp\u003eSub -Topics\u003c\/p\u003e  \u003cp\u003e1. Creating a GraphQL schema in Straberry\u003c\/p\u003e  \u003cp\u003e2. Working with resolvers\u003c\/p\u003e  3. Implementing mutations in the frontend  \u003cp\u003e\u003cbr\u003e\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\u003c\/div\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48739667018071,"sku":"9781484271438","price":44.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484271438.jpg?v=1720052856","url":"https:\/\/bookcurl.com\/products\/decoupled-django-9781484271438","provider":"Book Curl","version":"1.0","type":"link"}