Project scope shifts from a todo list to a project-management app. This is a straight terminology rename across code, comments, migrations, tests, and docs — no behaviour change. - DB: table todo_lists -> projects, todo_items -> cards, column todo_items.list_id -> cards.project_id, indexes renamed. Migrations 003/004 rewritten in place (destructive; recreate the volume with `down -v`). - API: /api/lists -> /api/projects, nested /items -> /cards, reorder body item_ids -> card_ids, JSON keys list/lists/item/items -> project/projects/ card/cards, item_count -> card_count, list_id -> project_id, and the matching error messages. - PHP: TodoList/TodoItem Repository + Controller -> Project/Card; shared SQL aliases l/i -> p/c. - Frontend: stores lists.ts/items.ts -> projects.ts/cards.ts (useProjectsStore / useCardsStore, MAX_PROJECTS), ListView -> ProjectView, TodoItemRow -> CardRow, route /lists/:id -> /projects/:id (name "project"), types TodoList/ TodoItem -> Project/Card, and all UI copy. CSS .lists*/.list-head* -> .projects*/.project-head*, .item* -> .card-row* (kept the generic .card panel class), .items -> .cards. - Product name in the header, PWA manifest, index.html title and package descriptions -> "Project Manager" / "Projects". Backend suite: 37 passing. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
39 lines
893 B
JSON
39 lines
893 B
JSON
{
|
|
"name": "aneurin/php-todo-list",
|
|
"description": "Simple project-management REST API + SPA (PHP, SQLite)",
|
|
"type": "project",
|
|
"license": "MIT",
|
|
"require": {
|
|
"php": ">=8.1",
|
|
"ext-json": "*",
|
|
"ext-mbstring": "*",
|
|
"ext-pdo": "*",
|
|
"ext-pdo_sqlite": "*",
|
|
"firebase/php-jwt": "^7.0",
|
|
"phpmailer/phpmailer": "^7.1",
|
|
"slim/psr7": "^1.6",
|
|
"slim/slim": "^4.12",
|
|
"vlucas/phpdotenv": "^5.6"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^10.5"
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"App\\": "src/"
|
|
}
|
|
},
|
|
"autoload-dev": {
|
|
"psr-4": {
|
|
"Tests\\": "tests/"
|
|
}
|
|
},
|
|
"config": {
|
|
"sort-packages": true
|
|
},
|
|
"scripts": {
|
|
"migrate": "php bin/migrate.php",
|
|
"serve": "php -S localhost:8080 -t public"
|
|
}
|
|
}
|