Files
Hy2026/README.md
T

3.2 KiB

TarninaHub

Wersja: 0.0.1

Platforma Małopolskiego Hubu Innowacji Społecznych (MVP hackathonu).

  • backend/ — aplikacja backendowa w C# (ASP.NET Core, TarninaHub).
  • client/ — aplikacja frontendowa Vue 3 + TypeScript (Vite).
  • scripts/ — skrypty budujące całość.
  • TarninaHub.slnx — solution .NET.
  • Dockerfile + docker-compose.yaml — uruchomienie kontenerowe.

Wymagania

  • .NET SDK 10+

  • Node.js 22+ (npm)

  • PowerShell Core 7+ (pwsh) — wymagany do uruchomienia scripts/*.ps1.

    Windows nie kojarzy domyślnie plików .ps1, dlatego skrypty uruchamiaj przez pwsh (np. pwsh ./scripts/docker-push.ps1), a nie przez dwuklik / samo ./scripts/docker-push.ps1. Instalacja: https://aka.ms/powershell

Praca lokalna

Backend (dev) nasłuchuje na https://localhost:7080.

# terminal 1 — backend
dotnet run --project backend

# terminal 2 — client (Vite, proxy /api -> http://localhost:5078)
npm --prefix client install
npm --prefix client run dev

Skrypty

npm --prefix client run dev      # uruchamia Vite (dev server)
npm --prefix client run build    # buduje aplikację Vite do client/dist
npm --prefix client run copy     # kopiuje client/dist -> backend/wwwroot
node scripts/build.mjs           # buduje całość (client + copy + backend)

Docker

Szablon pobiera gotowy obraz z rejestru Gitea (pełna ścieżka), bez lokalnego buildowania:

cp docker-compose.yaml.example docker-compose.yaml
docker compose pull
docker compose up -d
  • Aplikacja: http://localhost:8075
  • Dane: ./data (bind mount, trwałe — SurrealDB embedded RocksDB)
  • Obraz: git.rtynski.pl/rtynski/hy2026:latest

Port hosta można wskazać zmienną TARNINAHUB_PORT (domyślnie 8075), a wersję obrazu zmienną APP_VERSION (domyślnie latest). Plik docker-compose.yaml.example jest szablonem; docker-compose.yaml możesz dostosować lokalnie.

Publikacja obrazu do Gitea

Token dostępu utworzysz w Gitea:

Wymagany PowerShell Core 7+ (pwsh). Windows nie uruchamia domyślnie plików .ps1, więc skrypt wywołaj jawnie przez pwsh:

$env:GITEA_USER = "rtynski"; $env:GITEA_TOKEN = "<token>"
pwsh ./scripts/docker-push.ps1

Skrypt najpierw sprawdza połączenie z demonem Docker i rejestrem, czyta wersję z backend/TarninaHub.csproj. Jeśli dana wersja jest już wypchnięta do rejestru, kończy pracę z czerwonym komunikatem; w przeciwnym razie buduje frontend, kopiuje go do backend/wwwroot, buduje backend, buduje obraz Docker i wypycha go do git.rtynski.pl/rtynski/hy2026 jako <wersja> oraz latest. Nadpisanie sprawdzenia: -Force.

Struktura

TarninaHub/
├─ backend/                 # ASP.NET Core Web API + wwwroot (build z client)
├─ client/                  # Vue 3 + TS + Vite
├─ scripts/
│  ├─ build.mjs             # build całości
│  └─ copy-client.mjs       # client/dist -> backend/wwwroot
├─ Dockerfile               # multi-stage: client + backend
├─ docker-compose.yaml      # uruchomienie (bind ./data)
├─ docker-compose.yaml.example
├─ TarninaHub.slnx
└─ README.md