||3 weeks ago|
|data||3 weeks ago|
|static||3 weeks ago|
|templates||3 weeks ago|
|.gitignore||3 weeks ago|
|LICENSE||3 weeks ago|
|README.md||3 weeks ago|
|main.py||3 weeks ago|
|screenshot.jpg||3 weeks ago|
A Flask app that displays recurring tasks, allowing you to mark them as done. Completed tasks will reappear after a specified interval of days.
How to Use
Ensure you have Flask installed in your Python environment.
Running the Application
To run the
neverending-todo-list application, use the following command:
./main.py [--secret SECRET_STRING] [--soon SOON_DAYS]
--secret SECRET_STRING: (Optional) Provide a secret string for minimal security. If set, this string must be included as a query parameter in the URL to access the application.
--soon SOON_DAYS: (Optional) Define how many days are considered 'soon', which affects the color of the task cards. Defaults to 21 days if not specified.
Accessing the Application
- If you started the application with a secret string, navigate to
- If no secret string was provided, simply go to
yourappdomain.com with your server's domain or IP address, and
YOUR_SECRET_STRING with the secret string you used to start the application.
Create data files
You can distribute tasks across multiple
.ini files placed in the
data/ directory. Each file can hold
one or more sections like
There are two types of tasks:
Recurring Tasks: These include activities like haircuts or car oil changes, which, once marked as done, will reappear after a set number of days.
Annual Events: Such as birthdays, these tasks automatically reappear each year.
Each task card requires a title, description, and an image. Be concise with text, as space on the card is limited. Images auto-scale to 250x200px; for optimal performance, use images close to these dimensions. A default "blank.jpg" image is provided.
Task Card Appearance
- White Background: Task is due in the future.
- Yellow Background: Task is due within 3 weeks.
- Red Background: Task is overdue. These remain at the front of the list until marked as done.
To mark a task as done, click on it (after confirmation), and it will be rescheduled based on the
Example Task Format
Recurring Task in
[somethingUniqueForThisFileWithoutSpaces] title = Haircut description = 9mm on the sides, 12mm on top. image = images/haircut.jpg fixed = False lastDate = 2023-11-13 intervalInDays = 60
fixed = Trueto indicate the task repeats annually.
intervalindays = 0as these tasks recur yearly.
lastDate, specify a date to indicate when the event occurs each year. The year part of this
date is not critical, as the application will automatically adjust to show the next occurrence of
the event in the current or following year.
[somethingUniqueForThisFileWithoutSpaces] title = Nils' Birthday description = Born 1983-08-17! image = images/nils.jpg fixed = True lastDate = 1983-08-17 intervalInDays = 0
Adding, Deleting, or Manually Editing Tasks
Create, copy and edit the .ini files using any text editor to add, delete, or manually modify tasks. Ensure the program is stopped before editing and restart it afterward to load changes.