pascal ec5a7289f6 Zastap useState(view) routingiem opartym o react-router-dom
Rdzen migracji - kazdy widok ma wlasny adres URL:
- render {view === '...'} zastapiony przez <Routes> z 31 trasami
- usuniete: type View, PROTECTED_VIEWS, proteza #login, stan view/mapCity/
  mapOfferType/selectedListingId/messageThreadTarget
- prop onNavigate (166 wystapien) zastapiony hookiem useNavigate w komponentach
- /oferta/:id czyta identyfikator z adresu (ListingDetailRoute)
- /mapa?miasto=&typ= czyta parametry z query stringa (MapSearchRoute)
- dane przejsciowe miedzy trasami (watek wiadomosci, oferta do negocjacji)
  przekazywane w location.state zamiast globalnego stanu
- ProtectedRoute na trasach konta, requireAdmin na /admin
- powrot do zamierzonego celu po zalogowaniu (location.state.from)
- Header i AccountSidebar: <button> -> <NavLink>, aktywnosc z adresu
- strona 404 dla nieznanych adresow
- CSS: selektory menu rozszerzone o warianty <a> (wyglad bez zmian)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 23:34:35 +02:00
2026-07-09 00:14:45 +02:00
2026-07-23 23:15:15 +02:00
2026-07-09 00:14:45 +02:00
2026-07-09 00:14:45 +02:00
2026-07-09 00:23:33 +02:00
2026-07-09 00:14:45 +02:00
2026-07-09 00:14:45 +02:00
2026-07-09 00:14:45 +02:00
2026-07-09 00:14:45 +02:00
2026-07-09 00:14:45 +02:00

Polska Lokalnie

Aplikacja do ogloszen sprzedazy i wynajmu mieszkan, domow oraz apartamentow.

Stack technologiczny

  • Backend: Java 21, Spring Boot, Spring Web, Spring Data JPA, Bean Validation
  • Frontend: React, TypeScript, Vite
  • Baza danych: PostgreSQL
  • Reverse proxy i statyczny frontend: Nginx
  • Uruchamianie: Docker Compose

Uruchomienie w Dockerze

Skopiuj konfiguracje srodowiskowa i uruchom caly stack:

cp .env.example .env
docker compose up --build

W PowerShell mozesz uzyc:

Copy-Item .env.example .env
docker compose up --build

Aplikacja bedzie dostepna pod adresem:

Dostep w sieci lokalnej

Aplikacja jest przygotowana do pracy z innych urzadzen w tej samej sieci Wi-Fi/LAN.

Najpierw sprawdz adres IP komputera, na ktorym uruchamiasz projekt:

ipconfig

Znajdz aktywna karte sieciowa i pole IPv4 Address, na przyklad 192.168.1.25.

Docker Compose

Uruchom caly stack:

docker compose up --build

Na drugim urzadzeniu w tej samej sieci wejdz w przegladarce na:

http://192.168.1.25

Port 80 jest wystawiany na siec lokalna przez Nginx. Backend i baza danych domyslnie sa dostepne tylko lokalnie na komputerze hosta, a API jest osiagalne przez Nginx pod /api.

Tryb developerski

Uruchom backend lokalnie:

cd backend
mvn spring-boot:run

Uruchom frontend lokalnie:

cd frontend
npm run dev

Na drugim urzadzeniu wejdz na:

http://192.168.1.25:5173

Vite nasluchuje na 0.0.0.0, a zapytania /api sa proxy do backendu na 127.0.0.1:8080.

Uruchomienie lokalne bez Dockera

Backend:

cd backend
mvn spring-boot:run

Frontend:

cd frontend
npm install
npm run dev

Vite przekierowuje zapytania /api do backendu na http://localhost:8080.

Struktura projektu

backend/      Spring Boot API
frontend/     React + Vite
nginx/        konfiguracja Nginx i obraz web
docker-compose.yml
S
Description
Portal mieszkań
Readme 12 MiB
Languages
CSS 36.2%
Java 31.1%
TypeScript 25.7%
JavaScript 6.9%