BeepZone Inventory System database setup and deployment scripts

UMTS at Teleco 7b57e2df69 cleanup time hai 10 meses
backend 7b57e2df69 cleanup time hai 10 meses
frontend ff187ef944 great hai 11 meses
.gitignore 14efd7487c yes? hai 10 meses
README.md a29302a0a7 bruh hai 11 meses
WINDOWS.md 9c6d439237 i am tiered hai 11 meses
beepzone-helper.ps1 6052b9d20b great hai 10 meses
beepzone-helper.sh 7b57e2df69 cleanup time hai 10 meses

README.md

BeepZone Inverory System

Huh so you want to actually try beepzone? (Oh god)

Well then since I have no setup guides tbh I'll provide a bash script here to build and get you started, do not use this in Prod like at all I dont recommend my own software for such things in general tbh.

Windows Users: See WINDOWS.md for Windows specific setup instructions using PowerShell.

Whats in this repository?

  • Database Schema and Dumps from Dev Environement
  • Helper Script to get you started and do some basic user management as no client can do so yet lol

what does the script do ?

helps you get started by priividing an assistive TUI for :

  • running a podman container with mariadb and
    • letting you configure access details
    • importing the schema
    • managing users and roles in the db (create/delete both with bcrypt password hashing)
    • optionally import some seeding data
  • compiling and setting up SeckelAPI to be able to talk with mariadb
    • either as a podman container (recommended, uses proper port mapping 5777:5777 and host gateway for db access)
    • or natively on the system (for dev work)
    • auto-configures database connection settings
  • compiling the desktop client so you can start beepin

someday once i consider em release worthy it will also obviously be able to compile the terminal/kiosk/embedded client aswell as the mobile app

a real installer that is not just a setup bash script is planned but thats far into the future idk when

mac + pinguin requirements

macdonalds operating system:

  • podman installed and configured (podman-desktop recommended for dev work)
  • homebrew installed
  • mysql-client installed (brew install mysql-client -> script auto detects /opt/homebrew/opt/mysql-client/bin/)
  • rust + tools via rustup (https://rustup.rs/)
  • dialog for TUI (brew install dialog)

das linux pinguin:

  • debian/trixie tested
  • mariadb-client installed (sudo apt install mariadb-client)
  • rust + tools via rustup (https://rustup.rs/)
  • podman installed and configured (podman-desktop optional but recommend for dev work yk)
  • dialog for TUI (sudo apt install dialog)

optional but nice:

  • htpasswd (apache2-utils) for bcrypt hashing on linux: sudo apt install apache2-utils
  • python3 + pip install bcrypt as fallback

internet access too obviously to pull em sources : https://git.teleco.ch/crt/beepzone-client-egui-emo.git https://git.teleco.ch/crt/seckelapi.git

how to use (mac + linux)

just run the helper script:

./beepzone-helper.sh

it will guide you through the needed steps kinda:

  1. configure and run mariadb (podman)
    • set db creds
    • start mariadb:12 premio server
    • logs go to /tmp/beepzone-helper.log if the helper script acts goofy
  2. import database schema
    • choose full dev dump (with sample data, login admin:admin123) or clean schema
  3. add admin user and role (if clean schema)
    • create admin role (power 100)
    • create admin user
  4. setup seckelapi (container recommended)
    • port mapping 5777:5777, DB via host.containers.internal
    • auto-updates sources/config/basics.toml [database] section
  5. build desktop client
    • cargo build with live output
    • run via ./run-client.sh because we’re both lazy

the script stores config in .env file and auto detects installed tools in common locations

container stuff

  • mariadb container: exposes port 3306, persists data
  • seckelapi container: uses rust 1.92 + debian trixie, port 5777:5777, connects to mariadb via host.containers.internal
  • both use latest stable base images