The wish wall lets anyone leave a birthday message without creating an account. Visitors navigate toDocumentation Index
Fetch the complete documentation index at: https://help.helloazhenweb.top/llms.txt
Use this file to discover all available pages before exploring further.
/write, type their message, and submit — the wish is stored in Supabase and appears on the home page wall. Every message is assigned a random accent color so the wall looks lively and varied.
Writing a wish
Open/write in any browser. You will see a full-screen form with a textarea and a character counter.
Type your message
Write anything up to 500 characters. The counter at the bottom of the textarea updates as you type.
Submit
Click 送上祝福. The app posts your message to
/api/messages. All submissions are anonymous — no name or login is required.Validation and error messages
Client-side validation runs before the request is sent. The API also validates server-side.| Condition | Error message |
|---|---|
| Empty or whitespace-only content | 写点什么吧~ |
| Content longer than 500 chars | 太长了,控制在 500 字以内哦 |
| More than 3 messages in 5 minutes | 祝福太多啦,休息 5 分钟再发吧~ |
Rate limiting
The API limits each IP address to 3 messages per 5-minute window. The IP is hashed with SHA-256 before being stored, so no raw IP addresses are persisted in your database.Message colors
Each submitted message is randomly assigned one of six Tailwind color names:rose, sky, amber, emerald, violet, or pink. The color is stored in the color column and used by the home page to style each card.
API reference
GET /api/messages
Returns up to 100 messages, ordered newest first. ResponseArray of message objects, newest first. Maximum 100 items.
POST /api/messages
Submit a new wish. Request bodyThe birthday message. Must be between 1 and 500 characters after trimming whitespace.
| Status | Meaning |
|---|---|
| 201 | Message created successfully. |
| 400 | Validation failed (empty or too long). |
| 429 | Rate limit exceeded. |
| 500 | Database error or unexpected server error. |
Admin panel
A password-protected admin panel lets you view and delete messages. Access it from the navbar when you are authenticated. The panel shows all messages with their timestamps, colors, and the option to remove any entry.The admin panel requires the
ADMIN_PASSWORD environment variable to be set. See the deployment guide for details.