CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/nextjs-api-patterns

Next.js App Router API patterns — Route Handlers, Server Actions, middleware, validation, caching, error handling

92

1.58x
Quality

90%

Does it follow best practices?

Impact

95%

1.58x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

task.mdevals/scenario-4/

Build a Restaurant Menu API

Problem/Feature Description

A restaurant needs a Next.js App Router application to manage its menu. Build the API endpoints and a simple page to display the menu.

Endpoints:

  • GET /api/menu -- list all menu items
  • GET /api/menu/[id] -- get a single menu item by ID
  • POST /api/menu -- create a new menu item (fields: name, description, price, category)
  • PUT /api/menu/[id] -- update a menu item
  • DELETE /api/menu/[id] -- delete a menu item

Business rules:

  • Name is required and must be non-empty
  • Price must be a positive number
  • Category must be one of: appetizer, main, dessert, drink
  • Menu item names must be unique

Use in-memory storage (no real database needed).

Also create a page at /menu that displays all menu items fetched from the API.

Output Specification

Produce:

  • app/api/menu/route.ts -- GET and POST handlers
  • app/api/menu/[id]/route.ts -- GET, PUT, DELETE handlers for single items
  • app/menu/page.tsx -- server component page displaying menu items
  • package.json -- with dependencies

You may create additional files as needed for a well-structured codebase.

evals

tile.json