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

View File

@@ -0,0 +1,46 @@
# 🚀 TuxiNet Terminal v0.6.0 Beta
Release Date: 2026-02-20
## Summary
This release marks a stable and event-tested milestone of TuxiNet
Terminal. The system is now production-proven at live events and
includes:
### ✨ Highlights
- Web-based statistics panel
- Semi-live hourly sync
- KlubKort (RFID payment support)
- Stable ESC/POS printing
- Automatic hourly backup
- SUADMIN Drift Manager
------------------------------------------------------------------------
## 🔧 Improvements
- Improved payment flow
- Enhanced print stability
- Backup reliability improvements
- UI optimizations
------------------------------------------------------------------------
## ⚠ Known Limitations
- No real-time dashboard
- No multi-terminal sync
- No inventory management
------------------------------------------------------------------------
## Status
Production-tested at live events. Marked as Beta pending advanced
feature completion.
------------------------------------------------------------------------
Maintained by TuxiNet.dk

View File

@@ -0,0 +1,47 @@
# TuxiNet Terminal -- Release Notes
## v0.6.0 Beta
Release Date: 2026-02-20
------------------------------------------------------------------------
## Overview
v0.6.0 Beta represents a stable and event-ready milestone in the
development of TuxiNet Terminal.
This version introduces the web-based statistics panel and includes
significant stability and usability improvements.
------------------------------------------------------------------------
## New Features
- Web-based statistics panel
- Semi-live hourly synchronization
- Improved payment flow
- Enhanced UI stability
------------------------------------------------------------------------
## Improvements
- Optimized print handling
- Improved backup stability
- Refined KlubKort processing
------------------------------------------------------------------------
## Known Limitations
- No real-time sync
- No multi-terminal support
- No inventory management
------------------------------------------------------------------------
## Status
System is production-tested at live events. Marked as Beta due to
pending advanced features.

View File

@@ -0,0 +1,80 @@
%PDF-1.4
%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
1 0 obj
<<
/F1 2 0 R /F2 3 0 R /F3 4 0 R
>>
endobj
2 0 obj
<<
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
>>
endobj
3 0 obj
<<
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
>>
endobj
4 0 obj
<<
/BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
>>
endobj
5 0 obj
<<
/Contents 9 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 8 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
6 0 obj
<<
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
>>
endobj
7 0 obj
<<
/Author (\(anonymous\)) /CreationDate (D:20260220182739+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260220182739+00'00') /Producer (ReportLab PDF Library - www.reportlab.com)
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
>>
endobj
8 0 obj
<<
/Count 1 /Kids [ 5 0 R ] /Type /Pages
>>
endobj
9 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 570
>>
stream
Gat$u?#Q2d'Re<2\<$%,;!d]IfW;,QF`"^EW\8X;_M*:l+#AY2J%l@Z9LCDVA-lZdmQ&=CCGW2/Yl8ph!7h`ehCr=WU'-in3=pUm0@AeBJfVVu"7R=C"[Nu%"T`cWk]B+uCo!iCN2S_?TVLMZ,<CbJhspdW7&Vo0$Zus,GDJG*$K#OpX2::d**">I(]K+P2W44S$$l\h/b0`gG^5PY92VF<*TnJ#[cLXMXO2ha:S-lThE.<0p'A@pM%?1YA%oXS9nU$>phNotnPe-*n(Bl$&G[YEPg"-886m+K#'0m-Rk9jsR&&(H`)t,<VbCb.)O2"`WMF6ZP(H(u;2h>$g5IM`3KJ%p=T%Q*>b@)(s+U'Tcj9A7>Uumf`EhY+Kh4O66.E,K^(5FfhVT(%^sgQqos"(e,mAIWG-U]JCN9,HQc&^oq<IhUp0j?$i#]<r(g.`%+MtJ:U=Q>uWm)'doD.HJiHV#m&6jR-f%s0iW=X%rauN`TFAF3TK[qh</Onq<9gqc$eC)DHWF^`t]BrsUbe$n+F:/tgVV&<&7Gh$HXc-MRit]r(1JJ)iIfT"C+/A~>endstream
endobj
xref
0 10
0000000000 65535 f
0000000073 00000 n
0000000124 00000 n
0000000231 00000 n
0000000343 00000 n
0000000462 00000 n
0000000665 00000 n
0000000733 00000 n
0000001016 00000 n
0000001075 00000 n
trailer
<<
/ID
[<818fd8c87b724a699fb8b2c8a2cad09b><818fd8c87b724a699fb8b2c8a2cad09b>]
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
/Info 7 0 R
/Root 6 0 R
/Size 10
>>
startxref
1735
%%EOF

