A backend-focused note management system for creating, tagging, and retrieving structured notes. Built in Python with SQLite persistence, emphasizing relational data modeling, maintainable service-layer design, and efficient search/filter workflows.
- Create, view, update, and delete notes
- Tag notes using a many-to-many relationship (notes ↔ tags)
- Search notes by keyword (title/content)
- Filter notes by tag
- Persistent storage using SQLite
knowledge_system/cli.py— CLI entry point and command routingknowledge_system/services.py— core business logic (CRUD + tagging)knowledge_system/search.py— keyword search logicknowledge_system/db.py— database schema + transaction handlingknowledge_system/models.py— typed note objectsknowledge_system/utils.py— tag normalization helpers
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt