A clean, beginner‑friendly CRUD app with a bonus Smart Generate feature.
- Create, read, update, delete tasks
- Status (pending/done)
- Quick Suggestion: adds a random productivity task
- Python 3.8+
- Flask (web)
- SQLite (built‑in)
todo_manager_flask/
├─ app/
│ ├─ __init__.py
│ ├─ models.py
│ ├─ routes.py
│ ├─ ai.py
│ ├─ templates/
│ │ ├─ base.html
│ │ └─ index.html
│ └─ static/
│ └─ css/
│ └─ styles.css
├─ instance/
├─ run.py
├─ requirements.txt
└─ README.md
cd todo_manager_flask
py -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python run.pyOpen http://127.0.0.1:5000 in your browser.
### Optional: Enable real OpenAI generation
1) Install the OpenAI package:
```bash
pip install openai
- CRUD: Add, view, update (title/description/status), delete tasks
- List sorted by newest first
- Quick Suggestion (one‑click useful task)
- Smart Generate (N tasks from your goal) with AI fallback
- Bootstrap 5 styling
- The SQLite database file lives at
instance/todo.dband is created automatically. - No migrations needed. Delete
instance/todo.dbto reset data. - For production, set a real
SECRET_KEYinapp/__init__.pyor via env var.
This is a full-stack web application for Iron Lady, a women's leadership development organization. The application features an AI-powered chatbot that helps users learn about Iron Lady's leadership programs and provides guidance. The system combines a React frontend with an Express.js backend, using modern web technologies and UI components.
Preferred communication style: Simple, everyday language.
Tech Stack : React with TypeScript using Vite for build tooling and Node
- Framework: React with TypeScript using Vite for build tooling
- UI Library: shadcn/ui components built on Radix UI primitives
- Styling: Tailwind CSS with CSS variables for theming
- State Management: TanStack Query (React Query) for server state management
- Routing: Wouter for lightweight client-side routing
- Component Structure: Organized into reusable UI components and feature-specific components
- Runtime: Node.js with Express.js framework
- Language: TypeScript with ES modules
- API Design: RESTful API endpoints for chat functionality
- Session Management: UUID-based chat sessions
- Storage Pattern: Interface-based storage with in-memory implementation (MemStorage)
- Development Setup: Integrated Vite development server with hot module replacement
- Database: PostgreSQL with Drizzle ORM for type-safe database operations
- Schema Management: Drizzle Kit for migrations and schema management
- Database Provider: Neon serverless PostgreSQL
- Current Implementation: In-memory storage for development with database schema ready for production
- Chat Interface: Real-time messaging with AI-powered responses
- Program Information: Dedicated sidebar showcasing Iron Lady's three main programs
- Responsive Design: Mobile-first approach with adaptive layouts
- Session Management: Persistent chat sessions with message history
- TypeScript Safety: Shared types between frontend and backend
- Service: OpenAI GPT integration with knowledge base fallback
- Knowledge Base: Static information about Iron Lady programs and mentors
- Response Strategy: Hybrid approach using local knowledge base for quick responses and OpenAI for complex queries
- Context Awareness: Conversation history maintained for contextual responses
- Database: Neon PostgreSQL serverless database
- AI Service: OpenAI API for chat responses
- Build Tools: Vite for frontend bundling and development server
- Package Manager: npm with lock file for consistent builds
- Component Library: Radix UI primitives for accessible components
- Styling Framework: Tailwind CSS for utility-first styling
- Icons: Lucide React for consistent iconography
- Fonts: Google Fonts (Inter, DM Sans, Geist Mono, etc.)
- Type Checking: TypeScript for static type analysis
- Database Tools: Drizzle Kit for schema management and migrations
- Development: Replit-specific plugins for runtime error handling and debugging
- Build Process: ESBuild for server-side bundling in production