BerkelanaRasa is a culinary-arts news website built as a midterm assignment for a Cyber Media course group project. The site is titled "BerkelanaRasa" and carries the tagline "setiap sajian punya cerita" ("every dish has a story"). Its purpose is to present culinary-arts journalism organized into five editorial news channels:
The audience is twofold: curious readers who browse and read culinary stories organized by channel, and the project's own group of content contributors — Cyber Media students who prepare and supply the news content and sections for the site. The logo and the remaining content/news sections are still being finished by other group members and will follow later; the site must therefore look authored and intentional while it is still being completed.
BerkelanaRasa is delivered as a first-party web application with a public reading surface and a protected content-management surface. Anonymous visitors land on a poster-style entry page, move into the five-channel news structure, and read individual articles. Content contributors enroll themselves, verify on return, and manage the culinary news content — including continuing to add the remaining sections that other group members are still finishing.
Actors
Accepted behavior
Ownership and exclusions
All current surfaces are first-party application surfaces. No provider-owned, external-only, or headless delivery is established by the source. The logo and the remaining content/news sections are not yet available and are explicitly deferred to other group members; this document does not invent their content, and no adjacent capability (comments, ratings, newsletters, search, social sharing, analytics dashboards, or account administration) is introduced.
BerkelanaRasa is a small editorial magazine site, not a platform. Its current delivery boundary is: a public, anonymously readable five-channel culinary news structure, plus a protected contributor workspace where the group's own members prepare and publish that content. Readers never need an account. Contributors need one because their drafts, edits, and channel assignments are durable, private, and must remain bound to the correct person across sessions and across the group's staggered delivery of sections.
The logo and the remaining news sections are explicitly future work owned by other group members. The current system must present the five channels and any already-supplied content truthfully, and must be able to accept the remaining sections as they arrive — without this document specifying what those sections contain.
Not applicable. No reference directive in this project declares a content_source, so no verified factual inventory is reproduced here. The only source-supplied content facts are the site title, the tagline, and the five channel names, all preserved above and throughout this document.
FR-1 — Site identity and tagline (explicit) As a Site Visitor / Reader, I should see the site presented as "BerkelanaRasa" with the tagline "setiap sajian punya cerita" so that I immediately understand what the site is.
FR-2 — Five-channel structure (explicit) As a Site Visitor / Reader, I should see the site organized into exactly five news channels — Superfoods/Healthy Foods, Homemade Delicacies, Local Heroes, Culinary Trends, and Kitchen Tips — so that I can find culinary content by topic.
FR-3 — Browse a channel's articles (required_inference) As a Site Visitor / Reader, I should open a channel and see its published articles so that I can choose what to read.
FR-4 — Read a published article (required_inference) As a Site Visitor / Reader, I should open an article and read it in full so that I get the culinary story I selected.
FR-5 — Content available before reading (required_inference) As a Site Visitor / Reader, I should only encounter channel and article content that has actually been published, so that I never see unfinished drafts.
FR-6 — First-use enrollment (required_inference) As a Content Contributor / Group Member, I should be able to enroll myself on first use so that I can begin preparing content for the site.
FR-7 — Returning verification (required_inference) As a Content Contributor / Group Member, I should verify myself on return so that I can resume my protected content work.
FR-8 — Manage supplied culinary news content (required_inference) As a Content Contributor / Group Member, I should see and manage the culinary news content supplied for the site so that I can keep the site's content current.
FR-9 — Create or edit content and assign its channel (required_inference) As a Content Contributor / Group Member, I should create or edit a content item and assign it to the correct culinary channel before publication so that it appears under the right channel on the site.
FR-10 — Continue adding the remaining group-member contributions (required_inference) As a Content Contributor / Group Member, I should be able to keep adding the remaining content and news sections as other group members finish their work, so that the site can be completed incrementally.
FR-11 — Deferred logo and remaining sections (explicit) As a Content Contributor / Group Member, I should be able to work with the site while the logo and the remaining content/news sections are still being finished by other group members, so that the site is usable before all assets arrive.
Product context. A curious reader who arrives at BerkelanaRasa with no account and no prior relationship with the site. They may come from a shared link, a class presentation, or a search, and they judge the site in seconds.
Primary goal. Find and read culinary-arts content organized by channel.
Distinct accepted responsibilities. Browsing the five channels, choosing a channel, selecting a headline, and reading a published article in full. The reader never creates, edits, or publishes anything, and never needs an account.
Relevant inputs or decisions. Which of the five channels to open; which headline to read; whether to continue to another channel or article.
Interactions with other accepted participants. The reader is the audience for the Content Contributor's published work. The reader never interacts with the contributor directly; the contributor's channel assignment is what makes the reader's navigation coherent.
Observable success. The reader opens a channel, sees its published headlines, opens an article, and reads it with its channel identity and metadata intact.
Product context. A member of the Cyber Media course group project who prepares and supplies the news content and sections for BerkelanaRasa — including the logo and the remaining news sections still being finished by other group members. Their work is staggered across the group, so the site must accept contributions as they arrive.
Primary goal. Have their contributed culinary content published under the correct channel on BerkelanaRasa.
Distinct accepted responsibilities. Enrolling on first use; verifying on return; viewing and managing the supplied culinary news content; creating or editing a content item; assigning it to the correct one of the five channels before publication; and continuing to add the remaining group-member contributions as they are finished.
Relevant inputs or decisions. The content item's title and body; which of the five channels it belongs to; whether it is ready to publish; whether a draft is complete enough to save.
Interactions with other accepted participants. The contributor produces the content that the Site Visitor / Reader consumes. Multiple group members contribute to the same body of content, so each contributor's own items must remain bound to them and their channel assignments must remain correct for readers.
Observable success. A saved item carries the right channel, appears in the contributor's Content list with its state, and — once published — is readable by a visitor under that channel.
The creative direction is authoritative for this section. Its muse is Paula Scher, and its headline idea is typography as architecture: the culinary map, painted loud — the words themselves are the artwork, so the site looks finished and intentional even while the logo and photography are still pending.
Colour tokens (light mode)
| Role | Hex | Use |
|---|---|---|
| Background (warm poster paper) | #F4EFE6 | Dominant ground, ~60% of any screen |
| Surface (inverted panel) | #1A1A1A | Pull-quote and footer panels, dark beat against the paper |
| Text | #111111 | Display type, rules, hairline frames, ~25% of any screen |
| Primary (Scher red) | #E23A1E | Wordmark, tagline underline, section rules, primary CTA |
| Accent (amber) | #F2C230 | Flat channel-coding block only |
| Muted | #6E6A63 | Metadata, datelines, captions |
Channel colour-coding (flat blocks, black type on top, one colour per channel)
| Channel | Colour |
|---|---|
| Superfoods/Healthy Foods | #E23A1E (red) |
| Homemade Delicacies | #F2C230 (amber) |
| Local Heroes | #0E7C7B (teal) |
| Culinary Trends | #3F7D3A (leaf green) |
| Kitchen Tips | #1A1A1A (black, paper-white type) |
Typography
clamp(56px, 13vw, 168px); hero tagline clamp(20px, 3.4vw, 40px) Archivo 800 caps; section headlines clamp(34px, 5.5vw, 72px) Anton; article H1 clamp(32px, 5vw, 64px) Anton; H2 28px Archivo 700; body 17px/1.65 Archivo 400; metadata 13px Archivo 600 caps 0.14em tracking; tabular numerals for dates and read-times.Shape language. Hard edges only — zero border radius anywhere. Black 2px rules and 4px frame borders, flat colour rectangles butting directly against each other with no gaps, diagonal colour bands at section transitions, and type that bleeds off the right edge of its own container. No shadows, no rounded cards, no soft blobs.
Spacing rhythm. Poster grid: a 12-column asymmetric layout where type blocks and colour fields overlap by design. Full-bleed channel bands run edge to edge. Article lists are dense two-column newspaper grids separated by black hairlines rather than card gaps. Every section opens with a black rule and a numbered label (01–05).
Imagery style. Typography is the image. Where photography exists it appears as high-contrast duotone cutouts (food shot reduced to black plus one channel colour), hard-cropped to the grid and bled off an edge. Until the group's photos arrive, each channel gets a generated poster tile: a flat colour field with the channel name in Anton and a simple black pictogram (leaf, pot, star, trend arrow, whisk) drawn as thick 3px strokes.
Contrast. Body text is always black on paper or black on a coloured block; black blocks pair with paper-white type. Contrast stays above 7:1. No blue, indigo, or violet appears anywhere in the palette.
The wordmark as a full-width cropped poster.
The public entry is a full-viewport poster, not a SaaS hero. The warm paper ground #F4EFE6 fills the screen. BERKELANARASA is set in Anton at clamp(56px, 13vw, 168px), flush left, occupying the full width and deliberately running to the right viewport edge so the final "A" is cropped by the frame — the word is the artwork, and the site reads as finished with zero assets. Beneath it, a red #E23A1E horizontal bar spans the full width carrying SETIAP SAJIAN PUNYA CERITA in Archivo 800 caps, paper-white, breaking onto two lines at 375px.
To the right of the wordmark's lower half sits a stack of five flat channel blocks — red, amber, teal, green, black — each labelled with its channel number and name in caps, sized like a printed legend. This legend is the site's wayfinding system: each channel's colour follows it everywhere as band backgrounds, rule colours, and article tags.
There is no centred column and no button-and-subtext stack. The only control is a black rectangle reading MASUK KE DAPUR → pinned to the bottom-left of the hero, with the scroll cue as a rotated vertical label on the right edge.
Readability guarantee. The wordmark's crop is carried by the type's own frame on desktop only; at 375px the wordmark wraps to two stacked lines with no letter ever clipped, and at every viewport (375px, 768px, 1280px) the wordmark, tagline, channel labels, and the entry control stay entirely inside the viewport and their container. Where the direction asks for a cropped or bleeding gesture, it is carried by imagery and decoration — never by readable text or a control.
Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: flat
Landing Hero Motion Brief
prefers-reduced-motion, the marquee becomes a static wrapped row of the same five channel names, the staggered word reveals and colour-block wipes resolve immediately to their final composed state, and every item remains fully readable. No readable text or control is ever moved under the cursor.prefers-reduced-motion, moving and scrollable content provides a usable static arrangement — items wrap into rows or scroll horizontally so each can be brought fully into view.docker-compose.yml as the inventory of runnable services — the frontend and the single backend, with the database as its dependency.Kubernetes is not required: the deployment is a single small web application with one backend and one database.


No comments yet. Be the first!