Site de repertoriu pentru Corul AMD — partituri și înregistrări pe voci (Sopran, Alto, Tenor, Bas).
Construit cu React 19, TypeScript, Vite și Tailwind CSS v4.
npm install
npm run devnpm run dev— pornește serverul de dezvoltarenpm run build— verifică tipurile și construiește pentru producțienpm run preview— previzualizează build-ul de producțienpm test— rulează testele (Vitest)npm run lint— verifică regulile ESLintnpm run typecheck— verifică tipurile TypeScriptnpm run format— formatează codul cu Prettiernode scripts/make-sample-audio.mjs— regenerează fișierele audio de test dinpublic/sample-audio/node scripts/sync-drive.mjs— sincronizeazăpublic/songs.jsondin Google Drive (necesităDRIVE_API_KEYșiDRIVE_ROOT_FOLDER_ID)
sync-drive.mjs scrie cheia DRIVE_API_KEY direct în URL-urile audio din
public/songs.json, fișier care este comis în acest depozit public și servit
public de site — deci cheia devine, practic, publică. Din acest motiv, cheia
trebuie creată în Google Cloud Console ca o cheie API restricționată:
restricție de tip „HTTP referrer" limitată la https://arbust280.github.io/*
și restricție de API limitată la Google Drive API, cu acces doar de citire.
public/songs.json și public/sample-audio/ sunt date de eșantion,
incluse în depozit doar ca să existe ceva de afișat la npm run dev. Ele
sunt suprascrise automat de sincronizarea reală cu Google Drive
(scripts/sync-drive.mjs, rulată nocturn de .github/workflows/sync.yml).
Pentru structura folderului Google Drive și denumirile de fișiere acceptate,
vezi GHID-INCARCARE.md.