Welcome to Flask TODO! 🚀 A simple, yet powerful TODO list application using Flask and HTMX that features user authentication, TODO creation and management, and a host of other interactive interface features.
- Register: Create a new account with just your full name. You will receive a unique 16-character key to use for logging in. 🔑
- Login: Access your TODO list effortlessly with your unique key—no email or password needed! ✨
- Add TODOs: Quickly add new tasks to your list. 🆕
- Toggle Completion: Mark TODOs as completed or incomplete with a single click. ✔️❌
- Delete TODOs: Remove tasks from your list easily. 🗑️
- Real-Time Updates: Thanks to HTMX, the TODO list updates dynamically without refreshing the page. 🖥️🔄
Note
There is a small issue and because of that, we need to refresh the page everytime you make a new task. We will be happy to see someone who can fix it! (Read contributing.)
- Python 3.x
- Flask
- Flask-SQLAlchemy
- Flask-Login
- Python-dotenv (for environment variables)
-
Clone the repository:
git clone https://github.com/sudo-arash/flask-todo.git cd flask-todo
-
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
- On Windows:
venv\Scripts\activate
- On macOS/Linux:
source venv/bin/activate
- On Windows:
-
Install dependencies:
pip install -r requirements.txt
-
Set up the environment variables:
- Copy
.env.example
to.env
:cp .env.example .env
- Update
.env
with your own values.
- Copy
-
Initialize the database:
python >>> from app import db >>> db.create_all()
-
Run the application:
python app.py
All that remains now is to open
http://127.0.0.1:5000/
in the web browser of your choice, and voilà! You now have your shiny, new todo application up and running.
Issues and PRs welcome! Also, feel free to open issues or submit pull requests. 🎉
This project is licensed under the MIT License - see the LICENSE file for details.