Project Overview
A modular Python CLI app that allows users to set reminders in 12-hour format and receive notifications between 5 to 30 minutes in advance. Built using match-case for clean input handling and `datetime`, `time`, and `timedelta` for timing logic. Includes dynamic user interaction, modular codebase for different intervals, and upcoming email alert support.
- Handling time calculations and conversions accurately
- Creating a user-friendly CLI interface
- Implementing flexible reminder intervals
- Managing background notification processes
- Used Python's datetime library for precise time handling
- Implemented a clean CLI with clear prompts and error handling
- Created a modular design for different reminder intervals
- Used threading for background notification processes
Technology Stack
Python
Primary programming language
Datetime
Time handling library
Argparse
Command-line argument parsing
Threading
Concurrent execution
Colorama
Terminal text styling
PyInstaller
Executable packaging
Project Metrics
Lines of Code
Total codebase size
Memory Usage
Runtime memory footprint
Time Accuracy
Reminder timing precision
Commands
Available CLI commands
Development Timeline
Initial idea and planning
Basic reminder functionality
User-friendly command-line interface
Alert delivery mechanism
Creating executable versions
System Architecture
CLI Interface
Handles user input and command processing
Time Calculator
Manages time conversions and calculations
Reminder Manager
Stores and tracks active reminders
Notification Service
Delivers reminder notifications to the user
System Architecture Diagram: Visual representation of the project's components and data flow