Skip to content

EricMeo7/Fantasy-Dinasty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

976 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fantasy Dynasty — Dynasty/Salary-Cap Fantasy Basketball

Piattaforma fantasy basketball (NBA + WNBA) con salary cap, contratti pluriennali, dead cap, aste live, draft e scoring head-to-head settimanale.

Componente Stack Dove
Backend API + realtime ASP.NET Core 8, EF Core 8 (PostgreSQL), SignalR (Redis backplane), MediatR root del repo
Frontend web React 19, Vite, TanStack Query, Tailwind client/
Mobile (Android) Expo + WebView wrapper del sito mobile/
Proxy NBA stats Cloudflare Worker cloudflare-worker/
Infra produzione docker-compose + Caddy + Loki/Grafana/Promtail deploy/
Test backend xUnit + Testcontainers (Postgres 16 + Redis) FantasyBasket.API.Tests/
Load test bot SignalR + REST loadtest/

Setup locale

Prerequisiti: .NET 8 SDK, Node 20+, Docker Desktop (per i test di integrazione), un'istanza Postgres e una Redis (vanno bene quelle del compose in deploy/).

# Backend (porta 5249)
dotnet user-secrets set "Jwt:Key" "<openssl rand -base64 48>"
# ...vedi appsettings.template.json per la lista completa delle chiavi richieste
dotnet run --project FantasyBasket.API.csproj

# Frontend (porta 5173)
cd client && npm install && npm run dev

# Test (richiede Docker per i Testcontainers)
dotnet test
# solo unit (senza Docker):
dotnet test --filter "FullyQualifiedName~Unit"

La configurazione segue appsettings.template.json: i segreti vivono in user-secrets (dev) o env var (prod, Section__Key). appsettings.json e appsettings.Development.json sono gitignored.

Convenzioni chiave

Le convenzioni operative complete sono in CLAUDE.md (vale per umani e AI assistant). Le tre più violate dai nuovi arrivati:

  1. Errori: mai stringhe raw — sempre costanti da Common/ErrorCodes.cs, con traduzione in client/src/locales/{en,it}.ts sotto api_errors (gate CI check-i18n strict).
  2. Eventi SignalR: nomi camelCase, un solo listener per evento lato client.
  3. Migrazioni EF: generate e applicate manualmente dall'operatore (dotnet ef migrations add ...), mai automatiche in deploy salvo EF_AUTO_MIGRATE=true esplicito sul deploy che le contiene.

Deploy

develop = staging, master = produzione (backend su VM Oracle via deploy/docker-compose.yml, frontend su Cloudflare Pages). Release = merge developmaster (merge commit, non squash). La pipeline è in .github/workflows/ci.yml; il deploy sul VM è health-gated.

Backup DB: deploy/backup.sh (cron sulla VM) + restore documentato in deploy/restore.sh.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors