Apache listens on 80; declaring it lets `docker run -P` and other tooling discover the port. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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
- 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.
- Open http://localhost:8025 (Mailpit) instead of a real inbox, and open the message that just arrived there.
- 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.