An open API service indexing awesome lists of open source software.

https://github.com/cachapa/tudo_server

A simple to-do app server
https://github.com/cachapa/tudo_server

crdt dart postgresql shelf

Last synced: 12 months ago
JSON representation

A simple to-do app server

Awesome Lists containing this project

README

          

an experiment in simple connected to-do lists.

This project is the server counterpart to the [tudo app](https://github.com/cachapa/tudo).

## Usage

Note that `tudo_server` uses PostgresSQL database to store its data, so make sure you have access to a running instance.

The simplest way to run the program is to run main.dart:

``` shell
$ dart pub get
$ dart bin/main.dart
Serving at http://localhost:8080
```

However, you might prefer to precompile the program into native code, making it much more efficient:

``` shell
$ dart pub get
$ dart compile exe bin/main.dart -o tudo_server
$ ./tudo_server
Serving at http://localhost:8080
```

Run `tudo_server --help` for server configuration options.

### Docker

You can also run `tudo_server` in Docker. The easiest start is to copy the [docker-compose.yml](docker-compose.yml) file into a folder and run `docker compose up`. This will start `tudo_server` and a PostgreSQL database, listening on port 8080. If necessary, update the tag used for the `tudo_server` image to the latest release.

## Hosting

While this project can be hosted from any internet-accessible device, keep in mind:

* It isn't suited for serverless hosting (e.g. Amazon Lambda, Google Cloud Run) since the server uses websockets for long-running sessions
* HTTPS is required as modern Android and iOS versions disallow apps from establishing plaintext connections

## How to contribute

Please file feature requests and bugs at the [issue tracker](https://github.com/cachapa/tudo_server/issues).