Refactor: Series A clean structure

This commit is contained in:
2026-02-20 19:43:19 +01:00
parent d6b45cb932
commit 91bbf4b3ba
47 changed files with 1384 additions and 17 deletions

35
docs/CHANGELOG.md Normal file
View File

@@ -0,0 +1,35 @@
# Changelog
## v0.6.0 Beta
- Webbaseret statistikpanel
- UI forbedringer
- Stabilisering
- Forbedret betalingsflow
## v0.5.x
- SUADMIN driftspanel
- Backup automation
- Transaktionsvisning
## v0.4.x
- KlubKort (RFID betalingskort)
## v0.3.x
- Startup script
- Print agent separation
## v0.2.x
- ESC/POS integration
## v0.1.x
- Basal salgsfunktion
## v0.0.1
- Proof of concept

View File

@@ -0,0 +1,37 @@
# GDPR & Data Compliance
Version: v0.6.0 Beta\
Date: 2026-02-20
## Data Types (Typical)
- Transaction data (items, totals, payment method)
- KlubKort account identifiers (card/searchkey) and balance
- Operational logs (system / print agent)
## Processing Purpose
- Completing sales and producing receipts
- Maintaining customer account balance (KlubKort)
- Basic operational auditing and troubleshooting
## Storage & Retention
- Primary storage is local on the terminal
- Hourly backups are created for recovery and reporting
- Retention should be defined per event (recommended: minimum needed
for accounting + troubleshooting)
## Security Controls
- Offline-first design (no public POS exposure required)
- Restricted access to SUADMIN and system accounts
- Physical access control to the terminal is required
- Secure tunnel recommended for backup transfer
## Recommendations for Operators
- Restrict access to the terminal and admin panels
- Keep Windows user accounts protected
- Verify backups before/after events
- Document retention period and deletion procedure

20
docs/RELEASE_STRUCTURE.md Normal file
View File

@@ -0,0 +1,20 @@
# Release Package Structure
Version: v0.6.0 Beta
------------------------------------------------------------------------
## Recommended ZIP Layout
/TuxiNet-Terminal/ │ ├── lanpos/ ├── scripts/ ├── assets/ ├── database/
├── backup/ ├── README.md ├── ROADMAP.md ├── CHANGELOG.md ├──
SECURITY.md ├── RELEASE_NOTES_v0.6.0.md └── Wiki/
------------------------------------------------------------------------
## Deployment Notes
- Extract to target machine
- Verify XAMPP installation
- Confirm printer driver installed
- Run startup script

145
docs/ROADMAP.md Normal file
View File

