O Aplikaci Fretty

Příběh za aplikací Fretty

Ahoj všem!

S vývojem aplikace Fretty jsem začal přibližně v roce 2015. Důvod byl celkem praktický: pracoval jsem jako učitel kytary a potřeboval jsem online interaktivní nástroj pro vizualizaci hudební teorie na hmatníku, který by dětem i začátečníkům pomohl lépe pochopit kytarové základy.

Jako webový vývojář jsem v tom uviděl příležitost vytvořit si vlastní aplikaci a prozkoumat hudební teorii z analytického a matematického pohledu. Zároveň pro mě psaní kódu pro tuto kytarovou aplikaci sloužilo jako praktické prostředí pro učení moderního programování.

Jak se říká, „všechno je vždy ve vývoji“. V roce 2021 jsem kód aplikace důkladně uložil do repozitáře na Bitbucketu, abych ji připravil na další fázi vývoje.

Spravovat a modernizovat plnohodnotnou aplikaci jako samostatný vývojář (solo developer) je velká výzva, ale krok za krokem ji posouvám dále. Děkuji za vaši podporu a pochopení!


Hlavní funkce a možnosti

  • Vizualizace hmatníku: Mapování tónů, akordů, stupnic a harmonických struktur přímo na interaktivním virtuálním hmatníku.
  • Interaktivní přizpůsobení: Nastavení čísel pražců, viditelnosti těla kytary, základních tónů (Chord Root), typů a přípon akordů i přepínání vizuálních barevných témat.
  • Diagramy akordů a notace: Generování vlastních akordových diagramů (přes SVGuitar / Chordic) a práce s notovým zápisem či formátem MusicXML (přes OpenSheetMusicDisplay).
  • Zvukové přehrávání: Možnost přehrát označené tóny a akordová aranžmá přímo v prohlížeči.

Architektura a technologie

  • Next.js & React 19: Přechod z původního prostředí Webpack / Create React App na moderní Next.js s Turbopackem a React 19.
  • Stavový management v Zustand: Kompletní refaktorování na lehký a rychlý Zustand store (useFretStore) pro svižné a oddělené UI.
  • Client-First & Statický export: Konfigurace pro statický export (output: 'export'), která zajišťuje vysoký výkon a plnou přenositelnost.
  • Vektorové rozhraní (SVG & <foreignObject>): Dynamické mapování souřadnic s responzivní rotací pro mobilní i desktopové obrazovky.
  • NPM balíček (@wind177/fretty): Publikováno jako samostatná knihovna, která se na webu guitar-poet.com načítá dynamicky bez SSR, aby se předešlo chybám při hydrataci.

Vize do budoucna: EdTech a robotika

Fretty je navržena s důrazem na hudební vzdělávání. Součástí dlouhodobé vize je propojení webové aplikace s fyzickým kytarovým robotem Frettym – hardwarovým a AI modulem, který by v budoucnu ukazoval a fyzicky přehrával akordy dětem při výuce hudební výchovy.