⭐️ 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