/wg-api

Public Demo of my wg-api project. Usage for your household is fine (even though that might require linux/sql knowledge) but please dont monetize my project (there is no license too sooo it'd be unwise)

Primary LanguageRust

WG API

♻️ REWRITE IN PROGRESS: Dioxus will be replacing React Native as the new Frontend-Framework

INTO A BRIGHT FUTURE- WITH 🦀🦀 FULLSTACK RUST 🦀🦀

Peek into the new design:

image

APi to manage shared costs of your hosehold/community, written in Rust

=> API Documentation

Demo of (Closed Source - React Native) Frontend at: https://wg.kartonrad.de (enter "test", then select a profile and use "test" as a password)

Screenshot 2023-04-11 185142

Screenshot 2023-04-11 193054

grafik

grafik

Screenshot 2023-04-11 135835

Usage/Deploy

  • Download the binary for your system from the releases tab.

  • Download the .env file from this repositiory and place it into the same folder.

  • Set RUST_LOG=info (if you don't want to the logs to get flooded with garbage)

  • Edit HOST, and PORT as needed.

  • Install PostgresSql, create an empty Database, and a role with Password Authentication that can access it (ALL PRIVILEDGES).

  • Set DATABASE_URL to your database url

  • Generate a JWT secret using openssl rand -base64 32 and set it in JWT_SECRET

  • Run the executable (preferably on linux using a systemd service)

  • The program will automatically migrate the database, create an ./uploads and ./uploads/temp directory, and start up on the specified port

  • !!⚠ MAKE SURE to only run wg-api behing NGINX or another reverse proxy, configured to only serve HTTPS with a valid certificate.

  • wg-api DOES NOT handle encryption of the connection!

  • IT DOES however, recieve and process CREDENTIALS and other sensitive data