A simple yet powerful Notes Manager built using Python.
This project demonstrates the evolution from a basic class-based application to a fully functional command-line tool using argparse.
- Add, view, edit, and delete notes
- Persistent storage using JSON
- Automatic backup on file corruption
- Logging of all operations
- Clean and minimal CLI experience
- Support for custom file paths (v2)
Located in: v1_class_based/
- Interactive terminal-based program
- Menu-driven interface
- Uses classes for structure
- Basic note management functionality
Located in: v2_argparse_based/
-
Fully command-line based (no menu)
-
Uses
argparsefor commands -
Supports:
- add
- view
- delete
- edit
- delete-all
-
Logging + backup handling
-
Custom file support using
--file
Notes_Manager/
├── v1_class_based/
│ ├── notes_manager
│ ├── notes.json
│ └── notes.log
│
├── v2_argparse_based/
│ └── notes_terminal
│
└── README.md
git clone https://github.com/Lavanya-GOW/Notes-Manager-CLI.git
cd Notes_ManagerNavigate to CLI version:
cd v2_argparse_basedpython notes_terminal add "Your note here"python notes_terminal viewpython notes_terminal delete 1python notes_terminal edit 1 "Updated note"python notes_terminal delete-allpython notes_terminal --file my_notes.json viewpython notes_terminal --version- Python
- JSON (data storage)
- argparse (CLI handling)
- logging (tracking operations)
- 🔍 Search notes
- 🏷️ Add tags/categories
- ⏱️ Add timestamps
- 📤 Export notes
Feel free to fork this repository and improve it.
This project is open-source and free to use.