-167
AUTH_IMPLEMENTATION.md
-167
AUTH_IMPLEMENTATION.md
···
-60
SSH_AUTH.md
-60
SSH_AUTH.md
···
-95
STRUCTURE.md
-95
STRUCTURE.md
···-2. **Dependency injection**: Pass configuration (uploadDir, ports) through function parameters rather than globals-3. **Clean interfaces**: Each module exports only what's needed (capital letters for public functions)-4. **Separation of concerns**: Storage, presentation, business logic, and transport are cleanly separated-- **New API endpoint**: Add handler to `internal/server/web.go`, register route in `cmd/battleship-arena/main.go`-- **New database table**: Update schema in `storage.InitDB()`, add query functions to `internal/storage/database.go`-Currently no tests exist (all packages return `[no test files]`), but the modular structure makes it easy to add unit tests for each package.
battleship-arena
battleship-arena
This is a binary file and will not be displayed.
+1
-1
internal/server/auth.go
+1
-1
internal/server/auth.go
···
+13
-13
internal/tui/model.go
+13
-13
internal/tui/model.go
······statusStyled := lipgloss.NewStyle().Foreground(lipgloss.Color(statusColor)).Render(sub.Status)···+displayRank = lipgloss.NewStyle().Foreground(lipgloss.Color("220")).Render(rank) + " " // Gold+displayRank = lipgloss.NewStyle().Foreground(lipgloss.Color("250")).Render(rank) + " " // Silver+displayRank = lipgloss.NewStyle().Foreground(lipgloss.Color("208")).Render(rank) + " " // Bronze-coloredRank, entry.Username, ratingStr, entry.Wins, entry.Losses, entry.WinPct, entry.AvgMoves))+displayRank, entry.Username, ratingStr, entry.Wins, entry.Losses, entry.WinPct, entry.AvgMoves))