Demo 6: Building the Complete Multi-Blueprint Application
Watch a complete walkthrough of building all four blueprints (Tickers, Weather, Movies, Chatbot) in one Flask application with API integration.
Demo Objectives
- See the complete application structure with all four blueprints
- Understand how blueprints are registered and organized in app.py
- Watch live demonstrations of all four features working together
- Learn troubleshooting techniques when APIs don't work as expected
- Observe proper project organization and file structure
- See the application with your name in the header and Module 6 branding
Watch: Module 6 Demo - Four Blueprint Application Walkthrough
Step-by-Step Demonstration
Step 1: Demo Application Overview
This demo shows a complete Flask application with four blueprints:
- Tickers Blueprint: Add and track stock prices (e.g., VTSAX)
- Weather Blueprint: Track city temperatures (e.g., Macon, Georgia)
- Movies Blueprint: Manage movie database with OMDB (e.g., Dances with Wolves)
- Chatbot Blueprint: AI-powered Q&A with Groq (e.g., "When is Christmas?")
Step 2: Application Features Demonstrated
Header & Navigation:
- Your name displayed in the header
- "Module 6" branding clearly visible
- Navigation links to Home, About, Tickers, Weather, Movies, Chatbot
- Professional footer
Stock Tickers Feature:
- Add ticker symbol (VTSAX), name (Total Stock), initial price ($1)
- Click "Update Price" to fetch live stock price from API
- Ticker ID auto-increments automatically
- Display all tickers in organized table
Weather Tracker Feature:
- Add city (Macon) and state (Georgia) with initial temp (15°)
- Click "Update Weather" to fetch current temperature
- Live temperature updates from weather API (e.g., 82°)
- Display weather for multiple cities
Step 3: Movies & Chatbot Features
Movies Database Feature:
- Add movie by title only ("Dances with Wolves")
- Click "Fetch Data" to populate from OMDB API
- Automatically fills: Director (Kevin Costner), year, plot, poster image
- View detailed movie page with images and information
- Edit movie details if needed
- Delete movies from database
Note: The demo mentions this feature can be "a little bit buggy" - this is normal when working with external APIs that may have incomplete data.
AI Chatbot Feature:
- Ask a question: "When is Christmas this year?"
- Send question to Groq API
- Receive AI-generated response: "Christmas is on December 25th. So it's on a Monday."
- Response displays immediately on the page
Step 4: Project Structure
The demo application follows this structure:
your-repo/
├── app.py # Main Flask app, registers all blueprints
├── database.db # SQLite database
├── .env # API keys (never commit!)
├── .gitignore # Excludes .env, database, etc.
├── requirements.txt # Python dependencies
├── templates/
│ ├── base.html # Base template with header/footer
│ ├── index.html # Home page
│ ├── about.html # About page (optional)
│ ├── tickers.html # Tickers page
│ ├── weather.html # Weather page
│ ├── movies.html # Movies list page
│ ├── movie_view.html # Individual movie view
│ ├── movie_edit.html # Movie edit page
│ └── chatbot.html # Chatbot page
└── blueprints/
├── tickers.py
├── weather.py
├── movies.py
└── chatbot.pyNote: All templates are in the main templates/ folder, NOT in subfolders.
Step 5: Key Takeaways from Demo
- Organization: Each feature is isolated in its own blueprint
- Templates: All templates in one main templates folder (no subfolders)
- API Integration: Each blueprint uses a different external API
- Error Handling: Gracefully handle API failures and edge cases
- User Experience: Clean navigation, clear branding, professional layout
- Database: Auto-incrementing IDs, proper data persistence
Step 6: What You'll Build
By following this demo and completing the duplication assignment, you'll create a production-ready Flask application that demonstrates:
- ✓ Professional Flask blueprint architecture
- ✓ Integration with 4+ external APIs
- ✓ Full CRUD operations (Create, Read, Update, Delete)
- ✓ Database management with SQLite
- ✓ Secure API key management
- ✓ Error handling and user feedback
- ✓ Responsive Bootstrap 5 UI
This project showcases real-world development skills that employers value!