A simple and modern Todo application built with Flask and SQLite, with Docker support for easy deployment.
- Create, read, update, and delete todos
- Mark todos as complete/incomplete
- Modern UI with Tailwind CSS
- RESTful API endpoints
- SQLite database for persistence
- Docker support for containerized deployment
- Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows, use: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Run the application:
python app.py- Open your browser and navigate to:
http://localhost:5000
- Build the Docker image:
docker build -t flask-todo-app .- Run the container:
docker run -p 5000:5000 flask-todo-app- Access the application at:
http://localhost:5000
.
├── app.py # Main application file
├── requirements.txt # Python dependencies
├── templates/ # HTML templates
├── instance/ # Database and configuration files
├── dockerfile # Docker configuration
└── README.md # Project documentation
GET /api/todos- Get all todosPOST /api/todos- Create a new todoPUT /api/todos/<id>- Update a todoDELETE /api/todos/<id>- Delete a todo
- Flask - Web framework
- SQLAlchemy - Database ORM
- SQLite - Database
- Tailwind CSS - Styling
- JavaScript (Vanilla) - Frontend interactivity
- Docker - Containerization
Feel free to submit issues and enhancement requests!