Add project docs, glossary, and licence
The Nuxt version is being rewritten in Go. This is the design that came out of it, split by how each part ages: - CONTEXT.md glossary, English identifiers and Finnish UI wording - docs/spec.md behaviour: rules, submission pipeline, routes, API contract, schema - docs/decisions.md why, append-only - docs/later.md deliberately not in v1 testdata/ytdlp-noose.json is a real yt-dlp dump used to test metadata prefill against a video with no track, artist or album tags.
This commit is contained in:
+77
@@ -0,0 +1,77 @@
|
||||
# Levyraati
|
||||
|
||||
A private music review club for about ten friends. Members submit songs and review each other's
|
||||
picks; other people's opinions of a song stay hidden until you've written your own.
|
||||
|
||||
Identifiers, schema, and routes are English. Rendered text is Finnish only. Each term below carries
|
||||
both, so the UI uses one word per concept everywhere.
|
||||
|
||||
## Language
|
||||
|
||||
**Member** — _jäsen_:
|
||||
A person with an account. Every account is a member; there is no other kind.
|
||||
_Avoid_: user, käyttäjä, account
|
||||
|
||||
**Admin** — _ylläpitäjä_:
|
||||
The operator of the installation. Not a member and not an account — a set of credentials on a
|
||||
separate surface. Never submits, reviews, or appears in any list of people.
|
||||
_Avoid_: admin user, superuser, role
|
||||
|
||||
**Invite** — _kutsu_ / **invite code** — _kutsukoodi_:
|
||||
A one-time code that permits one registration. Spent only by a registration that succeeds.
|
||||
|
||||
**Song** — _kappale_:
|
||||
A published piece of music with its converted audio, submitted by a member. A row in `songs` is a
|
||||
real song with no qualifier.
|
||||
_Avoid_: track, biisi, levy (that's a record, the wrong unit)
|
||||
|
||||
**Submission** — _(no Finnish noun; the member sees only the verb_ lähettää _and a status)_:
|
||||
A song in flight — uploaded or downloaded, converting, not yet published. It becomes a Song at
|
||||
Publish and ceases to exist as a Submission.
|
||||
|
||||
**Publish** — _julkaise_:
|
||||
The submitter's explicit act of turning a converted Submission into a Song. Never automatic.
|
||||
|
||||
**Review** — _arvostelu_:
|
||||
One member's score and written verdict on one song. At most one per member per song, and never on
|
||||
your own song.
|
||||
|
||||
**Reviewer** — _arvostelija_:
|
||||
The member who wrote a review. Reviews are never anonymous.
|
||||
|
||||
**Score** — _pisteet_:
|
||||
An integer 1–100 given in a review.
|
||||
_Avoid_: rating, arvosana
|
||||
|
||||
**Reveal**:
|
||||
Gaining access to other members' opinions of a song by having written your own review of it — or by
|
||||
being its submitter. Covers the reviews and the song's average score, on every surface that names a
|
||||
song. Enforced in the query, never in the rendering.
|
||||
|
||||
Per-song opinion is gated; whole-history aggregate is public. A member's profile shows counts and
|
||||
averages over everything they have done, never how they reviewed any particular song.
|
||||
|
||||
**Edit window**:
|
||||
The 30 minutes after a review's last change, during which its author may edit or delete it. Then the
|
||||
review is on the record permanently.
|
||||
|
||||
**Locked** (of a song):
|
||||
Having at least one review, which freezes its title, artist, and description and prevents the
|
||||
submitter deleting it. A live state, not a one-way door: if the last review is deleted, the song is
|
||||
editable again.
|
||||
|
||||
**Report** — _palaute_:
|
||||
A member's free-text note about something broken or annoying, carrying the page they were on. Open
|
||||
until the admin resolves it. Deliberately has no category, priority, or severity.
|
||||
_Avoid_: ticket, issue, bug, vikailmoitus
|
||||
|
||||
**Genre** — _genre_:
|
||||
One value from a fixed list, chosen by the submitter.
|
||||
_Avoid_: tyylilaji, tag, category
|
||||
|
||||
**Ban** — _estä_:
|
||||
Ending a member's participation: login refused and live sessions dropped. Their songs and reviews
|
||||
remain and continue to count. Reversible.
|
||||
|
||||
**Stats** — _tilastot_:
|
||||
The always-public leaderboards. The only place aggregate opinion is visible without having reviewed.
|
||||
Reference in New Issue
Block a user