⭐️ Thanks to CKEditor parterning with us on this course!
- 🎥 YouTube video: Watch the course
 - 💽 GitHub code: Project repository
 - 🐍 Boilerplate code Django x Next.js
 
- ✅ Full-stack web development with Django and Next.js
 - ✅ Setting up Django backend with production-ready configuration
 - ✅ Configuring Next.js frontend for modern user experience
 - ✅ PostgreSQL database setup via Docker Compose
 
- ✅ Complete Google OAuth implementation from scratch
 - ✅ OAuth state and PKCE token generation and management
 - ✅ Django caching for secure OAuth token handling
 - ✅ Custom Django user model with email-first authentication
 - ✅ User registration flows for both email and Google login
 - ✅ Token verification and refresh mechanisms
 
- ✅ CKEditor integration for rich document editing
 - ✅ Real-time collaboration with Django-based users via CKEditor
 - ✅ TailwindCSS configuration with CKEditor
 - ✅ AI assistance integration with custom adapters
 - ✅ Multi-user real-time document collaboration
 
- ✅ JWT token signatures for secure user authentication
 - ✅ API endpoints for user tokens and document management
 
- Knowledge of classes, functions, async/await, and working with HTTP requests
 - Understanding of virtual environments and package management
 
- Familiarity with views, URL routing, models, and the Django ORM
 - Understanding Django's authentication system and middleware
 
- ES6+ features, async/await, and working with APIs
 - React hooks, context, and component lifecycle
 
- Basic understanding of OAuth authentication flows
 - Knowledge of JWT tokens and authentication mechanisms
 
This comprehensive course provides everything you need to build a production-ready Google-docs-like collaboration platform with modern authentication and real-time editing & collaboration features.
- Starting Django x Nextjs Integration
 - Django Backend Baseline Setup
 - Nextjs Frontend Setup
 - Postgres Database via Docker Compose
 - Register Users with Django & Next.js
 - We Need Google Auth
 
- Mini Django Project for Google Login
 - Minimal Django Project Setup
 - Google Cloud and the Google Auth Platform
 - OAuth Flow + Django Views
 - Generate OAuth State and PKCE Tokes
 - OAuth Callback URL
 - Genereate the Google OAuth Login URL
 - Django Caching for OAuth State & PKCE
 - Finalize Login URL with Google Auth Client
 - Handle the Google OAuth Callback
 - Verify Callback Token
 - Create Django User from Google User
 - Scopes for Google OAuth
 - Finalize Django Login for Google User
 - Unlocking Django App Portability
 
- Email-based User Model in Django
 - Before you replace the User model
 - Replace the Default User Model
 - Customizing the Custom User Model
 - Modify Next.js Login Form
 - Improved Login Flow from Django API
 - Sign Up Flow for Email-based Users
 - User Display Name
 - Google Login API Endpoints
 - Google Auth Client and Django Config
 - Next.js Google Login Button & Redirect
 - Handle the Google Callback in Next.js
 - Active vs Inactive Accounts
 - Verify User in Next.js with TokenFetcher
 - Perform Token Refresh
 
- Documents App and Basic Model
 - Doc Model Schema with Django Ninja
 - API List View for User Documents
 - Caching to Speed Up Django QuerySets
 - List View for Docs in Next.js
 - Client Side Login Required with useSWR
 - Client-Side Docs Detail View
 - Dynamic URL Routing in Django Ninja
 - Get Document Detail Service
 - Exception Handling for Permissions and Not Found
 - API Endpoints for Updating Documents
 - Frontend Form to Update Document
 - Create Documents in Backend API & Frontend
 - Challenge: Create a Delete View
 
- Intro to CKEditor
 - Install CKEditor in NextJS
 - Swap Textarea with CKEditor
 - Save CKEditor Contents to Database
 - Adding new features & the CKEditor Builder
 - Using TailwindCSS with CKEditor
 - Autosave with CKEditor
 - Adding Any Standard Plugin
 - Managing the CKEditor License Key
 - Using AI Assistant Plugin with a Custom Adapter
 - Proxied AI Responses with Django