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
- Host: GitHub
- URL: https://github.com/cachapa/tudo_server
- Owner: cachapa
- License: apache-2.0
- Created: 2023-07-16T06:29:48.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-03-03T13:54:07.000Z (over 2 years ago)
- Last Synced: 2024-03-03T14:43:59.243Z (over 2 years ago)
- Topics: crdt, dart, postgresql, shelf
- Language: Dart
- Homepage:
- Size: 2.36 MB
- Stars: 8
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
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).