Skip to content

Lavanya-GOW/Notes-Manager-CLI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📝 Notes Manager CLI

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.


🚀 Features

  • 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)

📦 Versions

🔹 v1 - Class-Based Version

Located in: v1_class_based/

  • Interactive terminal-based program
  • Menu-driven interface
  • Uses classes for structure
  • Basic note management functionality

🔹 v2 - CLI Version (Argparse)

Located in: v2_argparse_based/

  • Fully command-line based (no menu)

  • Uses argparse for commands

  • Supports:

    • add
    • view
    • delete
    • edit
    • delete-all
  • Logging + backup handling

  • Custom file support using --file


📂 Project Structure

Notes_Manager/
├── v1_class_based/
│   ├── notes_manager
│   ├── notes.json
│   └── notes.log
│
├── v2_argparse_based/
│   └── notes_terminal
│
└── README.md

⚙️ Installation

git clone https://github.com/Lavanya-GOW/Notes-Manager-CLI.git
cd Notes_Manager

🧪 Usage (v2 CLI Version)

Navigate to CLI version:

cd v2_argparse_based

➕ Add a Note

python notes_terminal add "Your note here"

📄 View Notes

python notes_terminal view

❌ Delete a Note

python notes_terminal delete 1

✏️ Edit a Note

python notes_terminal edit 1 "Updated note"

🗑️ Delete All Notes

python notes_terminal delete-all

⚙️ Optional Arguments

Use a custom file

python notes_terminal --file my_notes.json view

Show version

python notes_terminal --version

🛠️ Tech Stack

  • Python
  • JSON (data storage)
  • argparse (CLI handling)
  • logging (tracking operations)

📌 Future Improvements

  • 🔍 Search notes
  • 🏷️ Add tags/categories
  • ⏱️ Add timestamps
  • 📤 Export notes

🤝 Contributing

Feel free to fork this repository and improve it.


📄 License

This project is open-source and free to use.

About

A Python CLI Notes Manager with logging, JSON storage, and multiple implementations (class-based and argparse).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages