Skip to content

lukecarr/tiny-todo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

99 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

tiny-todo

Latest release GitHub workflow status Code Climate maintainability Scrutinizer quality Snyk.io vulnerabilities Matrix License Open issues

A powerful task-management tapp (tiny-app), built using Go and Preact.

  • πŸ‘† Single zero-dependency executable. Following the philosophy of tapps, tiny-todo ships as a single executable with zero dependencies!
  • πŸ’ͺ Fast and lightweight. Designed with performance in mind, targeting subsecond response times.

Installation

Because tiny-todo ships as a single zero-dependency executable, installation is as simple as downloading the latest binary from our releases page for your system of choice.

Docker

We also support Docker as a source for installing and running tiny-todo!

docker run -d -p 3000:3000 ghcr.io/lukecarr/tiny-todo:latest

You can find a list of all image tags here.

CLI

serve

This starts the tiny-todo server.

You might see a warning about "Launching in in-memory mode" when running this command. Please read Data persistence for more information.

migrate

This performs the necessary SQLite migrations.

Data persistence

By default, tiny-todo launches in an "in-memory mode", where data does not persist across restarts.

You should set the SQLITE_DB environment variable to the path of an SQLite .db file (it will be automatically created if missing) so tiny-todo can store persistent data.

Warning message

To ensure that you're aware of tiny-todo's data persistence behaviour, a warning message will be logged on startup if you haven't set the SQLITE_DB environment variable:

11:44AM WRN Launching in in-memory mode as 'SQLITE_DB' environment variable wasn't set. Data will be lost on shutdown! Hint="SQLITE_DB=todo.db ./tiny-todo serve"

Environment variables

ADDR

Indicates the address that tiny-todo will listen on.

By default, this is :3000.

SQLITE_DB

The path of the SQLite database file to use for storing persistent data.

If not set, tiny-todo will launch in an "in-memory mode", and data will not persist across restarts.

LOG_LEVEL

Sets the level of logs that will be displayed when launching tiny-todo.

By default, this is info. It can be one of panic, fatal, error, warn, info, debug, or trace.

DISABLE_IN_MEMORY_WARN

Creating this environment variable (with any value) will disable the in-memory database warning message on startup.

Examples

We curate a multitude of examples for running tiny-todo in the examples directory!

Screenshot

Screenshot

Versioning

tiny-todo uses Semantic Versioning 2.0.0.

License

tiny-todo is distributed under the Apache 2.0 license.