# 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](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 (more complete) 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: ```bash ./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