# PeePal

Ez a projekt a Budapesti nyilvános mosdókat listázza ki, és egy funkciója, hogy megmutatja, melyik van a legközelebb a felhasználóhoz. A frontend React-ben, a backend pedig Laravel-ben készült.

## Funkciók

- Nyilvános mosdók listázása Budapesten
- Legközelebbi mosdó megkeresése a felhasználó aktuális helyzetéhez képest
- Mosdók feltöltése a felhaszáló által

## Telepítés és futtatás

1. Klónozd a repository-t:
    ```bash
    git clone https://git.gszi.edu.hu/magonysandormate/PeePal.git
    ```
2. Nyisd meg a XAMPP Control Panel-t és indítsd el a MySQL szervert

### Backend

1. Lépj be a backend könyvtárába:
    ```bash
    cd Backend/laravel9
    ```
2. Telepítsd a szükséges függőségeket:
    ```bash
    composer install
    ```
    Ha a `composer install` hibát dob a `ext-sodium` vagy más bővítmény miatt, előbb ellenőrizd:
    - PHP verzió: 8.1 vagy újabb ajánlott
    - Engedélyezve van-e a sodium extension (php.ini-ben: `extension=sodium`)
    - Ha ezek ellenére sem működik, alternatív megoldás:
    ```bash
    composer update
    ```
3. Futtasd az adatbázis migrációkat:
    ```bash
    php artisan migrate
    ```
3. Töltsd fel adatokkal az adatbázist seeder-ek segítségével:
    ```bash
    php artisan db:seed
    ```
4. Indítsd el a Laravel szervert:
    ```bash
    php artisan serve
    ```
5. Lépj ki a backend könyvtárból:
    ```bash
    cd ../..
    ```

### Frontend

1. Lépj be a frontend könyvtárába:
    ```bash
    cd frontend/peepal_react
    ```
2. Telepítsd a szükséges függőségeket:
    ```bash
    npm install
    ```
3. Indítsd el a React alkalmazást:
    ```bash
    npm start
    ```
4. Nyisd meg a böngésződet és navigálj a következő címre:
    ```
    http://localhost:3000
    ```