ronpel88 /
simple_todo_app_flask
A simple Todo Application made with Python Flask + CI/CD using AWS, Jenkins, Docker, Ansible
Loading repository data…
SkorpionG / repository
A simple todo list app with full CRUD capability, powered by Flask and SQLite
To run the application, follow these steps:
Clone the repository to your local machine.
Install Python 3.x and pip if you haven't already.
Optional: Install the uv Python package manager (see installation guide)
Install the required libraries by running:
pip install -r requirements.txt
If you are using uv, you can install dependencies and set up the environment by running:
uv sync
Setting up the database by running the following command:
python db.py
or
uv run db.py
Run the app by running the following command:
uv run poe dev
(Alternatively, run python app.py or uv run app.py)
This project uses Ruff for linting and formatting (ESLint/Prettier equivalent), and mypy for type checking. You can run these tasks using uv run poe <command>:
| Command | Description |
|---|---|
uv run poe check | Run all checks (linting + type checking) |
uv run poe typecheck | Run mypy type checking |
uv run poe lint | Run ruff linting |
uv run poe format | Run ruff formatting |
uv run poe dev | Start the development server |
uv run poe db-init | Auto-initialize the database |
uv run poe db-reset | Reset the database (wipes all data) |
This project is a simple todo app that allow users to create, organize, and track their todo tasks. The user has the option of creating a new account if they don't already have one, or to login with their existing account before they can create or manage their task. After logging in, the user will be redirected to the dashboard page. This page will show tasks that are due within a week. In this app, the user can create new tasks and customize it by:
Beside the above properties of a task, the app will record the created time and last modified time of the task. These properties will remain editable throughout the entire lifetime of the task until deleted by the user. In addition, the user will have the ability to sort tasks by priority, status, due date, and created time, as well as filter tasks by priority, status, created time, tags, and by user search. The user also can organize tasks by creating tags. Each task can be associated with multiple tags, and one tag can be associated with multiple tasks. The user can customize a tag by:
Lastly, the app provides a setting page where the user can modify their account settings, including username, email address, password. In the same page, the user can delete their account after entering their current password and confirm the action.
The majority of the code associated with the frontend is located within the "static" and "templates" directories. The "templates" directory is where all the HTML and Jinja templates are located. Within this directory, there are several and html files for different purposes:
Inside the "static" folder is where all the CSS and JavaScript code is located. Some of the files inside the "css" folder are associated with a particular html template, while others are for application-wide styling. For example, the "flash-messages" css file is required in order to style the "flash-messages" html macro. The same idea applies to the js files inside the "js" folder, where "flash-messages.js" is required add interactivity to flash messages. Some files, like styles.scss and script.js are associated with the entire application, whereas others are for a specific component/template. The assets folder is where all the image assets is stored, such as website logo.
Most of the python files outside both the "static" and "templates" folders are associated with with the application's backend logic. What each files does are the follow:
Inside the database.db, there are 3 tables that are responsible for storing user data, which are the users table, tasks table, tags table, and task_tags table.
Before running the application, be sure to install all the required libraries and run db.py to initialize the database.
Selected from shared topics, language and repository description—not editorial ratings.
ronpel88 /
A simple Todo Application made with Python Flask + CI/CD using AWS, Jenkins, Docker, Ansible
PrathameshDhande22 /
Flask Todo App is a simple yet powerful task management application built using Flask and Python. With this app, you can easily add and organize your todos by providing a title and description for each task. The app includes robust error handling to ensure a seamless user experience.
mhmtarik /
SImple ToDo app made with Python and Flask
cgungaloo /
A simple front end for the to do python flask application
Birendra7 /
A simple, user-friendly web application built with Flask to manage your daily tasks efficiently. This app includes features to add, update, delete, and view todos, along with pages for an about section, a privacy policy, and a blog.
sudo-arash /
A simple, yet powerful TODO list application using Flask and HTMX that features many things!