BeepZone Inventory System database setup and deployment scripts

UMTS at Teleco a29302a0a7 bruh 11 месяцев назад
backend 8f4e7ae7e0 made it somewhat run on windows kinda 11 месяцев назад
frontend ff187ef944 great 11 месяцев назад
.gitignore ff187ef944 great 11 месяцев назад
README.md a29302a0a7 bruh 11 месяцев назад
WINDOWS.md 9c6d439237 i am tiered 11 месяцев назад
beepzone-helper.ps1 a3ed430f25 slight goofy update 11 месяцев назад
beepzone-helper.sh a3ed430f25 slight goofy update 11 месяцев назад
run-client.sh b51d33cb37 committing to insanit 11 месяцев назад
run-seckelapi.sh b51d33cb37 committing to insanit 11 месяцев назад

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