Skip to content

TodoVault is a MVP web app to manage your to-do's and easily share those as unique links

License

Notifications You must be signed in to change notification settings

vault81/todo-vault

Repository files navigation

TodoVault

Build & Test GitHub commit activity Rust Report Card license-badge

Overview

TodoVault is a free and open-source web application designed to manage your to-do lists and facilitate collaboration with others.

Stack

The current stack includes (but is not limited too):

Server System Requirements

  • A somewhat recent linux kernel
  • glibc

These only apply to default build settings. You can compile the c runtime statically (take a look at .cargo/docker-config.toml), to get rid of the runtime dedependency on it. Older systems or different operating systems and architectures may work if you compile yourself and play around with the settings in .cargo/config.toml & Cargo.toml.

Development

Building the App

If you don't have cargo-leptos installed you can install it with

cargo install cargo-leptos

Then run

cargo leptos build

Running your project

Create an empty sqlite3 db file:

sqlite3 ./default.sqlite3 "VACUUM;"

Compile, run & watch for changes:

cargo leptos watch

Deployment

Compiling for Release

cargo leptos build --release

Executing a Server on a Remote Machine Without the Toolchain

After running a cargo leptos build --release the minimum files needed are:

  1. The server binary located in target/server/x86_64-unknown-linux-gnu/release
  2. The site directory and all files within located in target/site
  3. An empty sqlite db file (touching the filename should be enough)

Copy these files to your remote server. The directory structure should be:

server
default.sqlite3
site/

Set the following enviornment variables (updating for your project as needed):

LEPTOS_OUTPUT_NAME="todo-vault"
LEPTOS_SITE_ADDR="127.0.0.1:3000"
LEPTOS_SITE_ROOT="./site"

Finally, run the server binary.

./server

Licensing

TodoVault - Take back your data!
Copyright (C) <2022>  <Tristan Druyen tristan[at]vault81.de>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

About

TodoVault is a MVP web app to manage your to-do's and easily share those as unique links

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published