Skip to content

My own ToDo lists

Notifications You must be signed in to change notification settings

tempestrock/todos

Repository files navigation

Todo Lists

A small web-based application to manage todo lists.

Table of Contents

What This Is

This is my personal project to handle todo lists. I was unhappy with what was available for free to manage simple todo lists. So I decided to build my own app.

This comes without any warranty. But feel free to fork, copy, or use the source code in any way you want.
If you find any bugs, please let me know.

I am happy to support you in the initial setup but please understand that I won't have a lot of time for code reviews and the like. Instead, I spent some time writing this documentation. I hope you find it useful.

Features

  • See also this little gallery of screenshots.
  • Web-based, mobile-first.
  • An arbitrary number of todo lists can be used. Each list can carry any number of tasks.
  • A list has a number of (hard-coded) board columns. In my case, these are backlog, in progress, and done. Tasks can be moved between the columns. The names and number of board columns should be easy to customize.
  • Tasks can be moved up and down in a column, thereby giving it a priority.
  • Tasks have a title and a detailed text. The detailed text can be written in basic Markdown in order to give it a nicer look and feel. Also links can be added in the text this way.
  • Localization: Currently, English and German are supported. Other languages should be easily addable.
  • Labels:
    • Labels (e.g. something like Bug, Size: S, Size: L, Learn, at home, in the garden, etc.) can be created, edited, and deleted.
    • Labels can be localized, i.e., they switch their names when the language is changed.
    • Tasks can be assigned labels and - the actual main purpose of the existence of labels - filtered according to their labels.
  • Users can be assigned todo lists. Different users can have different sets of lists.
  • Light and dark mode.

Technical basis

  • Remix application using Vite, TypeScript, Tailwind CSS, and pnpm.
  • AWS Cognito for user management.
  • AWS DynamoDB for data storage.
  • Possibility to develop locally (dev), test in a separate environment (uat), and run in "production" (prod).

The initial installation is not fully automated but I hope that this description tells you everything you need.

Some things need to be admninistered manually, e.g. the assignment of users to todo lists or the creation of new todo lists.

In the code, you will find some CUSTOMIZE_ME comments. These are places where you can use values that make sense for your use case.

Architecture

If you are interested in setting up the app on your own machines, the architecture is a good place to start.

Initial Setup of the Local Dev Environment

If you are still interested in setting up the app on your own machines, refer to the hints and scripts on how to initially set your local dev environment up.

Initial Setup of the Prod Environment(s)

Once your local dev environment is up and running, you can take the next step and set up your production machine with the two environments uat and prod.

Maintaining Users and Task Lists

The administration of users and task lists needs to be made directly on the database. There are plans to add some admin UI for that. But for now, you can find more information here.

About

My own ToDo lists

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published