BeepZone Inventory System database setup and deployment scripts

crt a3ed430f25 slight goofy update 11 mēneši atpakaļ
backend 8f4e7ae7e0 made it somewhat run on windows kinda 11 mēneši atpakaļ
frontend ff187ef944 great 11 mēneši atpakaļ
.gitignore ff187ef944 great 11 mēneši atpakaļ
README.md 37e83815f0 whoopsie 11 mēneši atpakaļ
WINDOWS.md 37e83815f0 whoopsie 11 mēneši atpakaļ
beepzone-helper.ps1 a3ed430f25 slight goofy update 11 mēneši atpakaļ
beepzone-helper.sh a3ed430f25 slight goofy update 11 mēneši atpakaļ
run-client.sh b51d33cb37 committing to insanit 11 mēneši atpakaļ
run-seckelapi.sh b51d33cb37 committing to insanit 11 mēneši atpakaļ

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

requirements for script:

  • mac
    • podman installed and configured (podman-desktop recommended for dev work)
    • brew installed
    • mysql-client installed (brew install mysql-client -> script auto detects /opt/homebrew/opt/mysql-client/bin/)
    • rust and tools installed via rustup
    • dialog for TUI (brew install dialog)
  • linux
    • any debian based distro (if not, install dependencies yourself)
    • mariadb-client installed (apt-get install mariadb-client)
    • rust and tools installed via rustup
    • podman installed and configured (podman-desktop recommended for dev work)
    • dialog for TUI (apt-get install dialog)

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

just run the helper script:

./beepzone-helper.sh

it will guide you through:

  1. configuring and running mariadb in podman
  2. importing the database schema (dumped version with all updates)
  3. very basics of managing users and roles (create/delete users/roles with power level 1-100)
  4. setting up SeckelAPI (container deployment recommended)
  5. building the desktop client

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

notes

  • passwords are hashed with bcrypt cost 12 using htpasswd or python bcrypt fallback
  • database config auto-updates when building containers (uses host.containers.internal for db host)
  • native builds use localhost for db access
  • run scripts provided: ./run-seckelapi.sh and ./run-client.sh (execute from sources/ dir)