Skip to main content
Build a lightweight task management app using Composer, Flask, and SQLite. Track tasks—create, assign, update status—without extra overhead.

Table of Contents

  1. Clone the Repository
  2. Define the Project in Composer
  3. Composer Output Overview
  4. Review the Database Schema
  5. Quick Project Structure
  6. Key Application Code (app.py)
  7. Install & Run
  8. Inspect with DB Browser
  9. Use the Task Manager
  10. Conclusion & References

1. Cloning the Repository

Start by cloning a new, empty GitHub repo into your workspace.
The image shows a software interface with options to open a project, clone a repository, or connect via SSH. A cursor is hovering over the "Clone repo" button.
Select your destination folder (e.g., projects/KodeKloud/task-manager) and open it:
The image shows a computer file browser window with folders and files displayed, including a highlighted folder named "jeremy" under the year 2024. The interface includes options for selecting a repository destination.
We’ll commit all changes with Git as we proceed.

2. Defining the Project with Composer

Open Composer (⌘L / Ctrl+L). Craft a precise prompt so the LLM generates only what you need: Flask + SQLite, raw SQL, no JS frameworks.
The image shows a text editor with a project objective to create a task management application using Flask and SQLite, detailing features like user authentication and task assignment.

Prompt Highlights

  • Objective: Proof-of-concept task manager using Flask & SQLite3.
  • Features:
    • Username/password authentication (Werkzeug hashing).
    • Task CRUD: create, assign, update status (Not started, In progress, Complete, Blocked, Closed).
    • List tasks with filters by status or assignee.
    • Jinja2 HTML/CSS templates (no React/Angular).
  • Requirements:
    • Python 3.13+ & virtual environment
    • Single or minimal tables (no migrations)
    • Self-hosted development setup
Use strong hashing algorithms (e.g., werkzeug.security) and rotate your SECRET_KEY in production.

3. Prompt Details and Composer Output

Select your model (we used Cloud 3.7 Sonnet). Composer generates:
  • schema.sql
  • app.py
  • templates/ (base.html, login.html, register.html, dashboard.html)
  • static/style.css
  • requirements.txt
The image shows a text editor with a list of requirements for a project, including using Python 3.13, Flask for front-end templates, and SQLite for data storage.
The image shows a text interface outlining the functionality of a task management application, including user account creation, task management, and main view features.
The image shows a dark-themed interface with text instructions for a task management application using Flask. It includes guidelines for displaying tasks, using basic HTML/CSS templates, and deployment in a self-hosted environment.
After confirming, Composer scaffolds your project:
The image shows a code editor with a project structure for a Flask task management application, including details about the main application, database schema, static files, HTML templates, and project dependencies.

4. Reviewing the Database Schema

Open schema.sql to inspect users and tasks tables:

5. Quick Project Structure

6. Key Application Code (app.py)

7. Installing & Running

8. Inspecting with DB Browser

After initialization, open the SQLite file in DB Browser for SQLite to verify your tables.
The image shows a screenshot of a code editor with a file directory on the left and a DB Browser for SQLite window open, displaying options for database management.

9. Using the Task Manager

Browse to http://127.0.0.1:5000/ to see the login screen:
The image shows a web browser displaying a "Task Manager" login page with fields for username and password, alongside a code editor with project files open.
  1. Register a new user
  2. Create & assign tasks
The image shows a "Task Manager" web application interface where a user can create a new task by entering details such as title, description, assignee, and status. The interface also includes options to filter tasks by status and assignee.
  1. View, update, filter, or delete tasks:
The image shows a task management dashboard in a web browser, where users can create and filter tasks. It includes fields for task details and a list of existing tasks with options to edit or delete them.

10. Conclusion & References

Key Takeaways
  • Prompt specificity drives accurate LLM output.
  • Model quality (e.g., Cloud 3.7 Sonnet) matters for code generation.

Further Reading

Watch Video