mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-04 02:32:57 +00:00
upload
This commit is contained in:
@@ -0,0 +1,187 @@
|
||||
# Řešení problémů s navigací
|
||||
|
||||
## Problém: Žádné položky navigace se nenačítají
|
||||
|
||||
Pokud se na stránce **Správa navigace** nezobrazuje žádný obsah (ani ve webové navigaci, ani v admin panelu, ani sociální sítě), může to být způsobeno několika důvody:
|
||||
|
||||
### 1. Databázové tabulky nejsou vytvořeny nebo jsou prázdné
|
||||
|
||||
#### Kontrola stavu
|
||||
|
||||
1. Otevřete **Správu navigace** (`/admin/navigace`)
|
||||
2. Zkontrolujte informační panel nahoře - měl by zobrazit: "Načteno: X webových, X admin, X sociálních"
|
||||
3. Otevřete konzoli prohlížeče (F12) a podívejte se na výpis:
|
||||
```
|
||||
Načtená navigace: []
|
||||
Načtené sociální odkazy: []
|
||||
```
|
||||
|
||||
Pokud jsou pole prázdná (`[]`), znamená to, že backend běží správně, ale databáze je prázdná.
|
||||
|
||||
#### Řešení A: Spustit migrace s výchozími daty
|
||||
|
||||
Tabulky `navigation_items` a `social_links` se vytvoří automaticky při startu aplikace, ale **výchozí data se vkládají pouze při spuštění migrací**.
|
||||
|
||||
**Postup:**
|
||||
|
||||
1. Zastavte backend server (pokud běží)
|
||||
2. Spusťte backend s příznakem pro migrace:
|
||||
|
||||
**Windows (PowerShell):**
|
||||
```powershell
|
||||
$env:RUN_MIGRATIONS="true"
|
||||
go run main.go
|
||||
```
|
||||
|
||||
**Linux/Mac:**
|
||||
```bash
|
||||
RUN_MIGRATIONS=true go run main.go
|
||||
```
|
||||
|
||||
3. Zkontrolujte logy - měli byste vidět:
|
||||
```
|
||||
Running database migrations...
|
||||
Migration 20251010154600_create_navigation_system.up.sql applied successfully
|
||||
```
|
||||
|
||||
4. Obnovte stránku správy navigace
|
||||
5. Nyní byste měli vidět výchozí navigační položky:
|
||||
- Domů
|
||||
- O klubu
|
||||
- Kalendář
|
||||
- Zápasy
|
||||
- Aktivity
|
||||
- Hráči
|
||||
- Tabulky
|
||||
- Články
|
||||
- Videa
|
||||
- Fotogalerie
|
||||
- Sponzoři
|
||||
- Kontakt
|
||||
|
||||
#### Řešení B: Vytvořit položky ručně
|
||||
|
||||
Pokud nechcete spouštět migrace (např. už jste upravili databázi), můžete položky vytvořit ručně:
|
||||
|
||||
1. V záložce **Webová navigace** klikněte na tlačítko **"Přidat hlavní položku"**
|
||||
2. Vyplňte formulář:
|
||||
- **Název:** např. "Domů"
|
||||
- **Typ:** Vyberte "Stránka (vyberte existující)"
|
||||
- **Webová stránka:** Vyberte ze seznamu, např. "Domů (/)"
|
||||
- **Viditelné:** Zapnuto (checkbox)
|
||||
3. Klikněte na **Uložit**
|
||||
4. Opakujte pro další stránky
|
||||
|
||||
### 2. Problémy s API připojením
|
||||
|
||||
Pokud vidíte chybovou hlášku při načítání, může se jednat o problém s API.
|
||||
|
||||
#### Kontrola
|
||||
|
||||
1. Otevřete konzoli prohlížeče (F12)
|
||||
2. Přejděte na záložku **Network/Síť**
|
||||
3. Obnovte stránku správy navigace
|
||||
4. Podívejte se na požadavky:
|
||||
- `GET /api/v1/admin/navigation` - měl by vrátit status 200
|
||||
- `GET /api/v1/admin/social-links` - měl by vrátit status 200
|
||||
|
||||
#### Možné chyby:
|
||||
|
||||
**Status 401 Unauthorized:**
|
||||
- Nejste přihlášeni jako administrátor
|
||||
- Řešení: Odhlaste se a znovu se přihlaste
|
||||
|
||||
**Status 404 Not Found:**
|
||||
- Backend neběží nebo běží na jiném portu
|
||||
- Zkontrolujte `.env` soubor: `REACT_APP_API_URL=http://localhost:8080/api/v1`
|
||||
- Ověřte, že backend běží na portu 8080
|
||||
|
||||
**Status 500 Internal Server Error:**
|
||||
- Chyba na straně serveru
|
||||
- Zkontrolujte logy backendu
|
||||
- Možná databáze neběží nebo není dostupná
|
||||
|
||||
**CORS Error:**
|
||||
- Backend blokuje požadavky z frontendu
|
||||
- Řešení: Ujistěte se, že backend běží v dev módu (`APP_ENV=development`)
|
||||
|
||||
### 3. Backend neběží
|
||||
|
||||
#### Kontrola
|
||||
|
||||
1. Otevřete novou PowerShell/terminál
|
||||
2. Zkuste přistoupit k API přímo:
|
||||
```powershell
|
||||
curl http://localhost:8080/api/v1/navigation
|
||||
```
|
||||
|
||||
Pokud dostanete chybu "Connection refused" nebo podobnou, backend neběží.
|
||||
|
||||
#### Řešení
|
||||
|
||||
Spusťte backend:
|
||||
```powershell
|
||||
cd c:\Users\conta\Downloads\PROG+HTML\Fotbal\fotbal-club
|
||||
go run main.go
|
||||
```
|
||||
|
||||
### 4. Databáze neběží
|
||||
|
||||
Pokud backend vyhodí chybu při startu o nemožnosti připojení k databázi:
|
||||
|
||||
```
|
||||
Failed to connect to database: connection refused
|
||||
```
|
||||
|
||||
#### Řešení
|
||||
|
||||
1. Zkontrolujte, zda PostgreSQL běží
|
||||
2. Ověřte konfiguraci v `.env`:
|
||||
```
|
||||
DB_HOST=localhost
|
||||
DB_PORT=5432
|
||||
DB_USER=postgres
|
||||
DB_PASSWORD=your_password
|
||||
DB_NAME=fotbal_club
|
||||
```
|
||||
3. Spusťte PostgreSQL server
|
||||
|
||||
## Rychlá diagnostika - Checklist
|
||||
|
||||
- [ ] Backend běží (vidím "Server starting on port 8080" v logu)
|
||||
- [ ] Frontend běží (React dev server na portu 3000)
|
||||
- [ ] Jsem přihlášen jako administrátor
|
||||
- [ ] V konzoli prohlížeče vidím: `Načtená navigace: []` (prázdné pole, ne chyba)
|
||||
- [ ] Spustil jsem migrace s `RUN_MIGRATIONS=true` nebo vytvořil položky ručně
|
||||
- [ ] Obnovil jsem stránku po přidání dat
|
||||
|
||||
## Testování API přímo
|
||||
|
||||
Můžete otestovat API přímo pomocí curl/PowerShell:
|
||||
|
||||
```powershell
|
||||
# Získat veřejné navigační položky
|
||||
curl http://localhost:8080/api/v1/navigation
|
||||
|
||||
# Získat admin navigační položky (vyžaduje přihlášení)
|
||||
# Nejprve se přihlaste přes prohlížeč, pak:
|
||||
curl http://localhost:8080/api/v1/admin/navigation -H "Cookie: your-session-cookie"
|
||||
```
|
||||
|
||||
## Pokud nic nepomůže
|
||||
|
||||
1. Zkontrolujte konzoli prohlížeče - hledejte červené chyby
|
||||
2. Zkontrolujte logy backendu - hledejte chybové zprávy
|
||||
3. Zkuste restartovat:
|
||||
- Backend server
|
||||
- Frontend dev server
|
||||
- PostgreSQL databázi
|
||||
4. Zkuste vymazat cookies a local storage prohlížeče
|
||||
5. Použijte režim inkognito/soukromé okno
|
||||
|
||||
## Podpora
|
||||
|
||||
Pokud problém přetrvává:
|
||||
1. Zkopírujte chybovou zprávu z konzole prohlížeče
|
||||
2. Zkopírujte logy z backendu
|
||||
3. Uveďte, které kroky jste již vyzkoušeli
|
||||
Reference in New Issue
Block a user