尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Live: https://www.discomplete.com
A music diary. Log what you listened to, how you listened (stream, vinyl or CD), what you thought — and come back to see how it changed.
Stack: Next.js 16 (App Router) · Supabase (auth + Postgres with row-level security) · Deezer's open API for search and cover art · hosted on Vercel.
Not yet: "More like this" recommendations, Last.fm import, following friends.
supabase/migrations/0001_init.sql and click Run.https://www.discomplete.comhttps://www.discomplete.com/auth/callback, https://discomplete.vercel.app/auth/callback and http://localhost:3000/auth/callbacksupabase/migrations/0003_translations.sql and add DEEPL_API_KEY in Vercel (DeepL API, free Developer plan). Public notes not in English get an English translation; private notes are never sent to DeepL.SPOTIFY_CLIENT_ID and SPOTIFY_CLIENT_SECRET in Vercel. Without them the Spotify button opens a search.supabase/migrations/0006_discover_three.sql (keeps the day's picks, Shuffle, "Not for me" and taste-neighbour picks). Genre picks are built but switched off; set DISCOVER_GENRES=1 in Vercel to try them.supabase/migrations/0007_rediscover.sql (lets "Not now" snooze a record for six months).supabase/migrations/0008_heard_before.sql (lets entries be records you knew from before, with no date).supabase/migrations/0009_favourite_tracks.sql (up to three per entry, and the Fans' favourite tracks list on record pages).supabase/migrations/0010_lastfm.sql and add LASTFM_API_KEY in Vercel (free key from last.fm/api/account/create). Users connect their Last.fm username in Settings; whole-album sessions in their scrobbles become "Looks like you listened to …" suggestions in the diary.supabase/migrations/0011_turntable.sql (follows albums you've started until you finish them).supabase/migrations/0012_track_marks.sql (mark a track as played on the record page when Last.fm missed it).supabase/migrations/0013_challenges.sql (complete an artist, or work through a curated list).supabase/migrations/0014_review_later.sql (albums logged automatically from Spotify ask "how was it?").supabase/migrations/0015_half_stars.sql (ratings from ½ to 5).0004_explore_artists.sql and 0005_onboarding.sql.<p>Your sign-in code: <strong>{{ .Token }}</strong></p>
Wedin992/discomplete.NEXT_PUBLIC_SUPABASE_URL = the Project URLNEXT_PUBLIC_SUPABASE_ANON_KEY = the anon keymain deploys automatically after this.cp .env.example .env.local # fill in the two values
npm install
npm run dev
Entries are readable only by their owner at table level. Other people's notes and ratings reach the record page only through two database functions:
album_public_notes — non-private entries with a note; anonymous ones never include a namealbum_stats — rating average and distribution; private ratings are excludedThe service-role key is never needed by the app.
/settings/guide is a guide only the owner sees (emails in OWNER_EMAILS, default [email protected]).
Content lives in src/app/settings/guide/content.ts: when a feature changes, edit the sections and add a new revision at the top of REVISIONS.