
Learn to build a full-stack ai e-commerce app with Flutter and Django, featuring onboarding, catalog filtering, image search with vector database, cart, checkout with Stripe, orders, and in-app support chat.
Explore building drf serializers for authentication: user, registration, login, profile, and address, with nested serialization, read-only fields, and email validation.
Implement dio interceptors to inject the access token from shared preferences, handle 401 errors, refresh tokens, queue pending requests during refresh, and retry with an updated token.
Develop and implement a remote data source using the API client to handle register, login, token refresh, profile, and address management, with error handling mapping to app exceptions.
Design a local data source wrapper around shared preferences to persist jwt tokens, a user, and a profile, using abstract interfaces and a concrete implementation with json encoding.
Implement an auth repository that orchestrates remote and local data sources, caches tokens and user data, and handles register and login with server and network error handling.
Learn to build a multi-page onboarding in Flutter with PageView, a page controller, and a slide data model, including skip and next actions and route setup.
Build a Flutter password screen by composing a padded column, creating a circular avatar, and implementing animated password slots with responsive width, color, and border, plus a login flow outline.
Develop and implement drf serializers for category, brand, image, and product variants; build recursive subcategory serialization with product counts, active filtering, and absolute image URLs.
Build a dynamic product list view in a Django API with filtering, sorting, and pagination via query parameters, supporting category, gender, price range, sizes, colors, sale, and featured.
Submit valid product reviews via a Django API with atomic transactions, update average rating and review count, and fetch autocomplete suggestions for products and categories using caching.
Outline a Retrofit-based catalog API client with endpoints for categories, products, search suggestions, filters, wishlist, and reviews, using API endpoints constants, base URL, and path parameters.
Create and manage catalog bloc events to load products with filters and pagination, load categories and category chips, and toggle wishlist items for a Flutter Django ai e-commerce app.
Explains building a single, immutable catalog state in Flutter and Dart using Equatable, with products, categories, wishlist, reviews, filters, and granular loading, pagination, and error flags for a responsive BLoC.
Explore catalog BLoC part 3 with wishlist and review events, including creating product reviews, loading filters metadata, loading search suggestions, and code generation.
Create the Flutter app shell with a bottom navigation bar and persistent tab state using an indexed stack, including home, wishlist, support, cart, and profile screens.
Connects BLoC and loading states on the catalog home screen, managing search, filters, and product loading with refresh and pagination.
Fix product card alignment and implement a recommendation and discover section in the Flutter and Django full-stack AI e-commerce search screen, reusing catalog state.
Build a horizontal categories list with lazy loading in Flutter, using a category card with image or pastel colors, a loading state, and tap to open the product list.
Build a horizontal category list in Flutter by decorating a container with box decoration, border radius, background color, and category image; display category name and product count with navigable subcategories.
Build a categories bottom sheet in Flutter by rendering a decorated container with a network image and category name, expandable subcategories, and apply and reset handlers for selection.
Build a filters bottom sheet in Flutter with a block builder linked to catalog state, rendering a gender section and interactive chips that update filters.
Develop a Flutter product details screen with a hero image and scroll layout, fetch product details and reviews via the catalog block using the route-provided id, and prepare for recommendations.
Explore building a variations bottom sheet to choose color and size for a product, using a show variations sheet flow and passing the selected variant and quantity to the cart.
Explore color options in the Flutter bottom sheet for a full-stack AI e-commerce app. Build a horizontal color list with gesture selection and responsive borders and sizes.
Build a Flutter size guide bottom sheet by styling a container with app colors, border radius, and icons, and display measurements, fit notes, and sizing tips.
design and implement a django-based recommendation system with a cache table for personalized, similar, and trending recommendations, plus product similarity and trending tables with precomputed scores.
build a similar products endpoint with an API view, a recommendation service, and Redis caching to serve vector similarity based results for e-commerce products.
Develop a Django trending products API by filtering items, computing a weighted score from views, wishlists, carts, and purchases, then fetch, sort, cache, and serialize results with category filters.
Combine collaborative filtering with content-based signals to build personalized recommendations by balancing user history and preferred categories, using trending products and fallback logic when history is absent.
Resize images with thumbnail preserving aspect ratio, convert to webp or jpeg via high quality downsampling, store in memory buffers, cache optimized URLs, and deliver responsive image data for frontend.
Build the recommendation data layer by defining a json-serializable recommendation response model with snake-case fields, and implement a retrofit client with endpoints for similar, trending, for you, and refresh recommendations.
Explore building a recommendation BLoC in Flutter, managing loading, loaded, and error states per section: personal, similar, trending, and more.
Synchronize frontend image fields with backend data by updating thumbnail, small, medium, and large urls and mapping them to product cards and image contexts.
Build cart and cart item serializers with nested product variant details and flattened fields. Use serializer method fields to generate absolute image URLs from the request context for front-end consumption.
Learn to manage a shopping cart with add, update, and remove operations using an order service and django rest framework, handling stock checks, serialization, and error responses.
Configure django urls and admin, seed test orders, and implement cart and order endpoints—from get cart to checkout, tracking, and statistics, enabling testing with postman.
Perform Postman testing of order history, order detail, and status endpoints in the Flutter and Django full-stack e-commerce app, validating bearer token access, pagination, shipping address, items, and status updates.
Design and implement cart and order endpoints and a retrofit-based api client, adding, updating, deleting cart items, handling shipping methods, checkout, and order statistics.
Develop remote data source methods for cart and order management, including remove and clear cart, shipping, checkout payload, order tracking, details, cancellation, and statistics with error handling.
Create a single order state class extending equatable to manage cart data, shipping methods, orders, and order detail, with loading flags, error strings, and a copy width for immutability.
Build and refine the cart screen by composing a row and column layout, an address section with styling, an editable icon, and an empty-cart state with prompts to add items.
Learn to build a Flutter cart item card showing product name, variations, and price with a quantity stepper, remove button, and update-item-quantity integration.
Build a Flutter & Django checkout by creating a reusable price breakdown widget with subtotal, shipping, tax, and total, and thoroughly test the checkout flow.
Build a live order tracking screen showing a timeline of events with title, timestamp, date, and location. Test with full testing by simulating cart, checkout, and viewing the tracking timeline.
Build the profile screen part 2 by adding a clickable Settings icon that navigates to Settings, planning for Notifications, and rendering a greetings block in a safe area with slivers.
Test the profile screen by building a reusable my orders section widget with icons, color-coded actions, and navigation to the orders screen.
Build the MyActivity screen with a month selector, a pie chart of category spending, and order totals, loading monthly statistics and showing history.
Build a Flutter donut chart widget to visualize spending by category, mapping API data to category models and calculating totals from order state using a custom painter and colors.
Design Django refund and webhook models to store refund data, status, reasons, and Stripe references, linked to payments, with robust indexing and idempotent webhook tracking.
Learn to handle Stripe webhook events by saving and deduplicating with get or create, then route payment_intent.succeeded to a dedicated handler that updates payments and orders and handles failures.
Implement Stripe webhook handlers for charge succeeded, extracting card last four digits and brand, updating payment and order status, and logging tracking events. Handle refunds with idempotency and status updates.
Implement stripe webhook processing and a refund api for a full-stack e-commerce app, including payment validation, refund creation, and robust http response handling.
Explain Stripe refund creation, updating payment and order statuses, and a payment history view with filtering and pagination for a Flutter and Django e-commerce app.
Explore implementing a payment repository interface with use cases to create payment intents for Stripe, fetch payments by order, paginate payment history, and process full or partial refunds.
Define and implement the payment API client using retrofit, configuring endpoints for create payment intent, get by order, history, and refund with proper paths, queries, and base URL.
Build a payment bloc to handle events and states for creating payment intents, processing stripe payments, loading history, and refunds, with injection and code generation to wire dependencies.
Set up visual search by installing pgvector and clip, enabling the extension in PostgreSQL, creating a vector index on the products table, and integrating embeddings to find similar items.
Generate batch embeddings for a group of images by processing in batches, ensuring RGB formatting, normalizing features, and handling batch errors with a fallback to sequential processing to preserve alignment.
Configure the CLIP model and generate primary image embeddings for products. Implement vector search to fetch similar items, enforce a similarity threshold, and manage caching and configuration in Django.
Test and validate visual search by uploading images and validating vector results, indexing product images with HNSW, testing via Postman, and examining embeddings and performance.
Discover how LangChain and LLMs power a support agent by connecting models to data sources. Learn about chains, memory, agents, and retrieval augmented generation for AI applications.
Defines Django models for chat sessions and messages in a full-stack AI e-commerce app, using UUID keys, session types, JSON context, and user and order relations.
Implement a Django REST framework chat sessions API with a service layer to list and create sessions, including welcome messages based on session type and authenticated access.
Test the support API endpoints for sessions, messages, and WebSocket connections with Postman and token authentication; validate catalog data, serializers, currency, and chat flows.
Develop the Flutter front-end support domain for a full-stack AI e-commerce app, modeling chat session and message entities, product card and variant info, across domain, presentation, and data layers.
Define a support repository interface backed by a REST and WebSocket API, stipulating abstract methods for sessions, session details, feedback, quick replies, and real-time message streams.
Build and connect support use cases for a full-stack AI e-commerce app, including close and create sessions, connect to chat, and fetch quick replies with a lazy singleton repository pattern.
Create product card, message, and quick reply models, annotate as json serializable, map to and from json, and configure keys like available sizes, colors, and in stock.
Explore building a Django notification api with authenticated views for getting user notifications (with unread filtering and pagination), marking as read (single and all), and caching unread counts for performance.
Create notifications atomically with type, title, message, action data, and optional order or product, then check user preferences and quiet hours before queuing a push via Celery and Firebase.
Explore implementing Django pre-save and post-save signals to track order status changes, create idempotent tracking events, update timestamps safely, and trigger notifications using Celery on transaction commit.
Build a notification retrofit api client with endpoint constants, supporting unread counts, mark all as read, per-notification read, delete, preferences, stats, and fcm token updates; register in dependency injection.
Build a Flutter notification screen that attaches a scroll listener, loads notifications from a block, and offers a UI with mark all as red, unread filters, and pull-to-refresh.
Develop a notification card widget that shows an icon by type, a title, a description, and a timestamp, with swipe-to-dismiss and a tap callback using a notification entity.
Implement and test the quiet hours feature in Flutter, updating start and end times, persisting to preferences, and dispatching updates through a BLoC for notification settings.
What You'll Build
You will build a complete, production-ready AI-powered e-commerce application from absolute zero — a fully functional fashion shopping app with a Django REST backend and a Flutter mobile frontend.
This is not a toy project. By the end of this course, you will have shipped a real app with a real backend, real payments, and real AI features that most developers have never built before.
The Tech Stack
Backend (Django)
Django REST Framework with a clean Service Layer architecture
JWT authentication with SimpleJWT (register, login, token refresh, logout)
PostgreSQL with pgvector for AI-powered vector similarity search
Stripe payment processing with webhooks, refunds & payment history
LangChain + LLM for an AI fashion assistant agent
Django Channels + WebSockets for real-time chat
Celery + Redis for async task processing
Firebase Admin SDK for push notifications
Image optimization with WebP conversion and thumbnail generation
Frontend (Flutter)
Clean Architecture — Domain, Data, and Presentation layers fully separated
BLoC pattern for all state management across every feature
Retrofit + Dio for type-safe API communication with JWT interceptors
GetIt + Injectable for dependency injection and code generation
GoRouter for declarative navigation with auth guards
Stripe Flutter SDK with Payment Sheet integration
Firebase Cloud Messaging (FCM) for push notifications
CachedNetworkImage for performance-optimized image loading
Features You'll Build End-to-End
Authentication System Complete user registration, login, JWT token management, profile editing, address CRUD, and FCM device token registration — fully tested with Postman.
Product Catalog Category trees, product listings with filtering by price, gender, size, color and rating, product detail pages with variants, wishlist, and a full review system with ratings. Paginated results with search suggestions and filter metadata.
AI Recommendation Engine Trending products with time-decay scoring, similar product recommendations, collaborative filtering for personalized "For You" sections, and Redis-backed caching with automatic refresh.
Cart & Checkout Session-based cart with add, update, remove and clear. Multi-step checkout with address selection, shipping method selection and order placement with stock deduction in a database transaction.
Orders & Tracking Full order lifecycle management — order history, order detail, live tracking timeline, cancellation, return requests, order statistics with a spending chart, and admin status update simulation.
Stripe Payments PaymentIntent creation, Stripe Payment Sheet in Flutter, webhook handling for success/failure/refund events, partial refunds, and full payment history — all tested end-to-end.
AI Visual Search (CLIP + pgvector) Upload any product image and find visually similar items using OpenAI's CLIP model for image embeddings stored in PostgreSQL with pgvector. Includes HNSW indexing for sub-500ms search performance.
LangChain AI Chat Support Agent A real AI shopping assistant built with LangChain that understands natural language, searches products with hybrid vector + keyword search, looks up orders, and returns product cards inside the chat UI — over WebSockets in real time.
Push Notifications (Firebase FCM + Celery) Order status notifications, price drop alerts, back-in-stock alerts, promotional campaigns, quiet hours settings, per-category notification preferences, and a full notification center with deep-link routing.
Who This Course Is For
Flutter developers who want to go beyond basic apps and build production-grade architecture
Django developers looking to add a mobile frontend and AI features to their skillset
Full-stack developers who want hands-on experience with LangChain, pgvector, and real AI integration
Developers who have done beginner courses and are ready for something that reflects real-world engineering