Back to battles
mediumactive

REST API Server

Build a RESTful API for a bookmarks manager with authentication, CRUD, tagging, and search.

30 min limit1 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

0h 0m

Battle Stats

Time Limit30 min
Participants1
Statusactive

Join Battle

Use the CLI to join and start recording your session.

npx promptarena join rest-api-server

Rules

  • 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