NOTECLI is a Python-based Command-Line Interface (CLI) tool that allows users to securely create, read, update, and delete notes from the terminal. It integrates with Auth0 for authentication and MongoDB (via Atlas) as the backend database. Built with Flask, it offers a seamless way to manage your notes from any system.
- ✅ User Authentication using Auth0
- 📓 Create, 📝 Read, ✏️ Update, 🗑️ Delete notes
- ☁️ Cloud-hosted backend using Flask + MongoDB
- 🔐 Secure access with OAuth2 token-based auth
- 🔌 Easily installable globally via PyPI
- 🧪 Testable on any system using
notesclicommands
You can install NOTECLI globally on any system via PyPI:
pip install notescli-toolNote: Make sure Python (>=3.6) and
pipare installed.
NOTECLI uses Auth0 for login. You must log in before using note commands.
notescli login- A browser window will open prompting Auth0 login.
- After login, you'll be asked to paste the token into the terminal.
- The token is securely stored for subsequent operations.
To logout:
notescli logoutTo see the currently authenticated user:
notescli whoaminotescli create- Prompts for note title and content
- Sends data securely to the server
notescli read # Show all your notes
notescli read <note_id> # Show a single note by IDnotescli update <note_id>- Prompts for new title and content
notescli delete <note_id>pip install git+https://github.com/Raaghavi-K-R/Notescli.git- Runs on
Flask(default port5000) - Secured by OAuth2 via Auth0
- Stores notes in MongoDB Atlas
- Each note is associated with a unique Auth0 user ID
Example API endpoints:
GET /notes– get all notesPOST /notes– create a new noteGET /notes/<id>– fetch a specific notePUT /notes/<id>– update a noteDELETE /notes/<id>– delete a note
- All endpoints require a valid Bearer Token
- Tokens are verified against Auth0
- Notes are scoped per user using
user_id
The backend server is deployed on a Microsoft Azure VM at the public IP:
👉 http://13.71.28.224:5000
The server runs on port 5000 and was started using the following command:
nohup python3 app.py --host 0.0.0.0 --port 5000 &This allows the server to run in the background and remain active even after logout.
The client can connect to the backend by pointing to the above IP and port.
Published to PyPI, that can be installed using commad:
pip install notescli-toolThen use it locally:
notescli login
notescli create
notescli read
# etc.View on PyPI: https://pypi.org/project/notescli-tool
Pull requests are welcome. For major changes, please open an issue first to discuss what you'd like to change.
- 📧 Email: krraaghavi@gmail.com
- 💻 GitHub: Raaghavi-K-R
- 🔗 LinkedIn: linkedin.com/in/raaghavi-k-r
- 💻 GitHub: shri210404
✨ Happy Noting with NOTECLI!