View File

@@ -0,0 +1,74 @@
%PDF-1.4
%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
1 0 obj
<<
/F1 2 0 R /F2 3 0 R
>>
endobj
2 0 obj
<<
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
>>
endobj
3 0 obj
<<
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
>>
endobj
4 0 obj
<<
/Contents 8 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 7 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
5 0 obj
<<
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
>>
endobj
6 0 obj
<<
/Author (\(anonymous\)) /CreationDate (D:20260220155639+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260220155639+00'00') /Producer (ReportLab PDF Library - www.reportlab.com)
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
>>
endobj
7 0 obj
<<
/Count 1 /Kids [ 4 0 R ] /Type /Pages
>>
endobj
8 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 645
>>
stream
GasJO_/>`-&;KY&MZ;o45[!A3:2dD+St[WMkq,f?L;@[.]4?,jbM.4VLlG]N23K8uI/eRMK*>_u7/rh.^cKHTY6#n6>!OX5"k!Y2VmEk#(n\HDiFX7-e`q=s"<YS\J_eV='o+aQCQ;"0<Zrqa6I7i3J#c*18BKFTb6lQeZGc^%[)Yri[tMAq-*$e?$L'4>+%#L9I%:VK=Y^>S*F4TuE:e=R,]7rXdAunF`^0"J+/.CN/X:s9Q[iduV)14-P)pQP/$FnT.#c-b=DRV&D]s65du]idms=LIl`Y3h]/Wt`1"PFIo+e'6'GT8^%TndL#UrhsSb#gUDB5eAWl'S26BkuX,eRit&k[MVL!8bJ1/EXX%4aKF6\I?],\30[bic);ntW_B'DPLZVm:@n@qh?BjEL[%T0Y'8Op<c'EL%p6Xif:/JhJ>'kmj;j;YM'O\X&"qKGn>f$`^?Y=56O#:%7HSNs<lDIP3:>1:\koAsdu@795],1VQr)j:+C5NAWe#9er"HehVSh)q[&FXZ&*bYRF;^lt\YD>WK?o:0P.f=b*>P.ZWIC4>#I,'H":ujf`=/)d_\\gsp&M>lG^Y%D[T6>.b+]Ja_Y<SqUWd4HXb&THiqnD70#<rO:/WpojW60`F^"qZGO7;P=~>endstream
endobj
xref
0 9
0000000000 65535 f
0000000073 00000 n
0000000114 00000 n
0000000221 00000 n
0000000333 00000 n
0000000536 00000 n
0000000604 00000 n
0000000887 00000 n
0000000946 00000 n
trailer
<<
/ID
[<ca22c7f94de37247b7759d3b658ebdf3><ca22c7f94de37247b7759d3b658ebdf3>]
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
/Info 6 0 R
/Root 5 0 R
/Size 9
>>
startxref
1681
%%EOF

View File

