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.exampleto.env:cp .env.example .env
 - Update 
.envwith 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.