A simple command-line to-do app with user authentication, CRUD operations, and item sharing functionality.
- User Registration & Login: Users can register and log in securely with password hashing.
- To-Do List Management: Create, view, and remove to-do items.
- Item Sharing: Users can share to-do items with others.
- SQLite Database: Data is stored and managed with SQLite using SQLAlchemy.
- Clone this repository:
git clone https://github.com/thtkha/project-todo.git
cd project-todo
- Install dependencies:
make install
- Run the application:
make run
- auth.py: Handles user authentication (register, login).
- database.py: Defines the SQLite database schema (User, Item, UserItem).
- main.py: Entry point to start the app and display the main menu.
- todo.py: Core logic for managing to-do items and interacting with the database.
- todo_commands.py: Command design pattern for managing different user actions.
- 1: Manage notes (view, create, remove)
- 2: Share notes with other users
- 3: Log out
- 4: Exit the app