@@ -0,0 +1,145 @@
# TuxiNet Terminal
## Udviklingsroadmap & Versionshistorik
Dato: 2026-02-20\
Aktuel version: v0.6.0 Beta
------------------------------------------------------------------------
# Introduktion
Dette dokument beskriver udviklingen af TuxiNet Terminal fra første
prototype (v0.0.1) til nuværende beta-version (v0.6.0 Beta).
Systemet er udviklet med fokus på stabil offline-drift, touch-optimering
og event-baseret brug.
------------------------------------------------------------------------
# v0.0.1 -- Proof of Concept
- Simpelt salgsinterface
- Grundlæggende produktvalg
- Lokal database
- Manuel betaling uden print
Formål: Bevise at systemet kunne fungere offline.
------------------------------------------------------------------------
# v0.1.x -- Basis Salgssystem
- Kurv-funktion
- Totalberegning
- Simpel betalingsregistrering
- Første print-integration
Stabil salgsflow etableret.
------------------------------------------------------------------------
# v0.2.x -- Print & Hardware Integration
- ESC/POS printerstyring
- Automatisk åbning af pengeskuffe
- Stabil USB-håndtering
- Fejllogning
Hardware blev fuldt integreret.
------------------------------------------------------------------------
# v0.3.x -- Drift & Autostart
- Startup PowerShell script
- Automatisk opstart af XAMPP
- Kiosk-mode i Chromium
- Print-agent som separat proces
- Log-system
Systemet blev selvkørende ved boot.
------------------------------------------------------------------------
# v0.4.x -- KlubKort (RFID Betalingskort)
- RFID scanning ved betaling
- Konto-baseret saldo
- card = searchkey struktur
- Offline funktionalitet
KlubKort implementeret som betalingsmiddel. Ikke login-system.
------------------------------------------------------------------------
# v0.5.x -- Drift Manager & Backup
- SUADMIN driftspanel
- Print-agent genstart
- Backup-script (hver time)
- Tunnel-baseret datasikring
- Transaktionsvisning mellem datoer
Systemet blev driftsmodent.
------------------------------------------------------------------------
# v0.6.0 Beta -- Statistik & Stabilisering
- Webbaseret statistikpanel
- Salg pr. produkt
- Omsætningsoverblik
- Semi-live synkronisering (1 time)
- Forbedret betalingsflow
- UI-forbedringer
- Stabilitet under høj belastning
Systemet anvendes nu aktivt ved events.
------------------------------------------------------------------------
# Arkitekturudvikling
Fra monolitisk PHP-løsning → Til modulopdelt struktur med:
- Separat Print Agent
- Backup-agent
- SUADMIN kontrolpanel
- Web-statistik backend
------------------------------------------------------------------------
# Hvorfor Beta?
v0.6.0 betegnes Beta fordi:
- Ingen real-time synkronisering endnu
- Ingen multi-terminal support
- Ingen lagerstyring
- UI kan stadig forbedres
Systemet er dog fuldt funktionsdygtigt og stabilt.
------------------------------------------------------------------------
# Næste Milepæl -- v1.0
Planlagte mål:
- Realtids dashboard
- Lagerstyring
- Multi-terminal support
- Central administrationsserver
- Forbedret rapportering
- Versionssigneret release
------------------------------------------------------------------------
# Konklusion
TuxiNet Terminal er udviklet fra en simpel prototype til et stabilt,
event-klart POS-system.
v0.6.0 Beta repræsenterer en moden og driftsklar platform, klar til
videreudvikling mod v1.0.

43
docs/SECURITY.md Normal file
View File

@@ -0,0 +1,43 @@
# Security & Data Handling
Version: v0.6.0 Beta
------------------------------------------------------------------------
## Design Principles
- Offline-first architecture
- No external API dependency required
- Local database storage
- Segmented Print Agent process
------------------------------------------------------------------------
## Data Storage
- Transaction data stored locally
- Backup performed hourly
- No public exposure of POS interface
------------------------------------------------------------------------
## Network
- Optional secure tunnel for backup transfer
- No inbound public access required
------------------------------------------------------------------------
## Access Control
- SUADMIN restricted access
- No public login system
- KlubKort used for payments only
------------------------------------------------------------------------
## Recommendations
- Restrict physical access to terminal
- Secure Windows account
- Regularly verify backups

170
docs/funktioner.md Normal file
View File

