Przejdź do treści

Konfiguracja Frontend (masaku-portal)

Instalacja zależności

cd masaku-portal

# Zainstaluj wszystkie zależności
npm install

# To może potrwać 3-5 minut

Weryfikacja instalacji

# Sprawdź czy wszystko się zainstalowało
npm list --depth=0

# Sprawdź wersję Angular CLI
npx ng version

Konfiguracja środowiska

1. Pliki environment

Projekt używa różnych konfiguracji dla regionów (DE/AT):

src/environments/
├── de/
│   ├── environment.ts              # Development
│   ├── environment.test.ts         # Testing
│   ├── environment.staging.ts      # Staging
│   ├── environment.preprod.ts      # Pre-production
│   └── environment.prod.ts         # Production
└── at/
    ├── environment.ts
    ├── environment.test.ts
    └── ...

2. Konfiguracja dla developmentu

Domyślnie używany jest src/environments/de/environment.ts:

export const environment = {
  production: false,
  apiUrl: 'http://localhost:5000/api',
  azureClientId: 'your-client-id',
  azureAuthority: 'your-authority-url',
  redirectUri: 'http://localhost:4200'
};

Uruchomienie dev servera

# Standardowe uruchomienie
npm start

# Z Hot Module Replacement
npm run start:hmr

# Aplikacja będzie dostępna na http://localhost:4200

Nx Workspace

Projekt używa Nx do zarządzania monorepo:

# Zobacz graf zależności
npx nx graph

# Testuj konkretną bibliotekę
npx nx test budgets

# Builduj konkretną bibliotekę
npx nx build budgets

Import aliasy

Wszystkie biblioteki używają aliasów @msk/*:

// Importy z bibliotek
import { BudgetService } from '@msk/budgets';
import { CommonService } from '@msk/common';
import { InputComponent } from '@msk/forms/input';

Tłumaczenia (i18n)

# Import tłumaczeń z lokalnych plików
npm run i18n:import-local

# Sprawdź czy pliki są w src/assets/i18n/
ls src/assets/i18n/
# Powinny być: de.json, en.json, pl.json

Linting

# Uruchom lint
npm run lint

# Fix automatycznie
npm run lint -- --fix

Testy

# Uruchom wszystkie testy
npm test

# Testy z coverage
npm run test:coverage

# Testy konkretnej biblioteki
npx nx test budgets

Troubleshooting

Błąd: Cannot find module '@msk/...'

# Rebuild wszystkich bibliotek
npx nx run-many --target=build --all

Błąd: Port 4200 is already in use

# Uruchom na innym porcie
ng serve --port 4300

Błąd: Out of memory

# Zwiększ limit pamięci Node.js
export NODE_OPTIONS="--max-old-space-size=8192"
npm start

Błąd przy npm install

# Wyczyść cache i node_modules
rm -rf node_modules package-lock.json
npm cache clean --force
npm install

Build production

# Build dla Germany (Testing)
npm run build:test-de

# Build dla Austria (Testing)
npm run build:test-at

# Output będzie w dist/masaku/{de|at}/

Dalsze kroki

Dalsze zasoby