FAQ - Często zadawane pytania¶
Setup i instalacja¶
Ile czasu zajmuje setup środowiska?¶
Pierwsze setup: - Instalacja narzędzi: 30-60 min - Sklonowanie repo i npm install: 10-15 min - Docker setup: 5-10 min - Pierwsze uruchomienie: 5 min - Razem: ~1-2 godziny
Kolejne setupy (nowy komputer): - Z doświadczeniem: 30-45 min
Czy muszę mieć dostęp do Azure?¶
Do developmentu lokalnego: NIE - SQL Server: lokalny Docker - Storage: Azurite emulator - Email: MailHog
Do deploymentu: TAK - Potrzebujesz dostępu do Azure DevOps - Poproś team lead o uprawnienia
Jakie są wymagania sprzętowe?¶
Minimum: - 8 GB RAM (16 GB zalecane) - 4 core CPU - 20 GB wolnego miejsca
Zalecane: - 16+ GB RAM - 8+ core CPU - SSD - Dobre połączenie internetowe (npm install!)
Czy mogę używać VS Code czy muszę mieć Visual Studio?¶
Frontend: VS Code w zupełności wystarcza (i jest zalecany)
Backend: - VS Code: OK (z C# extension) - Visual Studio: Lepsze dla debugowania .NET - Rider: Świetna alternatywa (płatne)
Git workflow¶
Na jakim branchu mam pracować?¶
NIE commituj bezpośrednio na:
- main - produkcja
- develop - development
Twórz feature branche:
Jak często mam pushować?¶
- Commit lokalnie często (atomowe zmiany)
- Push min. raz dziennie (backup)
- Push przed code review
Co jeśli mam konflikty?¶
git checkout develop
git pull origin develop
git checkout feature/moj-branch
git merge develop
# Rozwiąż konflikty
git commit
git push
Frontend¶
Nie mogę zaimportować modułu @msk/...¶
# Build wszystkich bibliotek
npx nx run-many --target=build --all
# Lub konkretnej biblioteki
npx nx build budgets
Port 4200 jest zajęty¶
npm install trwa wieki¶
To normalne przy pierwszym razie (32+ bibliotek!).
Przyspieszenie:
Jak dodać nową bibliotekę Nx?¶
# Wygeneruj bibliotekę
nx generate @nrwl/angular:library nazwa-biblioteki
# Dodaj do tsconfig.base.json paths
{
"@msk/nazwa-biblioteki": ["projects/nazwa-biblioteki/src/index.ts"]
}
Błędy TypeScript w IDE ale build działa¶
Backend¶
Connection string do lokalnej bazy¶
Jak zresetować lokalną bazę?¶
cd masaku-api/docker
docker-compose down -v
docker-compose up -d
# Migracje wykonają się automatycznie
Czy muszę uruchamiać wszystkie projekty (.API, .MessageReceiver, .EmailQueue)?¶
Do developmentu: - Masaku.API - TAK - Masaku.MessageReceiver - opcjonalnie - Masaku.EmailQueue - opcjonalnie
Do testowania background jobs: - Uruchom wszystkie
Jak dodać nowy endpoint?¶
- Controller:
Masaku.API/Controllers/ - Service:
Masaku.Services/ - Repository:
Masaku.Repository/ - DTO/Model:
Masaku.Domain/Models/
EF Core - jak dodać nową tabelę?¶
Projekt używa Liquibase, nie EF Migrations!
- Utwórz changelog:
Sql/Liquibase/XX_nazwa.xml - Dodaj do
liquibase.properties - Uruchom:
liquibase update - Dodaj entity w
Masaku.Domain - Dodaj do DbContext
Testy¶
Jak uruchomić testy?¶
Frontend:
Backend:
dotnet test # Wszystkie
dotnet test Masaku.Tests.Unit
dotnet test --filter "FullyQualifiedName~BudgetServiceTests"
Testy nie przechodzą lokalnie ale CI/CD OK¶
- Sprawdź timezone (może być różny)
- Sprawdź zmienne środowiskowe
- Sprawdź czy masz najnowszego developa
Jak mockować serwisy w testach?¶
Frontend (Jasmine):
const mockService = jasmine.createSpyObj('BudgetService', ['getAll']);
mockService.getAll.and.returnValue(of([...]));
TestBed.configureTestingModule({
providers: [
{ provide: BudgetService, useValue: mockService }
]
});
Backend (Moq):
Deployment¶
Jak wygląda proces deploymentu?¶
- Merge do
develop→ auto deploy to Testing (DE/AT) - Manual deploy to Staging
- Manual deploy to Production
- Każdy przez Azure Pipelines
Czy mogę deployować samodzielnie?¶
Testing: Auto deploy po merge Staging/Production: Potrzebujesz uprawnień (poproś team lead)
Jak zrobić rollback?¶
Zobacz: Rollback strategies
Debugowanie¶
Nie widzę request logów w API¶
Sprawdź appsettings.Development.json:
CORS errors w przeglądarce¶
Development:
Sprawdź Masaku.API/Startup.cs - powinna być policy "Development" z http://localhost:4200
Production: To jest OK - frontend i backend są na różnych domenach, ale CORS jest skonfigurowany.
Redux DevTools nie pokazuje NGXS actions¶
Sprawdź czy masz zainstalowane:
1. Redux DevTools Extension w przeglądarce
2. @ngxs/devtools-plugin w package.json
Performance¶
Frontend ładuje się wolno lokalnie¶
To normalne w dev mode (bez optimizations).
Build production:
Backend response times są długie¶
Lokalnie: - Sprawdź czy SQL Server ma dość RAM (Docker settings) - Włącz query logging aby zobaczyć slow queries
Production: - Sprawdź Application Insights - Może być problem z indeksami w bazie
Azure AD B2C¶
Nie mogę się zalogować lokalnie¶
Opcja A: Poproś o testowe credentials Opcja B: Użyj mock authentication (tylko dev) Opcja C: Poproś o dodanie twojego konta do tenant
Redirect URI not matching¶
Sprawdź environment.ts:
Różnice DE vs AT¶
Czym różnią się regiony DE i AT?¶
- Różne Azure tenants
- Różne API endpoints
- Różne environment configurations
- Inne compliance rules
Jak testować dla AT?¶
Inne¶
Gdzie znajdę dokumentację API?¶
Lokalnie: http://localhost:5000/swagger Testing: https://testing-api.masaku.com/swagger
Jak zgłosić buga?¶
- Azure DevOps → Boards → Work Items
- New Work Item → Bug
- Wypełnij template
Jak poprosić o feature?¶
- Azure DevOps → Boards → Work Items
- New Work Item → Feature
- Opisz wymagania
Kto może pomóc jeśli utknę?¶
- Sprawdź tę dokumentację
- Zapytaj na team channel (Teams/Slack)
- Code review - poproś o parę programowania
- Team lead
Gdzie są hasła/secrets?¶
NIE commituj secrets do repo!
- Lokalnie:
appsettings.Development.json(w .gitignore) - Produkcja: Azure Key Vault
- Poproś team lead o dostęp
Czy mogę używać macOS/Linux?¶
Frontend: Tak, wszystko działa Backend: Tak, .NET 6 jest cross-platform
Jedyna różnica: Używaj docker-compose zamiast Docker Desktop GUI.
Jak długo trwa build na CI/CD?¶
- Frontend: 5-8 minut
- Backend: 3-5 minut
- Integration tests: 2-3 minuty
Co jeśli pipeline failuje?¶
- Sprawdź logi w Azure Pipelines
- Uruchom testy lokalnie
- Prawdopodobnie:
- Failing test
- Lint error
- Build error
Przydatne komendy - cheatsheet¶
Git¶
git checkout develop
git pull origin develop
git checkout -b feature/nazwa
git add .
git commit -m "feat: opis"
git push -u origin feature/nazwa
Frontend¶
Backend¶
Docker¶
docker-compose up -d # Start usług
docker-compose down # Stop
docker-compose logs -f # Logi
docker ps # Status kontenerów
Potrzebujesz więcej pomocy?¶
- Onboarding - Wróć do głównej strony onboardingu
- Troubleshooting - Rozwiązywanie problemów
- Developer Docs - Dokumentacja techniczna
W razie problemów: - Zapytaj na team channel - Stwórz issue w Azure DevOps - Poproś o pair programming session