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.