aneurinandClaude Sonnet 5 6faf4a72df
CI / php-tests (pull_request) Failing after 5s
Add Gitea Actions workflow to run PHPUnit on pull requests
Runs the backend test suite against PHP 8.3 for every PR targeting
main, so branch protection can require it to pass before merging.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-05 09:23: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%