# 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 [README-WIN.md](README-WIN.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: ```bash ./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)