@@ -0,0 +1,170 @@
# TuxiNet Terminal
## Funktionsbeskrivelse & Systemarkitektur
Version: 2.0\
Dato: 2026-02-20\
Udviklet af: TuxiNet.dk
------------------------------------------------------------------------
# 1. Systemoversigt
TuxiNet Terminal er et event-optimeret POS-system designet til:
- LAN parties
- Skolefester
- Foreninger
- Midlertidige events
- Offline miljøer
Systemet er bygget med fokus på:
- Offline-first drift
- Touch-optimeret brugerflade
- Stabilitet under høj belastning
- Automatisk backup
- Separat print-agent arkitektur
------------------------------------------------------------------------
# 2. Overordnet Arkitektur
Touchskærm\
→ Chromium (Kiosk Mode)\
→ Apache / XAMPP\
→ LANPOS PHP Backend\
→ Database (SQLite/MySQL)\
→ Print Agent\
→ USB Kvitteringsprinter\
→ Pengeskuffe
------------------------------------------------------------------------
# 3. Kernefunktioner
## Salgsmodul
- Produktkategorier
- Touch-betjening
- Flere varer i kurv
- Slet vare fra kurv
- Automatisk totalberegning
- Numerisk tastatur ved betaling
- Kvitteringsprint
- Automatisk åbning af pengeskuffe
------------------------------------------------------------------------
## Betalingsmetoder
- Kontant
- MobilePay (registreres som Card internt)
- KlubKort (RFID betalingskort)
- Gratis
------------------------------------------------------------------------
## RFID KlubKort Modul
KlubKort fungerer udelukkende som betalingskort.
Det er ikke et login-system og giver ingen rettigheder.
Funktion:
- Scan kort ved betaling
- Kundekonto identificeres
- Saldo vises
- Beløb trækkes
- Transaktion registreres
- Bon kan udskrives
Teknisk:
- card = searchkey
- Ingen session
- Ingen bruger-login
- Offline funktionalitet
------------------------------------------------------------------------
## Print Agent
Separat Windows-agent som:
- Modtager printjobs
- Sender ESC/POS direkte til printer
- Åbner pengeskuffe
- Logger fejl
- Kan genstartes via SUADMIN
------------------------------------------------------------------------
## Webbaseret Statistikpanel
Ekstern webvisning af salgsdata.
Funktioner:
- Total omsætning
- Salg pr. produkt
- Antal solgte enheder
- Betalingsfordeling
- Datofiltrering
Opdatering:
- Synkroniseres én gang i timen
- Semi-live visning
------------------------------------------------------------------------
## Backup Modul
- Automatisk backup hver time
- Sendes via sikker tunnel
- Versionssikret
------------------------------------------------------------------------
## SUADMIN Drift Manager
- Genstart af print agent
- Servicefunktioner
- Systemstatus
- Driftsoverblik
------------------------------------------------------------------------
# 4. Driftstilstande
Normal drift\
Service mode\
Offline mode
------------------------------------------------------------------------
# 5. Hardwarekrav
Minimum:
- 4 GB RAM (8 GB anbefales)
- SSD
- USB kvitteringsprinter (ESC/POS)
- Pengeskuffe via printer
- Touchskærm
------------------------------------------------------------------------
# 6. Moduloversigt
Modul Funktion Kritisk Status
-------------------- -------------------- --------- --------
Salg Håndterer salg Ja Aktiv
Print Agent Udskriver bon Ja Aktiv
Backup Datasikring Ja Aktiv
RFID KlubKort Konto-betaling Ja Aktiv
Web Statistikpanel Omsætningsoversigt Nej Aktiv
SUADMIN Drift kontrol Nej Aktiv
Startup Script Autostart Ja Aktiv

77
docs/manual.md Normal file
View File

@@ -0,0 +1,77 @@
# TuxiNet Terminal
## Brugermanual
Version: 2.0\
Dato: 2026-02-20
------------------------------------------------------------------------
# 1. Opstart
1. Tænd maskinen
2. Systemet starter automatisk
3. Når produktsiden vises er systemet klar
Hvis systemet ikke starter korrekt: Kontakt teknisk ansvarlig.
------------------------------------------------------------------------
# 2. Opret salg
1. Tryk på ønsket produkt
2. Produktet vises i kurven
3. Tilføj flere varer hvis nødvendigt
4. Tryk "Betal"
------------------------------------------------------------------------
# 3. Kontant betaling
1. Tryk "Kontant"
2. Indtast modtaget beløb
3. Byttepenge vises automatisk
4. Bon printes
5. Pengeskuffen åbner
------------------------------------------------------------------------
# 4. MobilePay
1. Tryk "MobilePay"
2. Kunden betaler
3. Bekræft betaling
4. Bon printes
------------------------------------------------------------------------
# 5. Betaling med KlubKort
1. Tryk "Betal"
2. Scan KlubKort
3. Saldo vises
4. Beløb trækkes
5. Bon printes
------------------------------------------------------------------------
# 6. Slet vare
Tryk på "X" ud for varen i kurven.
------------------------------------------------------------------------
# 7. Hvis printer ikke virker
- Tjek papir
- Tjek at printer er tændt
- Kontakt teknisk ansvarlig
------------------------------------------------------------------------
# 8. Lukning
- Luk systemet normalt
- Sluk maskinen
Backup sker automatisk.