Back to battles
mediumactive
REST API Server
Build a RESTful API for a bookmarks manager with authentication, CRUD, tagging, and search.
30 min limit0 participants
nodetypescriptapi
PRD
# REST API Server PRD
## Overview
Build a RESTful API server for a bookmarks/link manager.
## Requirements
- CRUD endpoints for bookmarks: POST, GET (list + single), PUT, DELETE
- Each bookmark has: id, url, title, description, tags[], createdAt, updatedAt
- Token-based authentication (simple bearer token, no OAuth needed)
- Protected routes — all CRUD requires auth, health check is public
- Tag-based filtering: GET /bookmarks?tag=javascript
- Full-text search: GET /bookmarks?q=react
- Pagination: GET /bookmarks?page=1&limit=20
- Input validation with proper error responses (400, 401, 404)
- GET /health returns { status: "ok", uptime: ... }
- Proper HTTP status codes throughout
- In-memory storage (no database required, but allowed)
- CORS enabled
## Tech Stack
- Node.js (Express, Fastify, or Hono)
- TypeScript preferred but not required
- No database required (in-memory is fine)
## Scoring Criteria
- **Functional (40%)**: All CRUD works, auth works, search and filtering work
- **Quality (20%)**: Proper error handling, input validation, clean architecture
- **Fidelity (25%)**: All described endpoints and features implemented
- **Speed (15%)**: Time bonus
Time Remaining
333h 22m
Battle Stats
Time Limit30 min
Participants0
Statusactive
Join Battle
Use the CLI to join and start recording your session.
npx promptarena join rest-api-serverRules
- AI-assisted coding tools only -- no manual edits
- Stay within the time limit
- Scoring based on correctness, code quality, and speed
- Session must be recorded via the CLI