# NK Admin The website at **https://admin.nkbmusic.com** for managing the Nanga Kathai catalog. Only admin accounts can sign in. ## Signing in 1. Open https://admin.nkbmusic.com and enter your email. 2. Type the 6-digit code from the email ("Your Nanga Kathai sign-in code"). 3. Only accounts with the admin role get in. Anyone else is signed straight out. **To make someone an admin**, they first sign up in the app. Then open Studio (https://app.nkbmusic.com) → SQL editor and run: ```sql update profiles set role = 'admin' where id = (select id from auth.users where email = 'person@example.com'); ``` ## Pages | Page | What you do there | |------|-------------------| | **Overview** | Counts, plus a **Needs attention** list (songs to review, creator applications, songs without a singer or album, empty albums). Click a line to open the matching list. | | **Songs** | Search by title, singer or album and filter with the chips (Waiting for review, Live, Hidden, No singer, No album…). Use ▶ to listen. Click a row to edit its title, Tamil title, meaning, year, album, occasion, singers and status. | | **Albums** | Rename albums or add new ones. Click an album to see its songs. Use **⋮ → Merge** for duplicates and **Delete** for empty albums. | | **Singers** | Edit names, village/hatti and bio, and mark singers *Verified*. Click a singer to see their songs. Use **⋮ → Merge** when someone was entered twice. | | **Creators** | Applications from people who say they are singers or creators. Check their links and **View ID**, then **Approve**, **Ask for more** or **Reject**. | ### Publishing songs - A song only appears in the app once its status is **Live**. Use **✓** on the row or **Approve** in the bulk bar. - **Hide** (the crossed-out eye) takes a song out of the app at once and keeps it in the catalog. - A song without an audio file can't be approved. ### Editing many songs at once 1. Tick the songs. The header checkbox selects the whole page. 2. In the bar that appears, use **Approve**, **Hide** or **Edit…**. 3. In **Edit…**, tick only the fields to change: album, occasion, singers or status. - **Singers → Add to existing** keeps the current singers and adds yours. - **Singers → Replace all** removes the current singers and sets yours. In the album and singer boxes, type to search. If the name isn't there, pick **New album "…"** or **New singer "…"** to create it on the spot. Drag singers to change their order (the first is the lead). ### Approving a creator When you approve someone, choose their existing singer profile if they are already in the catalog. Their songs are then linked to their account. If you choose nobody, a new verified singer is created. Approval also gives their account the *artist* role. The ID document is private: **View ID** opens a link that works for 10 minutes. ## Publishing a new version (developers) Run from your own computer in the repo root (needs Flutter, ssh and tar; Git Bash on Windows): ```sh sh admin/deploy-admin.sh ``` It builds the site with the app's `env.json`, uploads it into `~/APPS/nk-backend/supabase-project/nk/admin` on the server and reloads the `nk-admin` container (127.0.0.1:18080). HestiaCP proxies admin.nkbmusic.com to that container. The script warns if the database migration is missing. Database changes (`supabase/migrations/*_admin.sql`) go out the usual way: push to git, then on the server run ```sh sh ~/APPS/nanga_kathai/server/update.sh ``` To run it locally: `cd admin && flutter run -d chrome --dart-define-from-file=../env.json`.