loft

A minimal, self-hosted web app (with a cloud storage option planned), built as a learning exercise to get more familiar with Axum and Svelte.

Quick start

git clone https://git.stefiosif.dev/stefiosif/loft
cd loft
cp .env.example .env

# Run in Docker (http://localhost:3000):
docker compose up -d

# Run locally (http://localhost:5173):
cp backend/.env.example backend/.env
just db-setup
# inside tmux together frontend and backend
just watch
# or separately
just watch-backend
just watch-frontend

# API docs (Swagger UI, generated with utoipa): http://localhost:3000/swagger-ui

# Run tests:
cp backend/.env.test.example backend/.env.test
just watch-test

Commands

Run just --list to see all recipes.

Description
Self-hosted personal cloud storage.
Readme 1.2 MiB
Languages
Rust 54%
Svelte 29.3%
TypeScript 9.7%
Just 2.6%
CSS 1.8%
Other 2.6%