Revision 1 of 16

First draft: The Urlist on Next.js and SQLite, with anonymous and account-owned lists, soft delete and restore, live metadata, QR codes and a mock GitHub login.

21.0 KB

First draft — 790 lines, 21,035 bytes

Nothing to compare against yet; the first 40 lines follow. The whole file is on GitHub.

# Build The Urlist

Build the complete application described below in this repository.

Work autonomously from start to finish. Make an internal plan, implement all features, add tests, run validation, fix defects, and continue until the application is complete. If a small implementation detail is not specified, choose a reasonable solution and document it. Do not stop after scaffolding or partial implementation.

Do not access or copy an existing implementation of The Urlist.

## Product

The Urlist lets people create ordered lists of web links and publish each list at one short public URL.

Use this main copy:

> Group links, save and share them with the world.

> Add links to a list and share it with one simple URL.

A person can start a list without an account.

- A signed-out person can publish an anonymous list. After publication, the list is permanent and cannot be edited, deleted, or claimed.
- A signed-in person publishes an account-owned list. Its owner can edit it, soft-delete it, and restore it.
- Anyone can view an active list without signing in.

## Required technology

Use:

- Next.js with the App Router
- React
- TypeScript with strict mode
- Node.js
- npm
- SQLite
- Direct parameterized SQL through `better-sqlite3`
- Vitest for unit and integration tests
- Playwright for browser tests

Do not use: