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.
I'll use a google sheet as database with a single table for todos. The table structure will evolve as I progress:
-
Pass Level:
- Table: todos
- Fields: task (text), date_added (text), status (integer)
-
Merit Level:
- Add fields: category (text), position (integer)
-
Distinction Level:
- Add fields: date_completed (text), priority (integer)
-
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)
- Basic CRUD operations:
-
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
-
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
- Implement advanced task management:
-
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
-
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
-
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.