Video Demo: https://youtu.be/Z6l46ni1Y-g
The Todo App is a simple web application that allows users to create, manage, and track their tasks (todos). It provides basic functionality for user authentication, registration, logging in, updating passwords, and logging out. Users can view their todos, mark them as done, and delete them.
To run the Todo App on your local machine, follow the steps below:
-
Python: Make sure you have Python installed on your system. You can download Python from the official website: Python Downloads.
-
Flask: The Todo App is built using the Flask web framework. Install Flask using the following command:
pip install flask
- SQLite: The app uses SQLite as the database. SQLite usually comes pre-installed with Pyth
- Clone the repository:
git clone https://github.com/your-username/todo-app.git
- Navigate to the project directory:
cd todo-app
- Create a virtual environment (optional but recommended):
python -m venv venv
-
Activate the virtual environment:
- On Windows:
venv\Scripts\activate
- On macOS and Linux:
source venv/bin/activate
-
Install the required dependencies:
pip install -r requirements.txt
- Run the Flask app:
flask run
- Open your web browser and visit http://localhost:5000 to access the Todo App.
The Todo App comes with the following features:
- User registration: New users can create an account to start using the app.
- User login: Registered users can log in to access their todos.
- User authentication: Certain routes require users to be logged in, which is - ensured using the login_required decorator.
- View todos: Logged-in users can view their todos on the homepage.
- Mark as done: Users can mark their todos as done, updating their status.
- Delete todos: Users can delete todos they no longer need.
- Update password: Users can change their account password.
- The Todo App follows a structured folder layout:
├── app.py ├── db.py ├── requirements.txt ├── static/ | ├── icons │ └── styles.css ├── templates/ │ ├── addTodo.html │ ├── index.html │ ├── login.html │ ├── register.html │ └── update-password.html ├── utils/ │ ├── helpers.py │ └── http_code.py ├── models/ | ├── todo.py │ └── user.py ├── routes/ │ ├── __init__.py │ ├── auth_routes.py │ └── todo_routes.py └── database.db
Contributions are welcome! If you find any bugs or have suggestions for improvements, please open an issue or submit a pull request.
The Todo App is open-source and is released under the MIT License. Feel free to use, modify, and distribute it according to the terms of the license.
- The Todo App was inspired by the need for a simple and functional task management tool.
- The Flask web framework and SQLite database made it easy to develop the app quickly and efficiently.