π Django + Next.js
Currently available in Islamabad
Django is the most battle-tested web framework in Python β and in 2026 it powers Instagram, Pinterest, Disqus, Mozilla, Eventbrite, and thousands of SaaS products and enterprise applications worldwide. Its "batteries-included" philosophy means authentication, admin, ORM, migrations, caching, and security come built-in, letting teams move from idea to production faster than almost any other stack. Paired with Next.js 15 on the frontend, you get a clean separation between a powerful Python API backend and a modern, performant React frontend.
This course teaches Django as senior Python engineers use it in production β Django REST Framework for RESTful APIs, Strawberry for GraphQL, Celery for background tasks, Django Channels for real-time features, and a PostgreSQL data layer with carefully optimised queries. The Next.js frontend consumes the Django API with full TypeScript type safety, shared validation, and a polished deployment pipeline.
π‘ Why Django + Next.js in 2026
- Django's ORM, migrations, admin panel, and built-in security save weeks of setup time β the most productive Python backend framework for building full-featured applications
- Django REST Framework (DRF) remains the industry standard for building Python REST APIs β mature, well-documented, and supported by a vast ecosystem of extensions
- Python's dominance in data science and AI makes Django the natural choice when a web application needs to sit alongside ML models, data pipelines, or LLM integrations
- Next.js 15 App Router with React Server Components is the most capable frontend framework available β server-side rendering, streaming, and static generation in one cohesive system
- Strong remote demand: Django engineers with modern REST API and Next.js skills are highly sought after at international product companies and agencies
- The Python ecosystem in 2026 has expanded dramatically β FastAPI, Litestar, and Django Ninja offer compelling alternatives that this course covers as optional add-ons
π Module Breakdown
Week 1 β Phase 0: Python 3.12+ & Django Foundations
This phase is not a Python introduction. It covers the modern Python language features that Django production code depends on, and Django's architecture from the ground up β the parts that most tutorial courses skip over.
- Python 3.12+ features in production: type hints everywhere, TypedDict, Protocol, dataclasses, structural pattern matching, and the walrus operator
- Type annotations in depth: generics with typing.Generic, Self type, ParamSpec, TypeVarTuple, and annotating complex data structures
- Pydantic v2: the fastest Python data validation library β models, validators, computed fields, model serialisation, and integration with Django
- Async Python: asyncio fundamentals, async/await, event loops, and understanding where Django's async support fits
- Python packaging with uv: the modern, fast replacement for pip and virtualenv β dependency management in 2026
- pyproject.toml: the standard project configuration file β replacing setup.py and requirements.txt
- Django project structure: apps, settings split by environment, BASE_DIR, and the manage.py commands
- Django settings best practices: django-environ for environment variables, separate dev/staging/prod settings, and SECRET_KEY management
- Django's MVT architecture: models, views, templates, URL dispatcher, and the request/response cycle
- Django apps: the modular app architecture β creating apps, app configs, and AppConfig.ready()
- Django signals: pre_save, post_save, pre_delete, post_delete, and writing custom signals
- Django management commands: writing custom management commands for maintenance tasks and data migrations
- Testing with pytest-django: the pytest integration for Django β fixtures, the Django test client, and database transaction isolation
- factory_boy: generating test data with factory classes β replacing manual fixture files
- Ruff: the Rust-powered Python linter and formatter that replaces flake8, isort, and black in one tool
- mypy with Django stubs: static type checking for Django projects β django-stubs and djangorestframework-stubs
Week 1β2 β Phase 1: Django ORM & Database Layer
Django's ORM is one of the most productive database interfaces in any web framework. This phase covers it in production depth β the patterns that keep queries fast, migrations safe, and data models clean at scale.
- Model design: field types, field options, Meta class, verbose names, and model inheritance (abstract, proxy, multi-table)
- Relationships: ForeignKey, OneToOneField, ManyToManyField β related_name, related_query_name, and the reverse manager
- Custom model managers and querysets: encapsulating common query logic in reusable manager methods
- QuerySet API in depth: filter, exclude, annotate, aggregate, values, values_list, select_related, prefetch_related, defer, only
- The N+1 problem: identifying it with django-debug-toolbar and solving it with select_related and prefetch_related
- F expressions and Q objects: database-level arithmetic, complex filter conditions, and avoiding race conditions
- Annotations and aggregations: Count, Sum, Avg, Min, Max, and custom database expressions
- Raw SQL in Django: Manager.raw(), connection.cursor(), and when raw SQL is the right answer
- Django migrations: creating, squashing, and running migrations β data migrations with RunPython, and handling migration conflicts in teams
- Database transactions: atomic(), select_for_update(), and handling deadlocks
- Soft deletes: implementing deleted_at pattern with a custom manager
- PostgreSQL-specific features with psycopg3: JSONField, ArrayField, HStoreField, and full-text search with SearchVector and SearchQuery
- Django model constraints: UniqueConstraint, CheckConstraint, and database-level data integrity
- Connection pooling with PgBouncer and django-db-geventpool: managing PostgreSQL connections for high-traffic Django applications
- Database performance: EXPLAIN ANALYZE from Django, django-silk for query profiling, and index strategy
Week 2 β Phase 2: Django REST Framework β Building Production APIs
Django REST Framework is the gold standard for Python REST APIs. This phase covers DRF thoroughly β from serialisers and viewsets to authentication, permissions, and the advanced patterns that enterprise APIs require.
- DRF architecture: APIView, GenericAPIView, mixins, and ViewSets β understanding the inheritance hierarchy
- Serialisers: ModelSerializer, Serializer, nested serialisers, SerializerMethodField, and writable nested serialisers
- Serialiser validation: field-level validation, object-level validation, and UniqueTogetherValidator
- Routers: DefaultRouter, SimpleRouter, and custom route definitions with @action
- Filtering: django-filter integration β FilterSet classes, search fields, and ordering fields
- Pagination: PageNumberPagination, LimitOffsetPagination, CursorPagination β and customising page size
- Authentication: SessionAuthentication, TokenAuthentication, and JWT with djangorestframework-simplejwt
- JWT in depth: access tokens, refresh tokens, token rotation, token blacklisting, and custom claims
- Permissions: IsAuthenticated, IsAdminUser, custom permission classes, and object-level permissions
- Throttling: AnonRateThrottle, UserRateThrottle, and custom throttle policies
- API versioning: URL path versioning, namespace versioning, and header versioning in DRF
- Content negotiation: supporting multiple response formats from the same endpoint
- Exception handling: custom exception handlers, consistent error response format, and mapping Django exceptions to HTTP status codes
- drf-spectacular: generating OpenAPI 3 documentation from DRF views β schema customisation and Swagger UI
- django-cors-headers: configuring CORS for the Next.js frontend client
- Testing DRF APIs with pytest-django: APIClient, force_authenticate(), and testing every endpoint
Week 2β3 β Phase 3: GraphQL with Strawberry & Advanced API Patterns
GraphQL is increasingly used alongside REST in Python backends β particularly for data-heavy frontends that need flexible querying. Strawberry is the modern, type-annotation-first GraphQL library for Python, replacing the older Graphene library.
- GraphQL fundamentals for backend engineers: schema definition, queries, mutations, subscriptions, and the N+1 problem
- Strawberry: the Python-first GraphQL library using dataclasses and type annotations β no more string-based schemas
- Strawberry types: @strawberry.type, @strawberry.input, @strawberry.enum, and @strawberry.interface
- Resolvers: field resolvers, root value resolvers, and the info object for accessing request context
- Django integration: strawberry-graphql-django for generating types and resolvers from Django models
- DataLoader: the solution to the N+1 problem in GraphQL β batching and caching database lookups per request
- Authentication in Strawberry: accessing the Django request and validating JWT tokens in GraphQL resolvers
- Permissions in Strawberry: the @strawberry.permission_class decorator for field and type-level authorisation
- Mutations: creating, updating, and deleting data through GraphQL β input validation and error handling
- GraphQL subscriptions with Django Channels: real-time data over WebSockets from a Strawberry subscription
- File uploads in GraphQL: the multipart request spec and handling file uploads in Strawberry
- Relay-style pagination: cursor-based pagination with the Connection type β the standard for paginating large datasets in GraphQL
- Testing Strawberry GraphQL: using the Strawberry test client for unit testing resolvers and integration testing queries
- REST vs GraphQL decision framework: when to expose REST endpoints, when GraphQL adds value, and running both from the same Django project
Week 3 β Phase 4: Authentication, Authorisation & Security
Production Django applications require multi-layered security. This phase covers the full authentication and authorisation stack β from social login to fine-grained object permissions to security hardening.
- Django authentication system: the User model, AbstractUser vs AbstractBaseUser, custom user models, and the authentication backend
- django-allauth: the comprehensive authentication package β email/password, social OAuth (Google, GitHub, Apple), email verification, and password reset
- djangorestframework-simplejwt: JWT authentication for DRF β access/refresh token flow, token claims, and blacklisting
- Social authentication for APIs: connecting OAuth providers to a DRF API consumed by Next.js
- Role-based access control: django-guardian for per-object permissions, and building a custom RBAC system with Django groups
- Row-level security: filtering querysets based on the authenticated user β the ownership pattern in Django
- Multi-factor authentication: TOTP-based 2FA with django-otp and QR code generation
- API key authentication: generating and managing long-lived API keys for programmatic access
- Django security checklist: DEBUG=False enforcement, ALLOWED_HOSTS, HTTPS settings, CSRF, clickjacking protection, and security middleware
- SQL injection prevention: Django ORM parameterisation and safe raw query patterns
- django-axes: login attempt throttling and brute force protection
- Content Security Policy: django-csp for setting CSP headers on API responses
Week 3β4 β Phase 5: Next.js 15 Frontend
The Next.js frontend consumes the Django REST Framework and GraphQL APIs β with TypeScript type safety, auto-generated API clients, and the full App Router architecture.
Next.js 15 App Router:
- App Router architecture: server components, client components, layouts, loading states, and error boundaries
- TypeScript API client generation from the drf-spectacular OpenAPI spec using openapi-typescript β shared types between Django and Next.js
- Data fetching in server components: async/await directly in components, fetch with cache options, and revalidation
- TanStack Query for client-side data: fetching, caching, background refetch, and optimistic updates against the Django API
- Apollo Client for GraphQL: connecting to the Strawberry Django API from Next.js β queries, mutations, and subscriptions
- Authentication with NextAuth.js v5: credentials provider connecting to Django JWT, session management, and protected routes
- Next.js Middleware: edge authentication guards and redirecting unauthenticated users
- Server Actions for mutations: calling Django API endpoints from Server Actions β progressive enhancement
- Form handling: React Hook Form with Zod validation, sharing validation logic with Pydantic schemas where possible
UI and advanced Next.js:
- Tailwind CSS v4: utility-first styling, the new CSS-based configuration, and component variants with cva()
- shadcn/ui: accessible, unstyled component library built on Radix UI β the standard Next.js component system
- TanStack Table: server-side sorted, filtered, and paginated data tables backed by DRF's pagination and filtering
- Real-time with Django Channels: consuming Django WebSocket connections from Next.js client components
- File uploads: drag-and-drop UI with progress tracking connecting to the Django file upload endpoint
- Internationalisation with next-intl: multi-language Next.js applications backed by Django's translation framework
- Metadata API: dynamic SEO from server components β Open Graph, Twitter cards, and JSON-LD structured data
- Playwright E2E testing: full browser tests covering the complete Django + Next.js stack
Week 4β5 β Phase 6: Celery, Channels, Caching & Production Readiness
The final phase covers the production infrastructure that takes a Django application from working locally to running reliably under real traffic β asynchronous task processing, real-time features, caching strategy, observability, and deployment.
Celery β asynchronous task processing:
- Celery architecture: workers, brokers (Redis, RabbitMQ), result backends, and the task lifecycle
- Defining tasks: @shared_task, @app.task, task options (retry, max_retries, countdown, eta)
- Task chaining: chain(), group(), chord(), and canvas primitives for complex task workflows
- Periodic tasks with Celery Beat: cron-style scheduled tasks and dynamic schedule management with django-celery-beat
- Celery Flower: the real-time monitoring dashboard for Celery workers and tasks
- Error handling in Celery: automatic retries, exponential backoff, dead-letter handling, and task failure notifications
- Task priority queues: routing tasks to dedicated workers for SLA-sensitive workloads
Django Channels β real-time features:
- Django Channels architecture: ASGI server (Daphne / Uvicorn), channel layers, consumers, and routing
- WebSocket consumers: AsyncWebsocketConsumer β connect, receive, send, and disconnect lifecycle
- Channel layers with Redis: broadcasting messages to groups of connected clients
- Authentication in Channels: authenticating WebSocket connections using JWT tokens in the query string or headers
- Real-time notifications: pushing database changes to connected Next.js clients via WebSockets
- GraphQL subscriptions over WebSockets: Strawberry subscriptions with Django Channels transport
- Presence tracking: tracking which users are online with channel groups and Redis
Caching:
- Django cache framework: the cache API, cache backends (Redis, Memcached, database), and cache key versioning
- django-redis: the Redis cache backend for Django β cache configuration, connection pooling, and serialisation options
- Per-view caching: @cache_page decorator and cache_control headers
- Low-level cache API: cache.get(), cache.set(), cache.delete(), cache.get_many() for granular caching
- Cache invalidation patterns: cache.delete_pattern(), cache tagging with django-cache-memoize, and event-driven invalidation
- DRF response caching: caching serialised API responses with cache decorators and conditional request support
Observability and performance:
- Structured logging with structlog: JSON log output, bound loggers, processors, and context variables
- Django Debug Toolbar: local development profiling β SQL queries, cache hits, template rendering times
- django-silk: profiling request/response cycles and SQL queries in staging environments
- OpenTelemetry Python SDK: automatic instrumentation for Django, DRF, Celery, and SQLAlchemy β exporting to Jaeger or Tempo
- Sentry for Django: error tracking, performance monitoring, and release tracking
- Health check endpoints: django-health-check for database, cache, Celery worker, and storage health β Kubernetes probe integration
Deployment:
- ASGI deployment: running Django with Uvicorn + Gunicorn for both HTTP and WebSocket support
- Docker for Django: multi-stage Dockerfile β separate images for web, Celery worker, and Celery Beat scheduler
- Docker Compose: full local stack β Django, Next.js, PostgreSQL, Redis, Celery, Flower, and Nginx
- Static files and media: WhiteNoise for serving static files, and S3-compatible storage for user-uploaded media
- Django deployment checklist: collectstatic, ALLOWED_HOSTS, SECRET_KEY rotation, database connection pooling, and HTTPS enforcement
- GitHub Actions CI/CD: Ruff, mypy, pytest, Next.js build, Docker push, and deployment pipeline
π Optional Add-On Modules
(2 weeks each β additional fee per module. Can be taken individually or combined.)
Add-On 1: AWS Deployment Track
Deploy Django and Next.js across the AWS ecosystem β containerised ECS deployments, managed databases, S3 storage, SQS queues, and full CI/CD automation.
- ECS Fargate: containerised Django on managed container infrastructure β separate task definitions for web (Uvicorn), Celery worker, and Celery Beat
- AWS RDS (PostgreSQL): managed database β connection configuration with psycopg3, read replicas, and automated backups
- ElastiCache (Redis): managed Redis for Celery broker, Django cache, and Django Channels layer
- Amazon SQS: Celery broker configuration for SQS β task routing, visibility timeout, and dead-letter queues
- AWS S3 with django-storages: replacing local media storage β the DEFAULT_FILE_STORAGE and STATICFILES_STORAGE settings, presigned URLs
- AWS SES: Django email backend for transactional email via SES
- AWS Lambda for Django: Mangum adapter for running Django ASGI on Lambda β use cases and limitations
- Next.js on AWS: OpenNext adapter for Lambda + CloudFront β full App Router support
- Application Load Balancer: load balancing across multiple Django containers with health check endpoints
- CloudFront: CDN for Next.js assets and Django static files β cache headers and invalidation strategy
- AWS Secrets Manager: injecting Django SECRET_KEY and database credentials into ECS task environment
- Infrastructure as Code with AWS CDK (Python): provisioning the entire stack in Python β the most natural IaC language for Django teams
- GitHub Actions: run Ruff, mypy, pytest, push Docker images to ECR, deploy new task definitions to ECS
- CloudWatch: structlog JSON log ingestion, custom metrics, and alarms for Celery queue depth and error rates
Add-On 2: Google Cloud Deployment Track
Deploy Django and Next.js on Google Cloud β Cloud Run for the web layer, Cloud SQL for managed PostgreSQL, and the full GCP data ecosystem.
- Cloud Run with Django: containerised Uvicorn + Django on Cloud Run β handling stateless execution and WebSocket limitations
- Cloud Run Jobs: running Celery workers and management commands as Cloud Run Jobs
- Cloud SQL (PostgreSQL): managed PostgreSQL with Cloud SQL Auth Proxy for secure connections
- Memorystore (Redis): managed Redis for Celery and Django cache
- Cloud Storage with django-storages: GCS backend for Django media and static files
- Cloud Tasks: Django Celery alternative for serverless task execution β pushing tasks to Cloud Tasks HTTP targets
- Cloud Pub/Sub: event-driven messaging for Django microservices on GCP
- Secret Manager: loading Django settings from GCP Secret Manager via the google-cloud-secret-manager client
- Next.js on Cloud Run: containerised Next.js server deployment
- Terraform on GCP: provisioning Cloud Run services, Cloud SQL, Memorystore, and networking
- Cloud Build: CI/CD β Ruff, pytest, Docker build, push to Artifact Registry, deploy to Cloud Run
- Cloud Monitoring: OpenTelemetry exporter for GCP, custom metrics, and uptime checks for Django health endpoints
Add-On 3: Azure Deployment Track
Deploy Django on Microsoft Azure β for teams working with enterprise clients standardised on Azure or building applications within the Microsoft ecosystem.
- Azure Container Apps: serverless Django containers β separate apps for web, Celery worker, and scheduler
- Azure Database for PostgreSQL: managed PostgreSQL with flexible server and connection pooling
- Azure Cache for Redis: managed Redis for Celery and Django Channels layer
- Azure Service Bus: Celery broker for Azure β queues and topics with Django Celery integration
- Azure Blob Storage with django-storages: the Azure storage backend for Django media files
- Azure Container Registry (ACR): storing Django and Next.js Docker images
- Azure Key Vault: secrets management for Django β DATABASE_URL, SECRET_KEY, and API keys
- Azure Static Web Apps: deploying Next.js with the Azure Next.js runtime
- Infrastructure with Bicep: provisioning Container Apps, databases, Redis, and storage
- Azure DevOps Pipelines: CI/CD for Django + Next.js β lint, type check, test, build, and deploy
- Azure Monitor and Application Insights: OpenTelemetry integration, distributed tracing, and performance dashboards
Add-On 4: AI Integration Track
Django's position in the Python ecosystem makes it the natural home for AI-powered web applications. This add-on integrates LLM APIs, RAG pipelines, and vector search directly into Django β using Celery for background AI processing and the Django ORM for storing AI artefacts.
- LLM APIs from Django: OpenAI, Anthropic, and Google Gemini using the official Python SDKs from Django views and Celery tasks
- Streaming LLM responses from Django to Next.js: Django StreamingHttpResponse with SSE β token-by-token streaming from a DRF endpoint
- Structured output from LLMs: parsing model responses into Pydantic v2 models with validation
- Celery-based AI processing: offloading LLM API calls to background workers β non-blocking AI features for web requests
- Embeddings in Django: generating embeddings via OpenAI or sentence-transformers and storing in PostgreSQL
- pgvector with Django: django-pgvector for storing and querying vector embeddings with the Django ORM
- Building a RAG pipeline in Django: document ingestion as Celery tasks, chunking, embedding, pgvector storage, and retrieval in DRF views
- LangChain with Django: using LangChain's Django-compatible components for orchestrating complex AI workflows
- LlamaIndex with Django: document indexing and query engines backed by Django models and PostgreSQL
- AI-powered Django Admin: adding LLM-powered features to the Django admin β content generation, summarisation, and semantic search
- Rate limiting and cost control: per-user token budgets tracked in the Django ORM, Redis-based rate limits on AI endpoints
- Caching LLM responses: Django cache backend for storing and retrieving LLM completions for identical requests
- Testing AI features: mocking LLM API calls in pytest-django tests β deterministic, fast test suites without real API calls
Add-On 5: FastAPI Alternative Track
FastAPI is the fastest-growing Python web framework in 2026 β and for many use cases it is now the better choice over Django REST Framework. This add-on teaches FastAPI as a production backend framework in its own right, covering when to migrate from Django to FastAPI and when to run both side by side.
- FastAPI architecture: ASGI-native, dependency injection, automatic OpenAPI generation, and the Starlette foundation
- Path operations: GET, POST, PUT, PATCH, DELETE β route parameters, query parameters, request bodies, and response models
- Pydantic v2 integration: request validation, response serialisation, and computed fields β FastAPI's native validation layer
- Dependency injection: FastAPI's powerful DI system β declaring dependencies, sub-dependencies, and scoped dependencies (per-request database sessions)
- SQLAlchemy 2.0 async with FastAPI: the async ORM session, declarative models, and Alembic for migrations β the production alternative to Django ORM
- Alembic migrations: versioned schema management β autogenerate, upgrade, and downgrade commands
- Authentication in FastAPI: OAuth2 password bearer, JWT with python-jose or PyJWT, and the security dependency pattern
- Background tasks: FastAPI's built-in BackgroundTasks for simple async work β and when to reach for Celery instead
- WebSockets in FastAPI: the native WebSocket endpoint β real-time features without Django Channels
- Server-Sent Events: streaming responses for real-time LLM output and progress updates
- Testing FastAPI: the TestClient and AsyncClient β testing with a real database via testcontainers
- Django vs FastAPI decision framework: startup time, team size, admin requirements, async needs, and performance benchmarks
- Running FastAPI alongside Django: separate microservices β Django for the admin/CMS, FastAPI for the high-performance API layer
- Migrating a DRF endpoint to FastAPI: a practical migration walkthrough with shared Pydantic models
Add-On 6: Modern Python API Frameworks β Litestar & Django Ninja Track
Two other Python API frameworks have gained significant traction in 2025β2026: Django Ninja for teams that want FastAPI-style type safety without leaving Django, and Litestar (formerly Starlite) as a high-performance ASGI framework that competes with and often outperforms FastAPI. This add-on covers both.
Django Ninja (Week 1 of this add-on):
- Django Ninja architecture: FastAPI-style decorators built on top of Django β keeping the Django ORM and admin, gaining type-safe APIs
- Router and API class: defining endpoints with @api.get, @api.post, @api.put, @api.delete
- Schema classes: Pydantic v2-based request and response schemas β direct replacement for DRF serialisers
- Path, query, and body parameters: auto-parsed and validated by Pydantic v2
- Django Ninja authentication: JWT, API key, and session-based auth as injected dependencies
- Async views in Django Ninja: writing async endpoint handlers that use Django's async ORM support
- File uploads in Django Ninja: the UploadedFile type and handling multipart requests
- Pagination in Django Ninja: built-in paginator classes and cursor pagination
- Auto-generated OpenAPI: Swagger UI and Redoc from Django Ninja's schema with zero configuration
- Testing Django Ninja: the TestClient and async test patterns with pytest-django
- Django Ninja vs DRF: when to migrate, when to run both, and when DRF's maturity wins
Litestar (Week 2 of this add-on):
- Litestar architecture: a batteries-included ASGI framework with a clean, opinionated design β built for high performance and developer experience
- Route handlers: @get, @post, @put, @patch, @delete decorators with full type inference
- Dependency injection: Litestar's powerful DI system β Provide, dependencies scope, and testing injection
- DTOs (Data Transfer Objects): Litestar's first-class DTO system β DataclassDTO, MsgspecDTO, and PydanticDTO for request/response transformation
- SQLAlchemy plugin: first-class SQLAlchemy 2.0 integration β session management, repository pattern, and async support
- Authentication and authorisation: the AbstractAuthenticationMiddleware and guard system
- WebSockets and SSE: native async WebSocket handlers and Server-Sent Events in Litestar
- Caching: the built-in response cache with configurable backends
- OpenAPI: auto-generated, fully configurable OpenAPI 3.1 documentation
- Litestar vs FastAPI: performance benchmarks, DX comparison, and the cases where Litestar wins
- When to choose Litestar over FastAPI or Django: the decision framework for 2026
π Schedule & Timings
Choose one group only based on your availability. Max 5 candidates per group to ensure individual attention and hands-on support.
Weekday Groups:
- Group 1: MonβWed, 10 AM β 1 PM
- Group 2: MonβWed, 4 PM β 7 PM
Weekend Groups:
- Group 3: Sat & Sun, 10 AM β 2 PM
- Group 4: Sat & Sun, 4 PM β 8 PM
π Location: In-house training in Islamabad
π± Online option may be arranged for out-of-city participants
π οΈ Core Tools & Technologies
- Backend: Python 3.12+, Django 5.x, Django REST Framework, Strawberry GraphQL
- Database: PostgreSQL (psycopg3), Django ORM, django-pgvector, Redis (django-redis)
- Auth: djangorestframework-simplejwt, django-allauth, django-guardian
- Async / Real-time: Django Channels, Celery, Celery Beat, Redis channel layer, Daphne / Uvicorn
- API Docs: drf-spectacular (OpenAPI 3), Swagger UI
- Frontend: Next.js 15 App Router, React 19, TypeScript, Tailwind CSS v4, shadcn/ui, TanStack Query, Apollo Client, React Hook Form, NextAuth.js v5
- Testing: pytest-django, factory_boy, Playwright, mypy + django-stubs
- Code Quality: Ruff, mypy, pre-commit
- Observability: structlog, OpenTelemetry Python SDK, Sentry, django-silk
- DevOps: Docker (multi-stage), Docker Compose, GitHub Actions, uv
β Prerequisites
- Comfortable writing Python (functions, classes, decorators, list comprehensions)
- Basic understanding of HTTP, REST APIs, and JSON
- Familiar with SQL and relational database concepts
- Basic JavaScript / TypeScript knowledge helpful for the Next.js section
- No prior Django or Next.js experience required
π― Who This Is For
- Python developers transitioning into full-stack web development
- Data engineers and ML engineers who want to expose models via a web API and frontend
- Developers moving from Flask or older Django versions to modern Django 5.x + DRF
- Engineers targeting remote Python backend or full-stack roles
- Developers building data-driven SaaS products with a Python backend
π³ Course Fee & Booking
- β Core Program Duration: 5 Weeks
- β Each Add-On Module: 2 additional weeks (additional fee per module)
- π¦ Available Add-Ons: AWS Deployment Β· Google Cloud Β· Azure Β· AI Integration Β· FastAPI Alternative Β· Litestar & Django Ninja
- π Seats: 5 only per group