This course is in super-early-bird mode. We're writing and recording the course as we speak!
Learn how to build websites using HTML and TailwindCSS. Add interactivity with JavaScript and AlpineJS. Dynamically replace content with HTMX. Serve with Django, and store data in PostgreSQL.
You'll also learn about background tasks using Celery, and you'll learn to orchestrate the entire app using Docker and Docker Compose.
The app we build in this course uses 5 services:
The Django app
The Celery runner
A PostgreSQL database
A Redis database as a task queue
Flower for inspecting the Celery queue and workers
This is the complete full stack web development course, using Django 5.
If you want to build complete web projects, simply and efficiently, using modern technologies, this course is what you're looking for.
Build your back-end using Django 5
Design beautiful pages and code them with TailwindCSS
Add interactivity with AlpineJS
Dynamically change page content using HTMX
Add user authentication and email confirmation with django-allauth
Store data using PostgreSQL and understand database migrations
Implement background tasks with Celery
Use Docker and Docker Compose for local development
Deploy the complete app to Railway
Basic HTML Structure
2 LESSONS
Common HTML Elements
6 LESSONS
HTML Forms
7 LESSONS
Semantic HTML
4 LESSONS
CSS Fundamentals
9 LESSONS
Introduction to CSS and Selectors
CSS Fundamentals: units
The Box Model: Margin, Padding, Border
What does box-sizing do?
CSS Selector Specificity
Positioning: Relative, Absolute, Fixed, Sticky
Colors, Backgrounds, and Gradients
Typography: Font Properties and Text Styling
Pseudo-classes and Pseudo-elements
CSS Flexbox and Grid
9 LESSONS
A Full Python Refresher
47 LESSONS
Introduction to this section
Variables in Python
Coding Exercise 1: variables
String formatting in Python
Getting user input
Writing our first Python app
Lists, tuples, and sets
Advanced set operations
Coding Exercise 2: lists, tuples and sets
Booleans in Python
If statements
The 'in' keyword in Python
If statements with the 'in' keyword
Loops in Python
Coding Exercise 3: flow control-loops and ifs
List comprehensions in Python
Dictionaries
Destructuring variables
Functions in Python
Function arguments and parameters
Default parameter values
Functions returning values
Coding Exercise 4: functions
Lambda functions in Python
Dictionary comprehensions
Coding Exercise 5: dictionaries and students
Unpacking arguments
Unpacking keyword arguments
Object-Oriented Programming in Python
Magic methods: str and repr
Coding Exercise 6: classes and objects
@classmethod and @staticmethod
Coding Exercise 7: @classmethod and @staticmethod
Class inheritance
Class composition
Type hinting in Python 3.5+
Imports in Python
Relative imports in Python
Errors in Python
Custom error classes
First-class functions
Simple decorators in Python
The 'at' syntax for decorators
Decorating functions with parameters
Decorators with parameters
Mutability in Python
Mutable default parameters (and why they're a bad idea)
Django Project Configuration
14 LESSONS
How to install pyenv and Python on Windows
How to install pyenv and Python on Mac
How to install Poetry on Windows
How to install Poetry on Mac
How to install VSCode on Windows
How to install VSCode on Mac
How to install dependencies on Windows
How to install dependencies on Mac
How to start a Django project on Windows
How to start a Django project on Mac
Migrations, superusers, and admin panel on Windows
Migrations, superusers, and admin panel on Mac
How to create a Django app on Windows
How to create a Django app on Mac
The Course App
11 LESSONS
How to create and register Django models
How to create and run database migrations
Showing all our articles in the homepage
Introduction to Django forms
What are cookies?
What are CSRF attacks?
Creating a view that uses a form
Creating articles with Class-Based Views
Adding the other endpoints with CBVs
Cleaning up our article URLs
HTML Escaping in Django
The Course App — Part 2
8 LESSONS
9 More Sections
Jose Salvatierra
Hi, I'm Jose! I love helping students learn to code and master software development. I've been teaching online for over 7 years, and I founded Teclado to bring software development to everyone—my objective is for you to truly understand everything that goes on behind the scenes.
Basic
- Lifetime access
-
7 course topics: Project Set-up, Web Development, Docker and Docker Compose, User Authentication, Model Relationships, and Deployments
Complete
- Lifetime access
-
Python project set-up with pyenv and Poetry
-
Foundational web development knowledge (HTML, CSS, and JS)
-
Painless Django project configuration and settings
-
Run the app and database with Docker and Docker Compose
-
Add user authentication with email confirmation
-
Model relationships and run database migrations
-
Deploy all your web app services so anybody can access them
-
Integrate AI tools to produce content for your users
-
Improve the responsiveness and performance of your app with background tasks using Celery
-
Test your web app using browser testing with Playright
-
Add Continuous Integration using GitHub Actions to make sure your app works before deploying
All courses
-
All complete course sections, including AI integration, background tasks, automated tests, and continuous integration
-
Access to our full collection of premium courses
-
Over 120 hours of video content and hundreds of lectures
-
Access new courses when they are published
What does 'early access' mean?
Is there a free trial available?
How does the course work? When does it start and end?
Do I get lifetime access if I buy the course?
Is this course suitable for beginners?
What support is available while taking the course?