combo-raport-app — Wiki

combo-raport-app — Wiki

Interaktywna aplikacja raportowa do wizualizacji danych sprzedażowych i wolumenowych z systemu GoPos. Dane pobierane przez API, raporty wysyłane automatycznie emailem.

Interaktywna aplikacja raportowa do wizualizacji miesięcznych danych sprzedażowych i wolumenowych. Dane ładowane dynamicznie z plików JSON według wybranej listy i miesiąca.


Spis treści

Strona Opis
Docker Uruchamianie kontenera, komendy, profile dev/prod
Struktura projektu Drzewo katalogów, stack technologiczny, skrypty
Dane raportowe Format JSON, listy, tabele, mapowanie ID komórek
Komponenty Architektura UI, ThemeProvider, tabele, dark mode
Backup Automatyczny backup danych na Google Drive, setup rclone, cron, disaster recovery
Deploy Deploy na produkcję (Mikrus), sync danych dev→prod, secrets, skrypt deploy-prod.sh

Szybki start

# Tryb developerski (hot-reload)
docker compose --profile dev up
# → http://localhost:5173

# Produkcja (nginx)
docker compose --profile prod up --build
# → http://localhost:4173

Stack

Warstwa Technologia
UI React 19, Tailwind CSS 4, shadcn/ui, Base UI
Tabele TanStack Table v8
Build Vite 7, TypeScript 5.9
Kontener Docker multi-stage, nginx 1.27-alpine

Schemat środowiska produkcyjnego

VPS home.pl · 212.132.103.157 · Debian 13 trixie · 4 vCPU / 7.7 GiB RAM / 237 GiB SSD
Edytowalny diagram drawio: plik env-prod.drawio w sekcji Attachments pod tą stroną — pobierz, otwórz na https://app.diagrams.net lub w VS Code (Draw.io Integration), zedytuj i wgraj z powrotem.

Topologia (widok logiczny)

                                Internet (HTTPS)
                                       │
                                       ▼
                  ┌──────────────────────────────────────────┐
                  │  nginx (host) — ECDSA + certbot          │
                  │  arcane.t-pizza.pl  → 127.0.0.1:3552     │
                  │  combo.t-pizza.pl   → 127.0.0.1:4173     │
                  │  id.t-pizza.pl      → 127.0.0.1:9000     │
                  │  wiki.tepizza.pl    → 127.0.0.1:6875     │
                  └──────────────────────────────────────────┘
                                       │
          ╔════════════════════════════╪════════════════════════════╗
          ║       Docker network: web (external, bridge)            ║
          ║                                                          ║
          ║  ┌─────────────┐  ┌──────────────┐  ┌────────────────┐  ║
          ║  │  Arcane     │  │ combo_prod   │  │ Authentik      │  ║
          ║  │  v1.19.5    │  │ (React+nginx)│  │ server+worker  │  ║
          ║  │  :3552      │  │ :4173        │  │ +pg+redis :9000│  ║
          ║  └──────┬──────┘  └──────────────┘  └────────┬───────┘  ║
          ║         │   OIDC (issuer/token/userinfo)     │          ║
          ║         └─────────────────────────────────── ┘          ║
          ║                                                          ║
          ║  ┌─────────────────────┐    ┌────────────────────────┐  ║
          ║  │ BookStack + MariaDB │    │ Backup cron 03:30      │  ║
          ║  │ :6875               │    │ → Arcane Volume API    │  ║
          ║  │ wiki.tepizza.pl     │    │ → /opt/backups/arcane  │  ║
          ║  └─────────────────────┘    └────────────────────────┘  ║
          ╚══════════════════════════════════════════════════════════╝

Stacki Docker

Compose Kontener Port (host) Domena Notatki
/opt/docker/arcane/compose.yaml arcane 127.0.0.1:3552 arcane.t-pizza.pl Arcane v1.19.5 — OIDC w DB settings
/root/combo-raport-app/docker-compose.yml combo_prod 127.0.0.1:4173 combo.t-pizza.pl React 19 + nginx-alpine, volume combo_data
/opt/docker/authentik/compose.yaml authentik-{server,worker,postgresql,redis} 127.0.0.1:9000 id.t-pizza.pl Authentik 2026.2.3, SMTP via serwer2104579.home.pl:587
/app/data/projects/bookstack/compose.yaml (Arcane-managed) bookstack, bookstack-db 127.0.0.1:6875 wiki.tepizza.pl BookStack 26.3.5 + MariaDB 11, client_max_body_size 50M

SSO / OIDC

Backup

Backupowane wolumeny: arcane_arcane-data, combo_data, authentik_authentik-{postgres,redis,media,templates,certs}.

Jak zedytować ten schemat

  1. Otwórz tę stronę w trybie edycji (BookStack → Edit).
  2. Tekst / tabele — wszystko powyżej jest zwykłym markdown/HTML, edytuj bezpośrednio w WYSIWYG.
  3. Diagram graficzny — pobierz env-prod.drawio z sekcji Attachments, otwórz w https://app.diagrams.net, zapisz lokalnie, wgraj ponownie jako attachment (nadpisze stary).
  4. Po zmianie infrastruktury zaktualizuj tabelę Stacki Docker oraz topologię ASCII.

Revision #5
Created 2026-05-28 04:01:03 CEST by matzxp84
Updated 2026-05-28 08:50:24 CEST by matzxp84