mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-05 03:02:56 +00:00
hotfix day #70
This commit is contained in:
@@ -0,0 +1,97 @@
|
|||||||
|
# Application
|
||||||
|
APP_NAME=MyClub
|
||||||
|
APP_ENV=development
|
||||||
|
PORT=8080
|
||||||
|
DEBUG=true
|
||||||
|
|
||||||
|
# Database Migrations & Seeding
|
||||||
|
RUN_MIGRATIONS=true
|
||||||
|
SEED_DATABASE=false
|
||||||
|
|
||||||
|
# Database
|
||||||
|
DB_HOST=db
|
||||||
|
DB_PORT=5432
|
||||||
|
DB_USER=postgres
|
||||||
|
DB_PASSWORD=postgres
|
||||||
|
DB_NAME=fotbal_club
|
||||||
|
DATABASE_URL=postgres://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}?sslmode=disable
|
||||||
|
|
||||||
|
# JWT
|
||||||
|
JWT_SECRET=your_jwt_secret_key_here
|
||||||
|
JWT_EXPIRATION_HOURS=24
|
||||||
|
|
||||||
|
# Email Configuration
|
||||||
|
SMTP_HOST=smtp.example.com
|
||||||
|
SMTP_PORT=587
|
||||||
|
SMTP_USER=your_email@example.com
|
||||||
|
SMTP_PASSWORD=your_email_password
|
||||||
|
SMTP_FROM=noreply@fotbalclub.com
|
||||||
|
SMTP_FROM_NAME="MyClub"
|
||||||
|
SMTP_ENCRYPTION=tls # tls, ssl, or none
|
||||||
|
SMTP_AUTH=true
|
||||||
|
SMTP_SKIP_VERIFY=false # Set to true for self-signed certificates
|
||||||
|
|
||||||
|
# Email Templates
|
||||||
|
EMAIL_TEMPLATE_DIR=./templates/emails
|
||||||
|
|
||||||
|
# Contact Form
|
||||||
|
CONTACT_EMAIL=help@tdvorak.dev
|
||||||
|
ADMIN_EMAIL=help@tdvorak.dev
|
||||||
|
|
||||||
|
# Optional special SMTP override used ONLY for admin-triggered password reset emails
|
||||||
|
# If set, the backend will use these credentials for POST /api/v1/admin/users/send-reset
|
||||||
|
# while normal emails continue to use SMTP_* above.
|
||||||
|
# Example (Purelymail over SSL on 465):
|
||||||
|
# ADMIN_RESET_SMTP_HOST=smtp.purelymail.com
|
||||||
|
# ADMIN_RESET_SMTP_PORT=465
|
||||||
|
# ADMIN_RESET_SMTP_USER=system@tdvorak.dev
|
||||||
|
# ADMIN_RESET_SMTP_PASS=REPLACE_WITH_SECURE_PASSWORD
|
||||||
|
# ADMIN_RESET_SMTP_FROM=system@tdvorak.dev
|
||||||
|
# ADMIN_RESET_SMTP_FROM_NAME="Fotbal Club Admin"
|
||||||
|
|
||||||
|
# Newsletter
|
||||||
|
NEWSLETTER_ENABLED=true
|
||||||
|
|
||||||
|
# File Uploads
|
||||||
|
UPLOAD_DIR=./uploads
|
||||||
|
MAX_UPLOAD_SIZE=10485760 # 10MB
|
||||||
|
ALLOWED_FILE_TYPES=image/jpeg,image/png,image/gif,application/pdf
|
||||||
|
MAX_FILES=5 # Maximum number of files per upload
|
||||||
|
|
||||||
|
# CORS
|
||||||
|
ALLOWED_ORIGINS=http://localhost:3000,http://localhost:8080
|
||||||
|
# Frontend Configuration
|
||||||
|
REACT_APP_NAME=Fotbal Club Manager
|
||||||
|
REACT_APP_API_URL=http://localhost:8080/api/v1
|
||||||
|
|
||||||
|
# FACR API Configuration
|
||||||
|
REACT_APP_FACR_API_BASE_URL=http://localhost:8080/api/v1/facr
|
||||||
|
REACT_APP_FACR_API_TIMEOUT=5000
|
||||||
|
REACT_APP_FACR_CACHE_TTL=3600000
|
||||||
|
|
||||||
|
# Homepage Layout (sparta or classic)
|
||||||
|
REACT_APP_HOMEPAGE_LAYOUT=classic
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
LOG_LEVEL=info # debug, info, warn, error
|
||||||
|
LOG_FORMAT=text # text or json
|
||||||
|
LOG_OUTPUT=stdout # stdout, stderr, or file path
|
||||||
|
|
||||||
|
# OpenRouter (for AI blog generation)
|
||||||
|
# Get a key at https://openrouter.ai
|
||||||
|
# Do not commit real keys. Set in deployment environment.
|
||||||
|
# Example key format: sk-or-v1-********************************
|
||||||
|
OPENROUTER_API_KEY=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
|
||||||
|
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
|
||||||
|
# Defaults can be overridden per environment
|
||||||
|
OPENROUTER_MODEL=mistralai/mistral-small-3.2-24b-instruct:free
|
||||||
|
OPENROUTER_FALLBACK_MODEL=mistralai/mistral-nemo:free
|
||||||
|
# Optional headers to identify your site/app to OpenRouter
|
||||||
|
OPENROUTER_SITE_URL=http://localhost:8080
|
||||||
|
OPENROUTER_APP_NAME=MyClub
|
||||||
|
|
||||||
|
# Umami Analytics
|
||||||
|
UMAMI_URL=https://umami.tdvorak.dev
|
||||||
|
UMAMI_USERNAME=admin
|
||||||
|
UMAMI_PASSWORD=eevRQ6h3G@!c#y4A1T
|
||||||
|
UMAMI_WEBSITE_ID=
|
||||||
+4
-4
@@ -1,5 +1,5 @@
|
|||||||
# Application
|
# Application
|
||||||
APP_NAME=FotbalClub
|
APP_NAME=MyClub
|
||||||
APP_ENV=development
|
APP_ENV=development
|
||||||
PORT=8080
|
PORT=8080
|
||||||
DEBUG=true
|
DEBUG=true
|
||||||
@@ -26,7 +26,7 @@ SMTP_PORT=587
|
|||||||
SMTP_USER=your_email@example.com
|
SMTP_USER=your_email@example.com
|
||||||
SMTP_PASSWORD=your_email_password
|
SMTP_PASSWORD=your_email_password
|
||||||
SMTP_FROM=noreply@fotbalclub.com
|
SMTP_FROM=noreply@fotbalclub.com
|
||||||
SMTP_FROM_NAME="Fotbal Club"
|
SMTP_FROM_NAME="MyClub"
|
||||||
SMTP_ENCRYPTION=tls # tls, ssl, or none
|
SMTP_ENCRYPTION=tls # tls, ssl, or none
|
||||||
SMTP_AUTH=true
|
SMTP_AUTH=true
|
||||||
SMTP_SKIP_VERIFY=false # Set to true for self-signed certificates
|
SMTP_SKIP_VERIFY=false # Set to true for self-signed certificates
|
||||||
@@ -88,10 +88,10 @@ OPENROUTER_MODEL=mistralai/mistral-small-3.2-24b-instruct:free
|
|||||||
OPENROUTER_FALLBACK_MODEL=mistralai/mistral-nemo:free
|
OPENROUTER_FALLBACK_MODEL=mistralai/mistral-nemo:free
|
||||||
# Optional headers to identify your site/app to OpenRouter
|
# Optional headers to identify your site/app to OpenRouter
|
||||||
OPENROUTER_SITE_URL=http://localhost:8080
|
OPENROUTER_SITE_URL=http://localhost:8080
|
||||||
OPENROUTER_APP_NAME=Fotbal Club Manager
|
OPENROUTER_APP_NAME=MyClub
|
||||||
|
|
||||||
# Umami Analytics
|
# Umami Analytics
|
||||||
UMAMI_URL=https://umami.tdvorak.dev
|
UMAMI_URL=https://umami.tdvorak.dev
|
||||||
UMAMI_USERNAME=admin
|
UMAMI_USERNAME=admin
|
||||||
UMAMI_PASSWORD=eevRQ6h3G@!c#y4A1T
|
UMAMI_PASSWORD=eevRQ6h3G@!c#y4A1T
|
||||||
UMAMI_WEBSITE_ID= # Leave empty for auto-create on production deployment
|
UMAMI_WEBSITE_ID=
|
||||||
|
|||||||
@@ -2,9 +2,6 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
frontend/node_modules/
|
frontend/node_modules/
|
||||||
|
|
||||||
# Environment variables
|
|
||||||
.env
|
|
||||||
|
|
||||||
# Build outputs
|
# Build outputs
|
||||||
/dist
|
/dist
|
||||||
/frontend/.next
|
/frontend/.next
|
||||||
|
|||||||
Vendored
-39
@@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"ID": 1,
|
|
||||||
"CreatedAt": "2025-10-24T09:14:28.069547Z",
|
|
||||||
"UpdatedAt": "2025-10-24T09:22:33.786377Z",
|
|
||||||
"DeletedAt": null,
|
|
||||||
"title": "U9 rozdrtila Žimrovice 30:2 a potvrdila skvělou formu",
|
|
||||||
"content": "\u003ch2\u003eU9 rozdrtila Žimrovice 30:2 a potvrdila skvělou formu\u003c/h2\u003e\u003cp\u003eMladší přípravka U9 potvrdila svou skvělou formu a doma rozstřílela Žimrovice vysokým výsledkem 30:2. Od začátku utkání bylo jasné, že tým jde za vítězstvím, a to se mu nakonec i podařilo. Krnovští mladíci předvedli spoustu krásných akcí a potvrdili svou nadřazenost nad soupeřem.\u003c/p\u003e\u003ch3\u003eDominantní výkon od prvních minut\u003c/h3\u003e\u003cp\u003eVe čtvrtek 16. října 2025 odehrál tým U9 další mistrovské utkání proti Žimrovicím. Od začátku bylo vidět, že Krnovští hrají s velkou energií a chuťou k vítězství. Hráči předvedli spoustu krásných akcí, které byly zakončeny brankami. Již v první půli se tým ujal vedení 12:1, což jasně naznačovalo, jakým směrem půjde utkání.\u003c/p\u003e\u003ch3\u003eRespekt pro soupeře a pochvala pro tým\u003c/h3\u003e\u003cp\u003eTrénerský tým vyjádřil respekt soupeři za bojovnost a velkou pochvalu pro celý tým za výkon, energii a chuť hrát. Hráči dokázali udržet vysokou úroveň po celou hru a ukázali, že jsou v skvělém tvaru. Díky patří také fanouškům, kteří hráče podporovali po celou dobu utkání.\u003c/p\u003e\u003ch3\u003eDetaily utkání\u003c/h3\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003eDatum:\u003c/strong\u003e 16. 10. 2025\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eČas:\u003c/strong\u003e 16:30\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eKolo:\u003c/strong\u003e 8. kolo, Mladší přípravka 1+4 sk. C\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eVýsledek:\u003c/strong\u003e 30:2 (12:1)\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eTrénovný tým:\u003c/strong\u003e Petr Kalinovský\u003c/li\u003e\u003c/ul\u003e\u003ch3\u003eJedeme dál a makáme!\u003c/h3\u003e\u003cp\u003eTým U9 pokračuje v mistrovské sezóně s velkou motivací a touhou po dalším vítězství. Hráči a trénovný tým jsou přesvědčeni, že dokážou udržet svou skvělou formu a bojovat o nejvyšší příčky v tabulce. Fanoušci mohou očekávat další zajímavá utkání a krásné fotbalové momenty.\u003c/p\u003e\u003cp\u003e\u003cbr\u003e\u003c/p\u003e\u003cp\u003e\u003cbr\u003e\u003c/p\u003e\u003cp\u003e\u003cbr\u003e\u003c/p\u003e\u003cp\u003e\u003cbr\u003e\u003c/p\u003e",
|
|
||||||
"author_id": 1,
|
|
||||||
"category_id": 2,
|
|
||||||
"image_url": "https://eu.zonerama.com/photos/572667628_1500x1000.jpg",
|
|
||||||
"published": true,
|
|
||||||
"slug": "u9-rozdrtela-zimrovice-30-2",
|
|
||||||
"excerpt": "",
|
|
||||||
"featured": true,
|
|
||||||
"seo_title": "U9 rozdrtila Žimrovice 30:2 a potvrdila skvělou formu | Fotbalový klub",
|
|
||||||
"seo_description": "Přečtěte si více o u9 rozdrtila žimrovice 30:2 a potvrdila skvělou formu. Aktuální informace, novinky a zajímavosti z našeho fotbalového klubu.",
|
|
||||||
"og_image_url": "https://eu.zonerama.com/photos/572667628_1500x1000.jpg",
|
|
||||||
"external_link": "",
|
|
||||||
"view_count": 0,
|
|
||||||
"read_time": 2,
|
|
||||||
"unique_views": 0,
|
|
||||||
"category_name": "",
|
|
||||||
"attachments": "[{\"mime_type\":\"application/pdf\",\"name\":\"pdf-test.pdf\",\"size\":20597,\"url\":\"/uploads/2025/10/20251024-092039-c6c1f2f7ba1428b91c6050e3631685b2.pdf\"}]",
|
|
||||||
"gallery_album_id": "",
|
|
||||||
"gallery_album_url": "",
|
|
||||||
"gallery_photo_ids": "",
|
|
||||||
"youtube_video_id": "WKXh4Z6SYMs",
|
|
||||||
"youtube_video_title": "Bizoni UH vs. FC ATRAPS z.s. - 2. Futsal liga - východ (celý zápas)",
|
|
||||||
"youtube_video_url": "https://www.youtube.com/watch?v=WKXh4Z6SYMs",
|
|
||||||
"youtube_video_thumbnail": "https://img.youtube.com/vi/WKXh4Z6SYMs/maxresdefault.jpg",
|
|
||||||
"match_link": null
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"page": 1,
|
|
||||||
"page_size": 1,
|
|
||||||
"total": 1
|
|
||||||
}
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
{"items":[{"ID":1,"CreatedAt":"2025-10-24T09:14:28.069547Z","UpdatedAt":"2025-10-24T09:22:33.786377Z","DeletedAt":null,"title":"U9 rozdrtila Žimrovice 30:2 a potvrdila skvělou formu","content":"\u003ch2\u003eU9 rozdrtila Žimrovice 30:2 a potvrdila skvělou formu\u003c/h2\u003e\u003cp\u003eMladší přípravka U9 potvrdila svou skvělou formu a doma rozstřílela Žimrovice vysokým výsledkem 30:2. Od začátku utkání bylo jasné, že tým jde za vítězstvím, a to se mu nakonec i podařilo. Krnovští mladíci předvedli spoustu krásných akcí a potvrdili svou nadřazenost nad soupeřem.\u003c/p\u003e\u003ch3\u003eDominantní výkon od prvních minut\u003c/h3\u003e\u003cp\u003eVe čtvrtek 16. října 2025 odehrál tým U9 další mistrovské utkání proti Žimrovicím. Od začátku bylo vidět, že Krnovští hrají s velkou energií a chuťou k vítězství. Hráči předvedli spoustu krásných akcí, které byly zakončeny brankami. Již v první půli se tým ujal vedení 12:1, což jasně naznačovalo, jakým směrem půjde utkání.\u003c/p\u003e\u003ch3\u003eRespekt pro soupeře a pochvala pro tým\u003c/h3\u003e\u003cp\u003eTrénerský tým vyjádřil respekt soupeři za bojovnost a velkou pochvalu pro celý tým za výkon, energii a chuť hrát. Hráči dokázali udržet vysokou úroveň po celou hru a ukázali, že jsou v skvělém tvaru. Díky patří také fanouškům, kteří hráče podporovali po celou dobu utkání.\u003c/p\u003e\u003ch3\u003eDetaily utkání\u003c/h3\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003eDatum:\u003c/strong\u003e 16. 10. 2025\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eČas:\u003c/strong\u003e 16:30\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eKolo:\u003c/strong\u003e 8. kolo, Mladší přípravka 1+4 sk. C\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eVýsledek:\u003c/strong\u003e 30:2 (12:1)\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eTrénovný tým:\u003c/strong\u003e Petr Kalinovský\u003c/li\u003e\u003c/ul\u003e\u003ch3\u003eJedeme dál a makáme!\u003c/h3\u003e\u003cp\u003eTým U9 pokračuje v mistrovské sezóně s velkou motivací a touhou po dalším vítězství. Hráči a trénovný tým jsou přesvědčeni, že dokážou udržet svou skvělou formu a bojovat o nejvyšší příčky v tabulce. Fanoušci mohou očekávat další zajímavá utkání a krásné fotbalové momenty.\u003c/p\u003e\u003cp\u003e\u003cbr\u003e\u003c/p\u003e\u003cp\u003e\u003cbr\u003e\u003c/p\u003e\u003cp\u003e\u003cbr\u003e\u003c/p\u003e\u003cp\u003e\u003cbr\u003e\u003c/p\u003e","author_id":1,"author":{"ID":1,"CreatedAt":"2025-10-24T06:51:44.035851Z","UpdatedAt":"2025-10-24T06:52:02.806102Z","DeletedAt":null,"email":"contact.dvorak@gmail.com","first_name":"Tomas","last_name":"Dvorak","role":"admin","IsActive":true,"last_login":"2025-10-24T06:52:02.805315Z"},"category_id":2,"category":{"ID":2,"CreatedAt":"2025-10-24T09:18:33.757905Z","UpdatedAt":"2025-10-24T09:18:33.757905Z","DeletedAt":null,"name":"Mladší přípravka 1+4 sk.C","description":"","slug":"mladsi-pripravka-1-4-sk-c"},"image_url":"https://eu.zonerama.com/photos/572667628_1500x1000.jpg","published":true,"slug":"u9-rozdrtela-zimrovice-30-2","excerpt":"","featured":true,"seo_title":"U9 rozdrtila Žimrovice 30:2 a potvrdila skvělou formu | Fotbalový klub","seo_description":"Přečtěte si více o u9 rozdrtila žimrovice 30:2 a potvrdila skvělou formu. Aktuální informace, novinky a zajímavosti z našeho fotbalového klubu.","og_image_url":"https://eu.zonerama.com/photos/572667628_1500x1000.jpg","external_link":"","view_count":0,"read_time":2,"unique_views":0,"category_name":"","attachments":"[{\"mime_type\":\"application/pdf\",\"name\":\"pdf-test.pdf\",\"size\":20597,\"url\":\"/uploads/2025/10/20251024-092039-c6c1f2f7ba1428b91c6050e3631685b2.pdf\"}]","gallery_album_id":"","gallery_album_url":"","gallery_photo_ids":"","youtube_video_id":"WKXh4Z6SYMs","youtube_video_title":"Bizoni UH vs. FC ATRAPS z.s. - 2. Futsal liga - východ (celý zápas)","youtube_video_url":"https://www.youtube.com/watch?v=WKXh4Z6SYMs","youtube_video_thumbnail":"https://img.youtube.com/vi/WKXh4Z6SYMs/maxresdefault.jpg","match_link":{"ID":1,"CreatedAt":"2025-10-24T09:17:41.032697Z","UpdatedAt":"2025-10-24T09:22:33.841992Z","DeletedAt":null,"article_id":1,"external_match_id":"fb35d9f5-cb5a-4f4c-93e6-c9091b3d7f51","title":"U9 rozdrtila Žimrovice 30:2 a potvrdila skvělou formu"}}],"page":1,"page_size":10,"total":1}
|
|
||||||
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
{"etag":"","fetched_at":"2025-10-24T12:52:10Z","last_modified":""}
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
[{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"A1A","alias":"SATUM 5. liga mužů","original_name":"SATUM 5. liga mužů","display_order":0},{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"C1A","alias":"KALMAN TRADE Krajský přebor starší dorost","original_name":"KALMAN TRADE Krajský přebor starší dorost","display_order":0},{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"D1A","alias":"KALMAN TRADE Krajský přebor mladší dorost","original_name":"KALMAN TRADE Krajský přebor mladší dorost","display_order":0},{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"E1S","alias":"2.MSŽL-U 15 sk. E","original_name":"2.MSŽL-U 15 sk. E","display_order":0},{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"E2S","alias":"2.MSŽL-U 14 sk. E","original_name":"2.MSŽL-U 14 sk. E","display_order":0},{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"F1S","alias":"1. liga SpSM-U 13 SEVER","original_name":"1. liga SpSM-U 13 SEVER","display_order":0},{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"F2S","alias":"1. liga SpSM-U 12 SEVER","original_name":"1. liga SpSM-U 12 SEVER","display_order":0},{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"G1D","alias":"Starší přípravka 1+5 sk.D","original_name":"Starší přípravka 1+5 sk.D","display_order":0},{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"H1A","alias":"Okresní přebor mladší přípravky (4+1)","original_name":"Okresní přebor mladší přípravky (4+1)","display_order":0},{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"H1C","alias":"Mladší přípravka 1+4 sk.C","original_name":"Mladší přípravka 1+4 sk.C","display_order":0},{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"U1E","alias":"PC U1E U-10 Šumperk","original_name":"PC U1E U-10 Šumperk","display_order":0},{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"V1C","alias":"PC V1C U-8 Nový Jičín","original_name":"PC V1C U-8 Nový Jičín","display_order":0},{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"code":"V5B","alias":"PC V5B U-9 Hlučín","original_name":"PC V5B U-9 Hlučín","display_order":0}]
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
{"etag":"","fetched_at":"2025-10-24T12:52:10Z","last_modified":""}
|
|
||||||
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
[]
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
{"etag":"","fetched_at":"2025-10-24T12:52:10Z","last_modified":""}
|
|
||||||
Vendored
-1
File diff suppressed because one or more lines are too long
-1
@@ -1 +0,0 @@
|
|||||||
{"etag":"","fetched_at":"2025-10-24T12:52:10Z","last_modified":""}
|
|
||||||
Vendored
-1
File diff suppressed because one or more lines are too long
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
{"etag":"","fetched_at":"2025-10-24T12:52:10Z","last_modified":""}
|
|
||||||
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
null
|
|
||||||
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
{"lastUpdated":"2025-10-24T12:52:10Z"}
|
|
||||||
Vendored
-47
@@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
"baseURL": "http://127.0.0.1:8080/api/v1",
|
|
||||||
"duration_ms": 25,
|
|
||||||
"endpoints": [
|
|
||||||
{
|
|
||||||
"path": "/settings",
|
|
||||||
"file": "settings.json",
|
|
||||||
"ok": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "/articles?page=1\u0026page_size=10\u0026published=true",
|
|
||||||
"file": "articles.json",
|
|
||||||
"ok": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "/sponsors",
|
|
||||||
"file": "sponsors.json",
|
|
||||||
"ok": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "/events/upcoming",
|
|
||||||
"file": "events_upcoming.json",
|
|
||||||
"ok": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "/public/team-logo-overrides",
|
|
||||||
"file": "team_logo_overrides.json",
|
|
||||||
"ok": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "/competition-aliases",
|
|
||||||
"file": "competition_aliases.json",
|
|
||||||
"ok": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "/facr/club/football/7eacd9f0-bfa0-4928-a9b6-936140168f58",
|
|
||||||
"file": "facr_club_info.json",
|
|
||||||
"ok": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "/facr/club/football/7eacd9f0-bfa0-4928-a9b6-936140168f58/table",
|
|
||||||
"file": "facr_tables.json",
|
|
||||||
"ok": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastUpdated": "2025-10-24T12:52:10Z"
|
|
||||||
}
|
|
||||||
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
{"about_html":"","accent_color":"#ffbb00","background_color":"#ffffff","club_id":"7eacd9f0-bfa0-4928-a9b6-936140168f58","club_logo_url":"http://logoapi.sportcreative.eu/logos/7eacd9f0-bfa0-4928-a9b6-936140168f58?format=svg","club_name":"Fotbalový klub Krnov","club_type":"football","club_url":"https://www.fotbal.cz/souteze/club/club/7eacd9f0-bfa0-4928-a9b6-936140168f58","contact_address":"Kostelany nad Moravou 108","contact_city":"Kostelany nad Moravou","contact_country":"Česko","contact_email":"info@tdvorak.dev","contact_phone":"+420778701838","contact_zip":"686 01","custom_nav":null,"facebook_url":"https://www.facebook.com/p/FK-Kofola-Krnov-61561103731912/","font_body":"Archivo","font_heading":"Archivo","gallery_label":"Fotogalerie","gallery_url":"https://eu.zonerama.com/FKKofolaKrnov/1470757","instagram_url":"https://www.instagram.com/fkkofolakrnov/","location_latitude":49.044086,"location_longitude":17.4040833,"map_style":"voyager","map_zoom_level":15,"merch_items":null,"merch_limit":0,"merch_module_enabled":false,"merch_source":"","merch_style":"","primary_color":"#ffdd00","secondary_color":"#004cff","show_about_in_nav":true,"show_map_on_homepage":false,"sponsors_layout":"","sponsors_theme":"","text_color":"#111111","videos":null,"videos_items":[{"length":"","thumbnail_url":"https://img.youtube.com/vi/WKXh4Z6SYMs/maxresdefault.jpg","title":"Bizoni UH vs. FC ATRAPS z.s. - 2. Futsal liga - východ (celý zápas)","uploaded_at":"2025-10-12","url":"https://www.youtube.com/watch?v=WKXh4Z6SYMs"},{"length":"","thumbnail_url":"https://img.youtube.com/vi/_OsRmfYOXJ4/maxresdefault.jpg","title":"Bizoni UH-Atraps Brno 6:5/3:4/-4.kolo 2.futs.liga Východ-UH 10.10.25","uploaded_at":"2025-10-11","url":"https://www.youtube.com/watch?v=_OsRmfYOXJ4"},{"length":"","thumbnail_url":"https://img.youtube.com/vi/h_-TS6oVvKA/maxresdefault.jpg","title":"Bizoni UH-RT F.Místek 5:5/1:3/-2.kolo 2.liga UH 26.9.25","uploaded_at":"2025-10-03","url":"https://www.youtube.com/watch?v=h_-TS6oVvKA"},{"length":"","thumbnail_url":"https://img.youtube.com/vi/ozH8xE7V458/maxresdefault.jpg","title":"Bizoni UH-Tango Hodonín 7:4/2:3/-regionální finále poháru SFČR-16.9.25-UH","uploaded_at":"2025-09-24","url":"https://www.youtube.com/watch?v=ozH8xE7V458"},{"length":"","thumbnail_url":"https://img.youtube.com/vi/nrj6_1IoYoo/maxresdefault.jpg","title":"Bizoni UH-Fr.Místek 7:2/4:1/-Superpohár-12.9.25 v Uh.Hradišti","uploaded_at":"2025-09-24","url":"https://www.youtube.com/watch?v=nrj6_1IoYoo"}],"videos_limit":5,"videos_module_enabled":true,"videos_source":"auto","videos_style":"slider","youtube_url":"https://www.youtube.com/@FCBizoniUH/videos"}
|
|
||||||
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
{"etag":"","fetched_at":"2025-10-24T12:52:10Z","last_modified":""}
|
|
||||||
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
[]
|
|
||||||
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
{"etag":"","fetched_at":"2025-10-24T12:52:10Z","last_modified":""}
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
{"by_name":{}}
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
{"etag":"","fetched_at":"2025-10-24T12:52:10Z","last_modified":""}
|
|
||||||
Vendored
-1
File diff suppressed because one or more lines are too long
-1
@@ -1 +0,0 @@
|
|||||||
{"fetched_at":"2025-10-24T12:52:21Z","source":"https://youtube.tdvorak.dev/channel_videos?channel=https%3A%2F%2Fwww.youtube.com%2F%40FCBizoniUH%2Fvideos"}
|
|
||||||
Vendored
-11
@@ -1,11 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"id": "572667628",
|
|
||||||
"album_id": "14045127",
|
|
||||||
"album_url": "https://eu.zonerama.com/FKKofolaKrnov/Album/14045127",
|
|
||||||
"page_url": "https://eu.zonerama.com/FKKofolaKrnov/Photo/14045127/572667628",
|
|
||||||
"image_url": "https://eu.zonerama.com/photos/572667628_1500x1000.jpg",
|
|
||||||
"title": "Kategorie U15 Uničov 3:4 FK Krnov",
|
|
||||||
"picked_at": "2025-10-24T09:20:31Z"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
Vendored
-102
@@ -1,102 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"id": "",
|
|
||||||
"title": "",
|
|
||||||
"url": "",
|
|
||||||
"date": "",
|
|
||||||
"photos_count": 0,
|
|
||||||
"views_count": 0,
|
|
||||||
"photos": null,
|
|
||||||
"fetched_at": "2025-10-24T12:36:59Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "",
|
|
||||||
"title": "",
|
|
||||||
"url": "",
|
|
||||||
"date": "",
|
|
||||||
"photos_count": 0,
|
|
||||||
"views_count": 0,
|
|
||||||
"photos": null,
|
|
||||||
"fetched_at": "2025-10-24T12:36:59Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "",
|
|
||||||
"title": "",
|
|
||||||
"url": "",
|
|
||||||
"date": "",
|
|
||||||
"photos_count": 0,
|
|
||||||
"views_count": 0,
|
|
||||||
"photos": null,
|
|
||||||
"fetched_at": "2025-10-24T12:36:59Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "",
|
|
||||||
"title": "",
|
|
||||||
"url": "",
|
|
||||||
"date": "",
|
|
||||||
"photos_count": 0,
|
|
||||||
"views_count": 0,
|
|
||||||
"photos": null,
|
|
||||||
"fetched_at": "2025-10-24T12:36:59Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "",
|
|
||||||
"title": "",
|
|
||||||
"url": "",
|
|
||||||
"date": "",
|
|
||||||
"photos_count": 0,
|
|
||||||
"views_count": 0,
|
|
||||||
"photos": null,
|
|
||||||
"fetched_at": "2025-10-24T12:36:59Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "",
|
|
||||||
"title": "",
|
|
||||||
"url": "",
|
|
||||||
"date": "",
|
|
||||||
"photos_count": 0,
|
|
||||||
"views_count": 0,
|
|
||||||
"photos": null,
|
|
||||||
"fetched_at": "2025-10-24T12:36:59Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "",
|
|
||||||
"title": "",
|
|
||||||
"url": "",
|
|
||||||
"date": "",
|
|
||||||
"photos_count": 0,
|
|
||||||
"views_count": 0,
|
|
||||||
"photos": null,
|
|
||||||
"fetched_at": "2025-10-24T12:36:59Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "",
|
|
||||||
"title": "",
|
|
||||||
"url": "",
|
|
||||||
"date": "",
|
|
||||||
"photos_count": 0,
|
|
||||||
"views_count": 0,
|
|
||||||
"photos": null,
|
|
||||||
"fetched_at": "2025-10-24T12:36:59Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "",
|
|
||||||
"title": "",
|
|
||||||
"url": "",
|
|
||||||
"date": "",
|
|
||||||
"photos_count": 0,
|
|
||||||
"views_count": 0,
|
|
||||||
"photos": null,
|
|
||||||
"fetched_at": "2025-10-24T12:36:59Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "",
|
|
||||||
"title": "",
|
|
||||||
"url": "",
|
|
||||||
"date": "",
|
|
||||||
"photos_count": 0,
|
|
||||||
"views_count": 0,
|
|
||||||
"photos": null,
|
|
||||||
"fetched_at": "2025-10-24T12:36:59Z"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
null
|
|
||||||
-4
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"fetched_at": "2025-10-24T12:36:59Z",
|
|
||||||
"link": ""
|
|
||||||
}
|
|
||||||
Vendored
-1071
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,31 @@
|
|||||||
|
REACT_APP_API_URL=http://localhost:8080/api/v1
|
||||||
|
REACT_APP_NAME=Fotbal Club Manager
|
||||||
|
REACT_APP_ENV=development
|
||||||
|
|
||||||
|
# FACR API Configuration - Local instance
|
||||||
|
# Backend exposes the FACR proxy under /api/v1/facr
|
||||||
|
REACT_APP_FACR_API_BASE_URL=http://localhost:8080/api/v1/facr
|
||||||
|
REACT_APP_FACR_API_TIMEOUT=5000 # 5 seconds
|
||||||
|
REACT_APP_FACR_CACHE_TTL=3600000 # 1 hour in milliseconds
|
||||||
|
|
||||||
|
# Club selection for homepage (required)
|
||||||
|
# Example: Sparta Praha UUID
|
||||||
|
# REACT_APP_FACR_CLUB_ID=00000000-0000-0000-0000-000000000000
|
||||||
|
# football | futsal (default football)
|
||||||
|
# REACT_APP_FACR_CLUB_TYPE=football
|
||||||
|
|
||||||
|
# Homepage Layout (sparta or classic)
|
||||||
|
REACT_APP_HOMEPAGE_LAYOUT=classic
|
||||||
|
|
||||||
|
# OpenRouter (for AI blog generation)
|
||||||
|
# Get a key at https://openrouter.ai
|
||||||
|
# Do not commit real keys. Set in deployment environment.
|
||||||
|
# Example key format: sk-or-v1-********************************
|
||||||
|
OPENROUTER_API_KEY=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
|
||||||
|
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
|
||||||
|
# Defaults can be overridden per environment
|
||||||
|
OPENROUTER_MODEL=mistralai/mistral-small-3.2-24b-instruct:free
|
||||||
|
OPENROUTER_FALLBACK_MODEL=mistralai/mistral-nemo:free
|
||||||
|
# Optional headers to identify your site/app to OpenRouter
|
||||||
|
OPENROUTER_SITE_URL=http://localhost:8080
|
||||||
|
OPENROUTER_APP_NAME=Fotbal Club Manager
|
||||||
Reference in New Issue
Block a user