Ten repozytorium zawiera aplikację Next.js służącą do symulacji emerytur. Poniżej znajdziesz kroki do uruchomienia projektu lokalnie, konfigurację bazy danych oraz przydatne polecenia.
- Node.js (zalecane: 18 lub nowsze)
- npm (wersja dołączona do Node)
- Konto MongoDB Atlas lub lokalna instancja MongoDB (opcjonalnie — aplikacja ma domyślny lokalny URI, ale rekomendowane jest ustawienie
MONGODB_URI)
- Sklonuj repozytorium i przejdź do katalogu projektu:
git clone <repo-url> symulator-emerytalny
cd symulator-emerytalny- Zainstaluj zależności:
npm install- Utwórz plik
.env.localw głównym katalogu (jeśli będziesz używać MongoDB Atlas):
# utwórz plik .env.local i wklej linię poniżej (zastąp wartości)
echo "MONGODB_URI=mongodb+srv://<username>:<password>@<cluster-url>/zus_simulator?retryWrites=true&w=majority" > .env.localPrzykład zawartości .env.local:
MONGODB_URI=mongodb+srv://admin:password123@cluster0.abc123.mongodb.net/zus_simulator?retryWrites=true&w=majority- Uruchom tryb deweloperski:
npm run devPo uruchomieniu aplikacja będzie dostępna pod adresem http://localhost:3000.
npm run dev— uruchamia serwer deweloperski (Next.js z Turbopack)npm run build— buduje wersję produkcyjnąnpm run start— uruchamia zbudowaną wersję produkcyjnąnpm run lint— uruchamia ESLintnpm run test— uruchamia testy (w repo:npx tsx test-functions.test.ts)
- Aplikacja korzysta z wartości
MONGODB_URIz pliku.env.local(lubprocess.env.MONGODB_URI). - Jeśli
MONGODB_URInie jest ustawione i aplikacja działa w środowisku innym niż produkcyjne, wlib/mongodb.tsużywany jest domyślny URI:mongodb://localhost:27017/emerytura(aplikacja wyświetli ostrzeżenie w konsoli jeśli brakMONGODB_URI). - Rekomendacja: skonfiguruj MongoDB Atlas i ustaw
MONGODB_URIw.env.local.
Struktura bazy danych (opis w MONGODB_SETUP.md): baza zus_simulator, kolekcja usage_reports.
- Zbuduj aplikację:
npm run build- Uruchom zbudowaną aplikację:
npm run startDomyślnie Next.js nasłuchuje na porcie 3000. W środowisku produkcyjnym możesz skonfigurować zmienną PORT jeśli chcesz użyć innego portu.
- Uruchom testy jednostkowe:
npm run test- Uruchom linter:
npm run lint- Jeśli po starcie widzisz komunikat o braku
MONGODB_URI, sprawdź, czy plik.env.localistnieje i zawiera poprawny connection string. - Przy problemach z zależnościami usuń
node_modulesi ponownie zainstaluj zależności:
rm -r node_modules; npm install- Jeśli aplikacja nie uruchamia się na porcie 3000, sprawdź czy inny proces nie używa tego portu lub ustaw zmienną
PORTprzed uruchomieniem:
$env:PORT=4000; npm run dev- Najprostszą opcją jest deploy na Vercel — projekt jest aplikacją Next.js i działa bez dodatkowej konfiguracji.
- Jeśli używasz Vercel, dodaj zmienną środowiskową
MONGODB_URIw ustawieniach projektu na Vercel.
- Główne pliki źródłowe znajdują się w katalogu
app/(Next.js App Router). - Połączenie do MongoDB jest realizowane przez
lib/mongodb.ts.
Jeśli potrzebujesz pomocy lub chcesz zgłosić błąd, otwórz issue w repozytorium.
Plik README zaktualizowany — jeśli chcesz, mogę dodać sekcję z instrukcją tworzenia konta i clustra w MongoDB Atlas krok po kroku, albo krótką sekcję „Jak debugować” z typowymi miejscami w kodzie.