11 KiB
🎸 Denní Hudební Doporučení: 365 Alb na Celý Rok 💿
Každý den jedno ikonické grunge nebo nu-metal album. Prozkoumejte historii rockové hudby!
🎵 O projektu
Denní Hudební Doporučení je webová aplikace, která každý den nabízí jedno vybrané album z žánrů grunge a nu-metal. Projekt vznikl jako alternativa k algoritmickým doporučením streamovacích služeb, která nás uzavírají do bubliny známých skladeb.
🎯 Hlavní cíle
- 🎶 Každý den jedno album - 365 alb na celý rok 2026
- 🔍 Objevování hudby - Méně známá, ale kvalitní alba
- 🎸 Grunge & Nu-Metal - Focus na ikonické žánry 90. let
- 💡 Jednoduchost - Žádné složité vyhledávání, jen čistý poslech
🌟 Proč tento projekt?
"Všimli jste si, jak nás algoritmy Spotify a dalších služeb neustále točí v kruhu? Nabízejí nám pořád to samé, co už známe. Řekl jsem si: to není pro mne. Chtěl jsem se vrátit k poslechu – od první do poslední skladby."
✨ Funkce
🎨 Design & UX
- 🖤 Temný metalový vzhled - Inspirován grunge a nu-metal estetikou
- ✨ Glitch animace - Dynamické efekty na nadpisech
- 🎭 Pulzující prvky - Červená záře kolem alb a tlačítek
- 📱 Responsive design - Optimalizováno pro všechny zařízení
- 🎯 Staggered animace - Vlnový efekt při načítání archivu
🔧 Technické vlastnosti
- ⚡ Rychlé načítání - Žádné externí API, vše lokálně
- 🗓️ Automatické datum - Zobrazení alba pro aktuální den
- 📚 Archiv alb - Prohlížení minulých doporučení
- 🔗 Streaming integrace - Přímé odkazy na Tidal a Spotify
- 📊 Vlastní analytics - Bez externího trackingu
🚀 Rychlý start
🌐 Online verze
Aplikaci můžete vyzkoušet přímo online: 👉 https://music.lukan.cz
💻 Lokální spuštění
Požadavky
- Moderní webový prohlížeč (Chrome, Firefox, Edge, Safari)
- Žádné další závislosti - aplikace běží čistě v prohlížeči
Spuštění
-
Naklonujte repozitář:
git clone https://codeberg.org/Kankys/musicCalendar.git cd musicCalendar -
Otevřete hlavní stránku ve svém prohlížeči:
# Na Linuxu/Macu xdg-open web/index.html # nebo open web/index.html # Na Windows start web/index.html -
Nebo spusťte jednoduchý server:
# Python 3 python3 -m http.server 8000 --directory web # Node.js (npx) npx serve webPak navštivte: http://localhost:8000
📁 Struktura projektu
musicCalendar/
├── web/ # Hlavní webová aplikace
│ ├── index.html # Hlavní stránka
│ ├── about.html # O projektu
│ ├── gdpr.html # Ochrana soukromí
│ ├── script.js # Hlavní logika
│ ├── scriptabout.js # Logika pro about stránku
│ ├── musicData.js # Databáze 365 alb
│ ├── style.css # Hlavní styly
│ └── img/ # Obrázky
│ ├── 4525586.jpg # Pozadí
│ ├── electric-guitar_12494348.png # Favicon
│ └── vyzva-EDIT.jpg # Logo
├── test/ # Testy (Playwright)
│ ├── tests/
│ │ └── homePage.test.ts
│ ├── assets/pages/
│ │ └── HomePage.ts
│ └── package.json
├── .htaccess # HTTPS přesměrování
├── LICENSE # MIT License
├── README.md # Tento soubor
└── DOCUMENTATION.md # Komplexní dokumentace
🎵 Databáze alb
📊 Statistiky
- Počet alb: 365 (pro celý rok 2026)
- Datumové rozpětí: 1. ledna 2026 - 31. prosince 2026
- Soubor:
web/musicData.js(4011 řádků)
🎯 Žánry a umělci
Grunge
Nirvana, Pearl Jam, Soundgarden, Alice in Chains, Stone Temple Pilots, Mudhoney, Temple of the Dog
Nu-Metal
Korn, Limp Bizkit, Linkin Park, Slipknot, System of a Down, Deftones, Papa Roach, Disturbed
Alternativní Metal
Tool, Primus, Helmet, Faith No More, Rage Against the Machine
Méně známé kapely
World Eaters, Relative Ash, Factory 81, Shuvel, NO One, Sw1tched, Twisted Method, Spike 1000, Boy Hits Car
📋 Struktura alba
{
datum: "2026-01-01", // Datum ve formátu YYYY-MM-DD
umelec: "🎤 World Eaters", // Název kapely
nazev: "💿 Hounds of Blood", // Název alba
img: "URL k obálce", // Obrázek alba
vydano: "01.2025", // Datum vydání
recenze: "Popis alba...", // Recenze/doporučení
tidal: "URL na Tidal", // Odkaz na Tidal
spotify: "URL na Spotify" // Odkaz na Spotify
}
🔧 Technické detaily
🌐 Technologický stack
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- Design: Responsive CSS, CSS Animations
- Testování: Playwright + TypeScript
- Hosting: VPS (VPSfree.cz)
- Doména: music.lukan.cz
🎨 Designové prvky
Barevná paleta
| Barva | Hex | Použití |
|---|---|---|
| Tmavě červená | #8b0000 | Primární barva, bordery |
| Jasně červená | #cc0000 | Akcenty, hover efekty |
| Tmavě fialová | #2a0033 | Footer, sekundární prvky |
| Světle šedá | #e0e0e0 | Text, nadpisy |
| Středně šedá | #b0b0b0 | Vedlejší text |
Animace
- Glitch efekt na hlavním nadpise (každých 6 vteřin)
- Pulzující border na kartách alb
- Staggered fade-up pro archivní kartičky
- Hover efekty na všech interaktivních prvcích
- Scanlines overlay - starý TV efekt
🧪 Testování
🔧 Testovací framework
- Playwright - Moderní E2E testování
- TypeScript - Typová bezpečnost
- Page Object Model - Strukturovaný přístup
🚀 Spuštění testů
Lokálně
cd test
npm install
npm test
Na produkci
cd test
BASE_URL=https://music.lukan.cz npm run test:prod
📋 Aktuální testy
- ✅ Test titulu hlavní stránky
- ✅ Test URL hlavní stránky
- 🔜 Plánované: Test archivu, about stránky, responsive designu
📦 Nasazení
🌐 Produkční prostředí
- URL: https://music.lukan.cz
- Hosting: VPSfree.cz
- Protokol: HTTPS (vynuceno přes .htaccess)
- Server: Apache s mod_rewrite
🚀 Deploy proces
- Vývoj: Lokální úpravy
- Testování: Spuštění Playwright testů
- Commit: Uložení změn do Git
- Push: Odeslání na Codeberg
- Nasazení: Ruční kopírování na VPS
🔄 Automatizace (plánované)
- CI/CD pipeline
- Automatické testování před deployem
- Monitorování dostupnosti
🔒 Bezpečnost & GDPR
✅ Bezpečnostní opatření
- HTTPS - Vynuceno pro všechny požadavky
- Žádné cookies - Aplikace neukládá žádná cookies
- Žádný tracking - Nepoužívá Google Analytics, Facebook Pixel
- Lokální běh - Všechny výpočty v prohlízeči
- Minimální data - Pouze základní serverové logy
📜 GDPR Compliance
- Transparence - Jasné informace o sběru dat
- Minimalizace - Sbírá se pouze nezbytná data
- Žádný skrytý sběr - Vše je jasně deklarováno
- Právo na zapomenutí - Uživatelé mohou požádat o smazání
🔗 Externí služby
- Tidal - Externí odkazy (data sbírána Tidalem)
- Spotify - Externí odkazy (data sbírána Spotify)
- Analytics - Vlastní systém (analytics.lukan.cz)
📈 Roadmap
🎯 Krátkodobé cíle (1-3 měsíce)
- Vylepšené E2E testy
- CI/CD pipeline
- Monitorování dostupnosti
- Optimalizace obrázků (lazy loading)
- PWA podpora (Progressive Web App)
🎯 Střednědobé cíle (3-6 měsíců)
- Uživatelské účty
- Systém hodnocení alb
- Vyhledávání v databázi
- Filtrování podle žánru/roku
- REST API pro přístup k datům
🎯 Dlouhodobé cíle (6-12 měsíců)
- Mobilní aplikace (iOS/Android)
- Integrace se streamovacími službami
- Komunitní funkce (fórum, sdílení)
- Mezinárodní verze (překlady)
- Rozšíření databáze (další žánry/roky)
🤝 Přispění
📝 Jak přispět
- Nahlásit chybu - Vytvořte Issue
- Navrhnout vylepšení - Vytvořte Feature Request
- Přispět kódem - Fork → Změny → Pull Request
- Přidat album - Navrhněte nové album do databáze
- Překlad - Pomozte s překlady do dalších jazyků
🎯 Pravidla pro přispěvatele
- Dodržujte existující kódový styl
- Přidávejte testy pro nové funkce
- Aktualizujte dokumentaci
- Pište jasné commit zprávy
- Dělejte malé, zaměřené pull requesty
📦 Vývojové prostředí
# Klonování
git clone https://codeberg.org/Kankys/musicCalendar.git
cd musicCalendar
# Instalace závislostí (pro testování)
cd test
npm install
# Spuštění testů
npm test
📜 License
Projekt je licencován pod MIT License - podrobnosti viz LICENSE nebo DOCUMENTATION.md.
📞 Kontakt
👤 Autor
- Jméno: Lukáš Kaňka (Kankys)
- Web: lukaskanka.cz
- Bluesky: @kankys.bsky.social
- Codeberg: @Kankys
- Email: Kontaktní formulář
🌐 Projekt
- Live Demo: music.lukan.cz
- Repozitář: codeberg.org/Kankys/musicCalendar
- Dokumentace: DOCUMENTATION.md
- Issues: codeberg.org/Kankys/musicCalendar/issues
🏆 Poděkování
- ✅ Všem kapelám, které inspirovaly tento projekt
- ✅ Uživatelům, kteří podporují nezávislé projekty
- ✅ VPSfree.cz za bezplatné hostování
- ✅ Codeberg za open-source platformu
"Hudba je jazyk duše. A grunge s nu-metalem jsou její nejupřímnější dialekty." 🎸
Poslední aktualizace: 5. srpna 2026