Skip to content

Latest commit

 

History

History
86 lines (68 loc) · 3.33 KB

refined-overview.md

File metadata and controls

86 lines (68 loc) · 3.33 KB

Refined Project Overview: Task Tracker CLI Application

Back to README.md

The project aims to create a command-line interface (CLI) todo list application using Python. I'll start with basic functionality to meet pass criteria, then enhance it to achieve merit, and finally add advanced features for distinction.

Data Structure:

I'll use a google sheet as database with a single table for todos. The table structure will evolve as I progress:

  1. Pass Level:

    • Table: todos
    • Fields: task (text), date_added (text), status (integer)
  2. Merit Level:

    • Add fields: category (text), position (integer)
  3. Distinction Level:

    • Add fields: date_completed (text), priority (integer)

Feature Planning:

  1. Pass Level Features:

    • Basic CRUD operations:
      • Add a new todo
      • List all todos
      • Update a todo's status
      • Delete a todo
    • Simple CLI interface using Typer
    • Basic error handling for database operations
    • README.md with basic project description
    • Use Git for version control
    • Deploy to a cloud platform (e.g., Heroku)
  2. Merit Level Features (building on Pass):

    • Enhance data model with categories and position
    • Implement data validation for all inputs
    • Add user feedback for all operations
    • Improve CLI interface with Rich library for better formatting
    • Create flow charts for application logic
    • Implement and document manual testing procedures
    • Enhance README with project rationale and user instructions
    • Improve Git usage with meaningful commit messages
  3. Distinction Level Features (building on Merit):

    • Implement advanced task management:
      • Task prioritization
      • Task categories with color coding
      • Due dates and reminders
    • Add simple analytics (e.g., tasks completed per category, completion rate)
    • Optimize database queries for performance
    • Implement comprehensive error handling and input validation
    • Add unit tests for critical functions
    • Enhance security (e.g., input sanitization, environment variables for sensitive data)
    • Create detailed documentation including setup guide and usage examples
    • Implement data export/import functionality

Implementation Plan:

  1. Pass Level Implementation:

    • Set up basic project structure
    • Implement database connection and basic operations
    • Create simple CLI commands for CRUD operations
    • Write basic error handling
    • Deploy to cloud platform
  2. Merit Level Implementation:

    • Refactor code for better organization
    • Enhance data model and database operations
    • Improve CLI interface with Rich library
    • Implement comprehensive data validation
    • Create project documentation and flow charts
    • Set up and document manual testing procedures
  3. Distinction Level Implementation:

    • Add advanced features (prioritization, categories, due dates)
    • Implement analytics functionality
    • Optimize database operations
    • Write unit tests
    • Enhance security measures
    • Finalize comprehensive documentation

This plan ensures I meet all criteria levels systematically, demonstrating clear progression in coding skills, project management, and attention to user needs. I'll use Conventional Commits throughout the development process to maintain clear version control and project history.

Back to Top