
Learn to build an ambassador app with Angular and Django in a fast-paced, advanced course, featuring admin, ambassador, and checkout apps, Redis caching, and Stripe integration.
Create a custom wait-for-db Django command to loop until the database is reachable. Learn how to implement the base command, handle operational errors, and synchronize docker compose with server startup.
Implement admin authentication endpoints, including register, login, get authenticated user, logout, and update own information and password as part of a 16-point workflow.
Refactor your login flow by converting a function into a static method, allowing direct calls on the class without initialization, while keeping existing authentication actions intact.
Define a get endpoint that returns the authenticated user via a custom cookie-based JWT authentication, using the is_authenticated permission and a user serializer.
Learn to update your own profile and password using Django REST framework APIs, validating password and confirmation before saving, and performing partial updates for first name, last name, and email.
Implement scope-based authentication in a JWT system to distinguish ambassador and admin users, store scope in the token, and enforce access restrictions on admin and ambassador routes.
Add a revenue field to the application programming interface by calculating ambassador revenue from completed orders and items, and expose a name property combining first and last name.
Explore ambassador endpoints, including two product retrieval methods on front-end and back-end, link creation, and studies on own and general stats shared by all ambassadors.
Connects Redis caching to a Django app via Docker Compose, using the default cache, cache get/set in a view, and a page-wide decorator to speed responses.
learn to sort products with a query string parameter, choose ascending or descending order by price using a sort key and reverse option to control the results.
Learn to implement pagination for products by setting per page and page parameters, calculating start and end indices, and returning data with total and last page information.
Use Redis sorted sets to rank ambassadors by revenue, update rankings with zadd, and retrieve descending results for the front end.
Explore three endpoints for a checkout flow: fetch data to create an order, create the order with completion pending Stripe verification, and update the status from incomplete to complete.
Build a link data API by wiring a link serializer with products and a user, then fetch the unique code and expose the result via the checkout link view.
Create an order via post in the api view, validate the link, assemble order data and items, set code and user details, handle decimals for revenues, save, and return success.
Wrap orders and order items in an atomic transaction to ensure all-or-nothing saves; on error, rollback restores the database, keeping only successful inserts.
Send emails to the admin and ambassador when an order is completed by configuring mailhog, updating the checkout confirm API view, and testing via Postman in a Docker environment.
Install and run Angular, install npm globally, set up a new project with Angular routing, and launch the app on port 4200 to see the running app.
Implement and test a logout flow in an Angular and Django app by sending a logout request with credentials, clearing cookies, and redirecting users to login while protecting routes.
Learn to install Angular Material, choose a style, and convert a user table to an Angular Material mat-table by configuring data source and defining columns for name, email, and actions.
Implement a secure profile page in an advanced angular and django rapid guide by organizing main and shared models, wiring reactive forms and router outlet for authenticated access.
Create a dynamic header component that toggles between welcome messages and user revenue, using title and description variables, login and register links, and route-based conditions.
Develop and display backend products by consuming the /backend endpoint to fetch data, then bind product data, images, titles, and prices to the user interface, paginating to nine items.
Learn to manage pagination with http params in an Angular and Django setup by implementing last-page handling, show button logic, and refresh-friendly navigation.
Learn to create and register Angular pipes for filtering, paginating, and sorting a product array, using page and per page parameters and a search filter in the UI.
Angular universal renders the app on the server side, delivering pre-rendered html for Google to index and making the view source show the rendered content for search engine optimization.
Learn to fetch and render products in an Angular and Django setup by looping through products to show title, description, and price, with a quantity input.
Learn how to create an Ambassador App using Angular and Django Rest Framework. We will build 3 frontend apps Admin, Ambassador and Checkout and they will consume a big Django API.
In Django you will learn:
How to create APIs with Django Rest Framework
Use Docker
Create protected routes
Login with HttpOnly Cookies
Login with Scopes
Use Redis
Use Stripe
Sending Emails
Filter Cached products
In Angular you will learn:
Angular CLI
Use interceptors
Create public and private routes
Use Reactive Forms
Angular Material
Angular Universal
I'm a FullStack Developer with 10+ years of experience. I'm obsessed with clean code and I try my best that my courses have the cleanest code possible.
My teaching style is very straightforward, I will not waste too much time explaining all the ways you can create something or other unnecessary information to increase the length of my lectures. If you want to learn things rapidly then this course is for you.
I also update my courses regularly over time because I don't want them to get outdated. So you can expect more content over time from just one course with better video and audio quality.
If you have any coding problems I will offer my support within 12 hours when you post the question. I'm very active when trying to help my students.
So what are you waiting for, give this course a try and you won't get disappointed.