W repozytorium znajduje się projekt złożony z dwóch aplikacji:
- Phoenix API
- Symfony App
Aby uruchomić aplikacje, należy zainstalować Docker i Docker Compose. Następnie należy uruchomić komendę:
make uplub
docker compose up -dAby uruchomić aplikacje w trybie dev (z montowaniem php), należy zainstalować Docker i Docker Compose. Następnie należy uruchomić komendę:
make up-devlub
docker compose -f docker-compose.dev.yaml up -dAby wyczyścić aplikacje, należy uruchomić komendę:
make downlub
docker compose downAby wyczyścić aplikacje, należy uruchomić komendę:
make down-devlub
docker compose -f docker-compose.dev.yaml downDla uproszczenia porty zostały ustawione na sztywno w docker-compose.yaml:
- Phoenix API: 4000
- zmiana portu w docker-compose.yaml wymusza zmianę
PHOENIX_API_URLw pliku .env w symfony_app
- zmiana portu w docker-compose.yaml wymusza zmianę
- Symfony App: 8000
- PostgreSQL: 5432
- zmiana portu w docker-compose.yaml wymusza zmianę
DATABASE_URLdla kontenera Phoenix API
- zmiana portu w docker-compose.yaml wymusza zmianę
Zmiany w plikach .env wymagają przebudowania obrazów:
docker compose up --build -dAby importować dane, należy wysłać żądanie POST do endpointu /import w Phoenix API:
curl -v -X POST http://localhost:4000/importLub użyć przycisku "Import Users" na panelu Symfony App. (Dodane poza wymaganiami dla wygody testowania)
POST /import- importuje 100 losowych użytkowników losując płeć a następnie losując imię i nazwisko spośród 100 nazwisk i imion dla tej płci.- Dane importowane są z plików CSV znajdujących się w katalogu
phoenix_api/privname_male.csv- lista imion męskichname_female.csv- lista imion żeńskichsurname_male.csv- lista nazwisk męskichsurname_female.csv- lista nazwisk żeńskich
- Dane importowane są z plików CSV znajdujących się w katalogu
GET /users- pobiera listę użytkownikówGET /users/{id}- pobiera dane użytkownika o podanym idDELETE /users/{id}- usuwa użytkownika o podanym idPUT /users/{id}- aktualizuje użytkownika o podanym id
Aplikacja Symfony App pozwala na zarządzanie użytkownikami graficznym panelem użytkownika bedąc proxy do Phoenix API.
Imiona męskie - https://dane.gov.pl/pl/dataset/1667,lista-imion-wystepujacych-w-rejestrze-pesel-osoby-zyjace/resource/63929/table?page=1&per_page=20&q=&sort=
Imiona żeńskie - https://dane.gov.pl/pl/dataset/1667,lista-imion-wystepujacych-w-rejestrze-pesel-osoby-zyjace/resource/63924/table?page=1&per_page=20&q=&sort=
Nazwiska męskie - https://dane.gov.pl/pl/dataset/1681,nazwiska-osob-zyjacych-wystepujace-w-rejestrze-pesel/resource/63892/table?page=1&per_page=20&q=&sort=
Nazwiska żeńskie - https://dane.gov.pl/pl/dataset/1681,nazwiska-osob-zyjacych-wystepujace-w-rejestrze-pesel/resource/63888/table?page=1&per_page=20&q=&sort=