# 🎸 Denní Hudební Doporučení: 365 Alb na Celý Rok 💿 > **Každý den jedno ikonické grunge nebo nu-metal album. Prozkoumejte historii rockové hudby!** [![Live Demo](https://img.shields.io/badge/Live-Demo-red?style=for-the-badge&logo=google-chrome)](https://music.lukan.cz) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Codeberg](https://img.shields.io/badge/Codeberg-Repo-blue?style=for-the-badge)](https://codeberg.org/Kankys/musicCalendar) --- ## 🎵 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](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í 1. Naklonujte repozitář: ```bash git clone https://codeberg.org/Kankys/musicCalendar.git cd musicCalendar ``` 2. Otevřete hlavní stránku ve svém prohlížeči: ```bash # Na Linuxu/Macu xdg-open web/index.html # nebo open web/index.html # Na Windows start web/index.html ``` 3. Nebo spusťte jednoduchý server: ```bash # Python 3 python3 -m http.server 8000 --directory web # Node.js (npx) npx serve web ``` Pak navštivte: [http://localhost:8000](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 ```javascript { 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ě ```bash cd test npm install npm test ``` #### Na produkci ```bash 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](https://music.lukan.cz) - **Hosting**: VPSfree.cz - **Protokol**: HTTPS (vynuceno přes .htaccess) - **Server**: Apache s mod_rewrite ### 🚀 Deploy proces 1. **Vývoj**: Lokální úpravy 2. **Testování**: Spuštění Playwright testů 3. **Commit**: Uložení změn do Git 4. **Push**: Odeslání na Codeberg 5. **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 1. **Nahlásit chybu** - Vytvořte [Issue](https://codeberg.org/Kankys/musicCalendar/issues) 2. **Navrhnout vylepšení** - Vytvořte Feature Request 3. **Přispět kódem** - Fork → Změny → Pull Request 4. **Přidat album** - Navrhněte nové album do databáze 5. **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í ```bash # 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](LICENSE) nebo [DOCUMENTATION.md](DOCUMENTATION.md#-license). --- ## 📞 Kontakt ### 👤 Autor - **Jméno**: Lukáš Kaňka (Kankys) - **Web**: [lukaskanka.cz](https://lukaskanka.cz) - **Bluesky**: [@kankys.bsky.social](https://bsky.app/profile/kankys.bsky.social) - **Codeberg**: [@Kankys](https://codeberg.org/Kankys) - **Email**: [Kontaktní formulář](https://lukaskanka.cz/index/about/index.html) ### 🌐 Projekt - **Live Demo**: [music.lukan.cz](https://music.lukan.cz) - **Repozitář**: [codeberg.org/Kankys/musicCalendar](https://codeberg.org/Kankys/musicCalendar) - **Dokumentace**: [DOCUMENTATION.md](DOCUMENTATION.md) - **Issues**: [codeberg.org/Kankys/musicCalendar/issues](https://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](https://vpsfree.cz) za bezplatné hostování - ✅ [Codeberg](https://codeberg.org) 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*