aneurinandClaude Sonnet 5 fb67b57807 Reorganize docs: simple README + organized docs/
Removed docs/stage-1-auth-api.md -- an early planning doc, badly out
of date (predates passwordless auth, statuses, the inbox, and
everything after).

README.md is now just: what this is, a pointer to docs/, an end-user
getting-started guide (Docker up, first-time login via the bundled
Mailpit catcher, adding a passkey), and provenance -- everything else
it used to carry moved out:

- docs/api.md -- the full REST API reference (auth, passkeys,
  projects, cards, statuses, error shape) + the curl walkthrough.
- docs/setup.md -- running without Docker, every environment
  variable, the test suite.
- docs/architecture.md -- backend file layout; points to
  web/README.md for the frontend, which already documented itself in
  enough depth to stand alone.
- docs/history.md -- the stage-by-stage feature log, with a new row
  for this session's refactoring work (which hadn't been logged yet).
- docs/README.md -- an index tying the above together.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-05 01:41:55 +01:00
2026-09-03 17:35:10 +01:00

PHP Project Manager

A small project-management app: each user owns projects, and each project holds cards you can organise as a flat list or a drag-and-drop kanban board. It's a REST API in PHP (Slim 4) backed by SQLite, with a Vue 3

  • TypeScript PWA frontend. There's no password — signing in is a link emailed to you, which creates your account the first time, and you can add a passkey afterwards for a quicker sign-in next time.

Documentation

This page covers running the app. For anything more technical — the REST API, configuration, running without Docker, project layout, and the development history — see docs/.

Getting started

The only requirement is Docker with the Compose plugin.

docker compose up -d

Then open http://localhost:8080. A Mailpit mail-catcher also starts alongside the app, at http://localhost:8025 — since a default local setup has nowhere else to send the sign-in emails.

First-time login

  1. Enter any email address and submit. There's no separate sign-up step and no password to choose — this both creates your account and sends it a sign-in link.
  2. Open http://localhost:8025 (Mailpit) instead of a real inbox, and open the message that just arrived there.
  3. Click the link inside it. You're now signed in, on a new, already-verified account.

From then on, your profile page (top right, your email address) lets you add a passkey — your device's fingerprint, face, or PIN — so you don't need to wait on an email to sign in next time.

Everything the app stores (your account, projects, cards) lives in a Docker volume, so it survives docker compose restart / down + up; docker compose down -v wipes it for a clean slate. See docs/setup.md for configuration, running without Docker, and running the test suite.

Provenance

This project was generated with Claude Code.

S
Description
No description provided
Readme
588 KiB
Languages
PHP 61%
Vue 21.4%
TypeScript 8.1%
CSS 7.8%
Dockerfile 1.3%
Other 0.4%