Windows-specific setup instructions for BeepZone Inventory System using PowerShell.
install these tools (download from official websites, winget is unreliable):
-
Podman Desktop (for containers)
- download from: https://podman-desktop.io/downloads
- includes podman CLI and WSL2 machine
- after install, open Podman Desktop and initialize the machine
- you will have to enable wsl and virtual machine platform run the following in an admin cmd window :
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- then reboot your computer and continue with podman initial setup
-
Rust & Cargo (for building binaries)
- download rustup from: https://rustup.rs/
- run the installer and follow prompts and install the basic visual studio (not vs code) stuff and complete the rust setup in the cmd window
- after cmd rust stuff is installed open Visual Studio Installer via Windows menu
- select modify
- make sure "Desktop Developement with C++" and "Linux, Mac, and Embedded Developement with C++" are checked
- press the modify button with windows shield of deceipt
- restart terminal after installation
-
Git (for cloning repositories)
- download from: https://git-scm.com/download/win
- use default settings during installation other than default editor ... i recommend nano as vim is for more advanded linux nerds id say
-
MariaDB Client (for database access)
- download from: https://mariadb.org/download/
- during install make sure to not install database instance lol unless you want to run a database on your laptop
- script auto-detects at:
C:\Program Files\MariaDB *\bin\mysql.exe
- open PowerShell in the BeepZone directory
- allow script execution (one-time):
powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
- run the helper script:
powershell
.\beepzone-helper.ps1
provides an interactive menu 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 as a podman container
- uses proper port mapping 5777:5777 and host gateway for db access
- auto-configures database connection settings
- compiling the desktop client natively on Windows
- produces native .exe binary for Windows
-
configure & run mariadb container
- set database credentials
- creates and starts mariadb:12 container
- exposes port 3306
-
import database schema
- choose between:
- full dump (includes live dev sample data, admin:admin123 are the logins btw)
- clean schema (empty tables)
- automatically creates database and imports
-
create admin user & role (if starting from empty database)
- create a role with power level 100 (admin)
- create your first adminier user
- experience me compiling a fucking bcrypt tool that ive embedded into the powershell code because windows is stinky and wont let me encrypt the passwords for use in the db bruh
-
setup SeckelAPI backend
- automatically clones SeckelAPI source from https://git.teleco.ch/crt/seckelapi.git
- auto updates config for container networking (once, after that it dont for some reason on my computer)
- builds container image and starts on port 5777
-
build desktop client
- clones client source from https://git.teleco.ch/crt/beepzone-client-egui-emo.git
- compiles native Windows binary with cargo
- executable location: frontend\desktop-client\sources\target\release\ (ignore the debug terminal that opens along with the app, will be removed someday tm)