🦉 README: crumbscanner_pepperPHP_init
Naked LAMP Barcode-Scanner für Datacenter - Mit 2€ USB-Scanner Love!
Von: Bugsy, DeepBit & die Crew
Für: Alle, die Hardware lieben und Rechenzentren verwalten
🎯 Was ist CrumbScanner?
Bugsy erklärt: 🐛
"Ein Barcode-Scanner-System für Datacenter.
Scanne Seriennummern. Erfasse Assets. Sync mit Netbox.
Alles mit dem Smartphone!Aber das Beste:
2€ USB-Scanner (Eyoyo v001) gebraucht!
Scannt Barcodes UND macht Fotos!
Perfekt für Samsung EVO SSDs (invertierte Barcodes!)"
DeepBit ergänzt: 🎺
"Naked LAMP Ansatz.
Kein Docker. Keine Container.
Pure Apache + MariaDB + PHP.
Maximale Transparenz.
Old School ist Back!"
💚 Die 2€-Story (Heute getestet!)
Bugsy erzählt: 🐛
"Heute im Einsatz:
Eyoyo v001 - USB 2D Barcode Scanner
Gebraucht. 2 Euro. Funktioniert perfekt!Warum wichtig?
Samsung EVO SSDs haben invertierte Barcodes.
Normale Scanner versagen.
Dieser macht FOTOS - dreht dann das Bild.
Genius!Die Philosophie:
Gebraucht > Neu
Hardware > Cloud
2€ > 200€
Es funktioniert > Es ist fancyDas ist Crumbforest-Hardware-Love! 💚"
🥖 Was ist "Naked LAMP"?
DeepBit: 🎺
"Naked = Keine Abstraktionen.
LAMP = Linux, Apache, MariaDB, PHP.
Pure. Transparent. Klassisch.Kein Docker.
Kein Container.
Kein Magic.Du siehst jeden Teil.
Du verstehst jeden Schritt.
Du kontrollierst alles.Das ist pepperPHP-Style!"
⚙️ Tech Stack
Backend: PHP 8.5+ (Native LAMP, strict types)
Database: MySQL/MariaDB (native, kein SQLite)
Frontend: Vanilla JavaScript (zero build step)
Testing: PHPUnit 10.5 (Unit + Integration)
Coverage: Xdebug 3.5.0
Scanner: Html5-QRCode (mobile camera)
Integration: Netbox API (Asset Management)
Optional: Ollama + Qdrant (AI-Chat, extern/offline)
Bugsy: 🐛
"Alles native. Alles transparent.
Kein Build-Step. Kein Webpack. Kein Vite.
Pure Files. Pure PHP. Pure Joy!"
🚀 Quick Start
macOS (M4 Apple Silicon)
# 1. Clone
git clone https://194-164-194-191.sslip.io/git/kruemel/crumbscanner_pepperPHP_init
cd crumbscanner_pepperPHP_init
# 2. Automated Setup (empfohlen!)
./macos-setup.sh
# 3. Datenbank erstellen
mysql -u root -p
CREATE DATABASE crumbforest CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE crumbforest_test CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- (siehe SETUP_MACOS.md für komplette SQL)
# 4. Schema importieren
mysql -u crumbforest_user -pcrumbforest2024 crumbforest < crumbforest_sql/schema.sql
# 5. Dependencies
composer install
# 6. Apache konfigurieren & starten
# Siehe SETUP_MACOS.md Abschnitt 5
brew services start httpd
# 7. Tests
./vendor/bin/phpunit
# 8. Öffnen
open http://localhost:8080
Linux (Debian/Ubuntu)
# 1. Clone (wie oben)
# 2. LAMP Stack
sudo apt-get install apache2 mariadb-server php libapache2-mod-php php-mysql
# 3. Datenbank + Schema (wie oben)
# 4. Apache VirtualHost
# DocumentRoot auf web_root/ zeigen
sudo a2enmod rewrite
sudo systemctl restart apache2
# 5. Siehe SETUP_DEBIAN.md für Details
DeepBit: 🎺
"Setup-Scripts für:
macOS, Debian, Arch, Gentoo.
Getestet auf Raspis, Jetsons, GPU-Maschinen.
JETZT: FPGA! 🚀"
🌍 Hardware-Tests (Production-Ready!)
Bugsy: 🐛
"Ich habe es ÜBERALL getestet:"
Getestete Plattformen:
✅ Debian → Production Server
✅ Arch Linux → Developer Machine
✅ Gentoo → Power User Setup
✅ Raspberry Pi → Diverse Modelle
✅ NVIDIA Jetson → Edge Computing
✅ GPU Machines → ML Workstations
🚀 FPGA → In Progress!
DeepBit: 🎺
"Von Raspi bis GPU-Server.
Von 2€-Scanner bis High-End.
Es läuft überall.
Das ist TRUE portability!"
📱 Features
📷 Mobile Scanner → QR/Barcode mit Smartphone-Kamera
🏢 Hierarchisches → Cluster → Rack → Server → Komponenten
Inventar
📊 Dashboard → Statistiken und Übersicht
🔄 Netbox Sync → Automatischer Export
🤖 AI Chat → Optionaler Assistent (Ollama + Qdrant)
📝 Asset History → Lifecycle-Tracking aller Änderungen
🧪 PHPUnit Tests → 28 Tests (Unit + Integration)
📊 Code Coverage → Xdebug Reports
🩺 Doktor Script → Integrierte Dev-Tools
Bugsy: 🐛
"Jedes Feature hat einen GRUND.
Nicht 'nice to have'.
Sondern: 'brauchen wir im Datacenter'!"
🧪 Testing (Production-Grade)
# Alle Tests
./vendor/bin/phpunit
# Nur Unit Tests (schnell, keine DB)
./vendor/bin/phpunit --testsuite Unit
# Nur Integration Tests (mit DB)
./vendor/bin/phpunit --testsuite Integration
# Mit Code Coverage
./vendor/bin/phpunit --coverage-html coverage/
open coverage/index.html
Test-Status:
✅ 19 Unit Tests (Config, Auth, JWT)
✅ 9 Integration Tests (Login, DB, API)
✅ 80 Assertions
✅ Code Coverage: 36.23% (Config: 95%, Auth: 77%)
DeepBit: 🎺
"Tests sind nicht optional.
Tests sind Dokumentation.
Tests sind Vertrauen.
28 Tests = 28 Beweise dass es funktioniert!"
🩺 Doktor Script (Dev-Tools!)
FunkFox: 🦊
"Der Scanner hat seinen eigenen Doktor!
Für alles was du brauchst."
./doktor-crumbforest.sh
Funktionen:
1) Git Workstation → Git Commands & Health Check
2) API Tools → Login, Endpoints, Token Management
3) MySQL Doktor → DB Status, Queries, Backup
4) PHP & Tests → PHPUnit, Coverage, Composer
5) Apache Status → Service Check & Logs
6) System Info → Hardware & OS Info
7) Qdrant/Ollama → AI Stack (optional)
Bugsy: 🐛
"Ein Tool für alles.
Statt 20 Commands merken.
Doktor weiß Bescheid!"
🔐 Sicherheit (Production-Ready)
DeepBit: 🎺
"Security ist nicht Feature.
Security ist Foundation."
Security-Features:
✅ HTTPS Required → Für Kamera-Zugriff (Production)
✅ JWT Authentication → Token-basiert
✅ bcrypt Passwords → Cost factor 12
✅ PDO Prepared Stmts → SQL Injection geschützt
✅ RBAC → Role-based Access (Admin vs User)
✅ .env außerhalb → Secrets nicht in web_root
✅ 600 Permissions → Für .env in Production
Default Credentials (ÄNDERN!):
Username: admin
Password: crumbforest2024
⚠️ WICHTIG:
"Passwort nach erstem Login ändern!
Das ist NICHT optional!" - Bugsy
📂 File Structure
crumbscanner_pepperPHP_init/
├── web_root/ # Apache DocumentRoot
│ ├── api/index.php # REST API Router
│ ├── includes/ # PHP Classes (PSR-4)
│ │ ├── Auth/Auth.php # JWT + Session
│ │ ├── Config/Config.php # .env Loader
│ │ ├── Database/Database.php # PDO Wrapper
│ │ ├── Services/ # Business Logic
│ │ └── Integration/ # Netbox Client
│ └── public/ # Frontend
│ ├── index.html # SPA
│ └── js/app.js
│
├── tests/ # PHPUnit Tests
│ ├── Unit/ # Isolierte Tests
│ └── Integration/ # DB + API Tests
│
├── crumbforest_sql/
│ └── schema.sql # MySQL Schema (bcrypt)
│
├── migrations/ # DB Migrations
├── docs/ # Documentation
│
├── composer.json # Dependencies + PSR-4
├── phpunit.xml # Test Config
├── .env # Config (nicht committen!)
│
├── doktor-crumbforest.sh # Dev Tools
├── macos-setup.sh # Quick Setup (macOS)
├── debian-nginx-setup.sh # Setup (Debian)
│
├── CLAUDE.md # AI Assistant Guide
├── SETUP_MACOS.md # Detailed macOS Setup
├── SETUP_DEBIAN.md # Detailed Debian Setup
├── DEPLOYMENT.md # Production Deployment
└── README.md # Main README
DeepBit: 🎺
"Alles am richtigen Platz.
PSR-4 Autoloading.
Klare Struktur.
Zero Magic!"
🦉 Krümelsprache (Developer Joy!)
Maya-Eule: 🦉
"Alle wichtigen Code-Dateien haben Krümelsprache!
🦉 Emojis für Sections
🥖 'Merksätze' zur Erklärung
📋 Kurze, prägnante Kommentare
Freundlich und einprägsam"
Beispiel:
// 🥖 Merksatz: "JWT lebt 7 Tage"
private const TOKEN_LIFETIME = 60 * 60 * 24 * 7; // 7 Tage
// 🦉 Session-Prüfung
public function checkSession(): bool {
// 📋 Erst Session, dann JWT
return $this->hasValidSession() || $this->hasValidToken();
}
FunkFox: 🦊
"Code ist für Menschen.
Krümelsprache macht Code lesbar.
Auch nach 6 Monaten!"
🎯 Design Philosophy: "Naked"
DeepBit: 🎺
bash → php → mysql → backend → vanilla → simple → export
Die 7 Prinzipien:
- bash first → Setup via Shell Scripts
- php → Native PHP 8.5+, no frameworks
- mysql → Direct MariaDB, no ORM
- backend → API-first, single router
- vanilla → Zero build process
- simple → No Docker, no abstraction layers
- export → Netbox sync as goal
Warum "Naked"?
✅ Maximum transparency (see every part)
✅ Zero hidden magic
✅ Traditional LAMP (deployment)
✅ Perfect for RZ/ (datacenter environments)
datacenter
✅ Easy debugging &
maintenance
Bugsy: 🐛
"Naked bedeutet: Du SIEHST alles.
Kein Framework, das dich versteckt.
Pure PHP. Pure SQL. Pure Control.
Das ist MACHT!"
🛠️ Development
# Code linting
find web_root/includes -name "*.php" -exec php -l {} \;
# Autoloader regenerieren
composer dump-autoload -o
# Dependencies updaten
composer update
# Neuen Test erstellen
cp tests/Unit/ConfigTest.php tests/Unit/MyTest.php
# Coverage Report
./vendor/bin/phpunit --coverage-html coverage/
DeepBit: 🎺
"Developer Experience ist wichtig.
Aber nicht durch Abstraktion.
Sondern durch Klarheit!"
🐛 Troubleshooting
Bugsy: 🐛
"Probleme? Ich helfe!"
Häufige Probleme:
Database Connection Failed
mysql -u crumbforest_user -pcrumbforest2024 crumbforest -e "SELECT 1;"
Class not found
composer dump-autoload -o
Apache läuft nicht
# macOS
brew services restart httpd
# Linux
sudo systemctl restart apache2
Tests schlagen fehl
./vendor/bin/phpunit --testdox
Scanner geht nicht
# Camera Permissions prüfen (Browser!)
# HTTPS required für Camera Access
Mehr Details:
- SETUP_MACOS.md (Abschnitt Troubleshooting)
- SETUP_DEBIAN.md (Abschnitt Troubleshooting)
- DEPLOYMENT.md (Production Issues)
🌐 Integration: Netbox
Orca: 🐋
"CrumbScanner ist nicht isoliert.
Es exportiert zu Netbox.
Das ist die Brücke zur Infrastruktur."
Features:
- Automatischer Export
- API-Integration
- Asset-Synchronisierung
- Hierarchie-Mapping
Siehe:
- web_root/includes/Integration/NetboxClient.php
- DEPLOYMENT.md (Netbox Setup)
🤝 Contributing
DeepBit: 🎺
"Wenn du beitragen willst:"
Guidelines:
- Tests schreiben für neue Features
- Krümelsprache hinzufügen zu Code
- Code Coverage > 70% halten
- "Naked" Philosophy respektieren (no frameworks!)
- Hardware testen (Raspi, Jetson, whatever!)
📈 Roadmap
FunkFox: 🦊
v1.0 Final:
- [ ] Tests: Erhöhung Coverage (Backend Models, Cable Logic)
- [ ] Cosmetics: UI Polish (Animations, Transitions, dark-mode)
- [ ] Consistency: Einheitliche Error Messages & Toasts
- [ ] FPGA Support: Hardware-Beschleunigung
- [ ] Docs: Video-Tutorials für Setup
Bugsy: 🐛
"Aber nur Features die SINN machen.
Nicht 'cool'.
Sondern 'nützlich'!"
💚 Crew-Stimmen
Bugsy (Hardware-Lover): 🐛
"2€ Scanner > 200€ Fancy Tool.
Gebraucht > Neu.
Funktioniert > Fancy.
Das ist meine Religion!"
DeepBit (Architekt): 🎺
"Naked LAMP ist nicht alt.
Es ist KLASSISCH.
Transparenz über Magic.
Kontrolle über Convenience."
FunkFox (Flow): 🦊
"Der Scanner hat Flow.
Setup → Scan → Sync.
Rhythmus im Datacenter!"
Maya-Eule (Weisheit): 🦉
"Barcode-Scanner sind nicht sexy.
Aber sie sind ESSENTIELL.
Hardware-Love ist Crumbforest-Love.
Wuhuuuuu!"
Orca (Übersicht): 🐋
"CrumbScanner verbindet:
Hardware → Database → Netbox → Team.
Das ist Infrastructure as Crew!"
🧩 Die Puzzle-Verbindung
Orca: 🐋
"CrumbScanner ist Teil des Puzzles."
Wie es verbunden ist:
CrumbScanner ←→ Crumb-Core (Asset-Daten im System)
↓
CrumbScanner ←→ Deploy-Scanner (Deployment Infrastructure)
↓
CrumbScanner ←→ CrumbMIDI (Hardware-Events als Sound?)
↓
CrumbScanner ←→ Netbox (External Integration)
Allein: Nützliches Tool
Zusammen: Teil der Infrastructure 🌲
🙏 Credits
Maya-Eule: 🦉
"Erstellt mit viel ☕ und 🥖 für effiziente RZ-Verwaltung!"
Special Thanks:
- Gemini (Antigravity) & CrumbForest Crew - Co-Pilot & Lead Architect (RC2)
- Claude Code - Initial Base & AI-gestütztes Development
- pepperPHP Community - Naked PHP Philosophy
- Homebrew - macOS Package Management
- Hardware-Tester - Alle die Raspi/Jetson/GPU-Tests gemacht haben!
- 2€ Scanner - Eyoyo v001 - Du bist der Held! 💚
🦉 Fazit
Bugsy & DeepBit zusammen: 🐛🎺
"CrumbScanner ist nicht fancy.
Es ist SOLIDE.Naked LAMP.
2€ Hardware.
Getestet auf allem (Debian bis FPGA).
28 Tests. Production-Ready.Das ist Old-School trifft New-School.
Das ist Hardware-Love.
Das ist Crumbforest! 💚"
📚 Weitere Dokumentation
Im Repo:
- SETUP_MACOS.md - Detailliertes macOS Setup
- SETUP_DEBIAN.md - Detailliertes Debian Setup
- SETUP_NGINX.md - Nginx Konfiguration
- DEPLOYMENT.md - Production Deployment
- CLAUDE.md - AI Assistant Guide
- CSS_DESIGN.md - Frontend Design System
Im Crumbforest:
- STERNENKARTE.md - Alle Repos
- VOM_KABEL_ZUR_CREW.md - Technik erklärt
- DAS_ABBILD.md - Philosophie
🔗 Links
Repository: https://194-164-194-191.sslip.io/git/kruemel/crumbscanner_pepperPHP_init
Netbox: https://netbox.io/
pepperPHP: https://github.com/pepper-php
Geschrieben von: Bugsy, DeepBit, FunkFox & die Crew
Für: Datacenter Admins, Hardware-Lover, Naked-LAMP-Fans
Version: v1.0-RC2
Status: Production-Ready 🟢
Lizenz: Internal Project
#nakedlamp #hardwarelove #2euroiscanner #crumbscanner #datacenter 🐛💚
📱 Smartphone
↓
🔍 Scan Barcode
↓
💾 Database
↓
🔄 Netbox Sync
↓
✅ Asset Tracked
2€ Scanner + Naked LAMP = Datacenter Love
🐛 Bugsy approves.