metatroncubeswdev 178d2d00ab Nanga Kathai: Flutter app, self-hosted backend and song tools
- Flutter app (Android/iOS): home, explore, albums, search, player with
  equalizer, mini player, sign up/sign in with email codes, profile,
  encrypted offline downloads, About page
- server/: one-command deploy of self-hosted Supabase behind HestiaCP/nginx
  (or Caddy), migrations, backups, email templates
- supabase/migrations: schema, row-level security, profiles
- tools/: song scanner and importer

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:39:26 -04:00
..

Song import

  1. Scan (already run once; run again if you add files to songs/; it overwrites the CSV, so save your edits under another name first):
    pip install mutagen
    python tools/scan_songs.py songs songs_manifest.csv
    
  2. Review songs_manifest.csv in Excel:
    • title: required. Songs without a title are skipped.
    • singers: separate names with commas (Gowtham, Bharathi). It can stay empty; the app then shows "Singer not credited yet".
    • occasion: one of huttu habba madhuvae devotional folk saavu instrumental.
    • include: yes or no. Duplicates and the old hits folder (Tamil film songs) start as no.
    • notes says what needs a look. Save as CSV UTF-8.
  3. Check: python tools/import_songs.py --dry-run
  4. Import (the server must be running and the migrations applied):
    set NK_URL=https://app.nkbmusic.com
    set NK_SERVICE_KEY=<SERVICE_ROLE_KEY from the server .env>
    python tools/import_songs.py            # pending; add --approve to publish now
    
    Re-running skips songs already imported, so you can import in batches as you finish reviewing.