@@ -0,0 +1,99 @@
%PDF-1.4
%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
1 0 obj
<<
/F1 2 0 R /F2 3 0 R /F3 4 0 R
>>
endobj
2 0 obj
<<
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
>>
endobj
3 0 obj
<<
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
>>
endobj
4 0 obj
<<
/BaseFont /Symbol /Name /F3 /Subtype /Type1 /Type /Font
>>
endobj
5 0 obj
<<
/Contents 10 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 9 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
6 0 obj
<<
/Contents 11 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 9 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
7 0 obj
<<
/PageMode /UseNone /Pages 9 0 R /Type /Catalog
>>
endobj
8 0 obj
<<
/Author (\(anonymous\)) /CreationDate (D:20260220155753+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260220155753+00'00') /Producer (ReportLab PDF Library - www.reportlab.com)
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
>>
endobj
9 0 obj
<<
/Count 2 /Kids [ 5 0 R 6 0 R ] /Type /Pages
>>
endobj
10 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1206
>>
stream
Gat=*9lo;R&A@7.oJ*rm*)$:l84$4Das=k7Cs=$`,&A.(O_mRRR<X2Z[KIk/njeh:M?:9!qrr7tCCtOU6gT#["5GHcqOR\\YfM@iNXq%$E4<@PGsV.B7PR:pET23_UB_]BCJ_&>oHeG7cnWR;'M*%,;/-/<0'ZO.bV^r]b!j/-+0bMN(4Vb]J)f^%(/.Nu=\_Y!r,*DWi7kTV(;T[Pd!W_h>epqC6eJtFkdYTL2=&-mqQpook71sp4"SIRCU*6I+:d2?ntaiGb@+`?3E&X*#WHqDFq=Ze&e9F7IOg<)P(9K]'u7;kd%d[9lADJnq`9LlA3)5@%OnU"WkbP-&'?GeU>V]S'Po4od*3<dAQha(%YqT*.P\R`\lS_9USj3<KiY%7(a\8_=Z/:;"(#et.LYj[Er)^?6I0X5W!LJ6l+D==#B!2R@<.%0(Bba?IKp-;GVbmpO0VO3n5*f$16um`#d3X0O)Oui6+FCopquK&Q+<i7GSF`^Ek_RgPGd+#I((bmB@A.c/:$2Vi3WB[9X?%G5&oMK'%f:0'm@iq>j&WSc#9cpEZ9b6hS/SkmnNUQ:!p0n[eH?U^a!dUaUAW^HIE+:QOJ.:HmD'$ZA(:)0%kUB"%'L;_44rn4TLu/:@/<.A\EIBQ%j5O%o\k#h3?3S9(VuU^!d>T+4'tT9V3At@B)_miJA:c`RXJdJ!IF)NU<-[dh;C:?]IfUUbLCoMb8o'65Tmp>o[/^G3Pgc&*mbQOaIDrW7;7Jbn)a_J9K'K*KLHeWEgB2/irj3(W#)I>^kMnmO/aKdX+Q/i40!iMG7o/Hnp%&g5<ehMkiXir`KWJ;fdtaW?\^[Z#sQRD@V'SPu](`cWQ.+i,Cs5k$q!"X+!pC;:MFt1`Y)aG2<<+VXFn%OEp,8%Oh!64.nCK8%>cYZ,2K^mT/B<gA3,f)Cj!r`\(l2/otj[ZET7iibBu?`\St'')UJN7c$ocko=_!N^%g@#][?(9%iaR;6"tSL.%R76j!5<MoJGa^*JH#OiCEXD5KUf]8n8FE_mq/Mg8R\q\Y^O'u^MAQcY@*3JWi!lXe1;C8oHnW<L<<Ga5qCRNfQ_=GYkC$GB[XO)tg\+iArdc?83`I;LSI0ZAUL-gnl+[Smin/K!L*h/j]m/Y3@I;W;iE>dTT;I`*H\Z##Ad?D6&6?`F<NX3[Z:pK'3LV3ht3%t]?.X'-s+MuNh6Bb?a~>endstream
endobj
11 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 85
>>
stream
GapQh0E=F,0U\H3T\pNYT^QKk?tc>IP,;W#U1^23ihPEM_H"Zg#ZYSVTjVbIUh=4HB`Z`"(!*5e"T[<4%>O~>endstream
endobj
xref
0 12
0000000000 65535 f
0000000073 00000 n
0000000124 00000 n
0000000231 00000 n
0000000343 00000 n
0000000420 00000 n
0000000624 00000 n
0000000828 00000 n
0000000896 00000 n
0000001179 00000 n
0000001244 00000 n
0000002542 00000 n
trailer
<<
/ID
[<3f69c5d8bee9f59be746c2ecad21bcaf><3f69c5d8bee9f59be746c2ecad21bcaf>]
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
/Info 8 0 R
/Root 7 0 R
/Size 12
>>
startxref
2717
%%EOF