Skip to content

docs: add ADR 003 — admin / CRUD tooling#52

Merged
martinyde merged 2 commits into
developfrom
feature/issue-39-adr-admin-crud-tooling
Jun 12, 2026
Merged

docs: add ADR 003 — admin / CRUD tooling#52
martinyde merged 2 commits into
developfrom
feature/issue-39-adr-admin-crud-tooling

Conversation

@martinydeAI

Copy link
Copy Markdown
Collaborator

Summary

Adds ADR 003 recording the backend admin / CRUD tooling decision from #39Symfony Form + hand-written controllers and Twig templates over a generator (EasyAdmin, Sonata, API Platform Admin).

  • docs/adr/003-admin-crud-tooling.md (new, Draft).
  • docs/adr/README.md — index entry for 003.
  • CHANGELOG.md[Unreleased] / Added entry.

The ADR is intentionally scoped to the generator question. Form
component conventions and the in-admin authorisation model are left to
follow-on decisions once the data model (#14) and roles (#12) firm up.

Rationale (short)

  • Backend surface is small: users, assistants, light moderation.
  • The assistant entity needs first-class product UI anyway — a generator would have to step aside.
  • User management requires row-level domain-manager scoping; generators add complexity that custom controllers/voters avoid.
  • EasyAdmin's Bootstrap UI conflicts visually with the Tailwind frontend chosen in ADR 002.
  • Both @martinyde and @tuj indicated support for option 4 on the issue.

Note — pre-existing ADR numbering conflict

docs/adr/002-frontend-tooling.md is on develop but is not listed in the index (the index's 002 entry is the MPL-2.0 ADR). Two files share the 002- prefix today. This PR does not touch that conflict — I picked 003 for the new ADR and left the existing inconsistency for a separate cleanup so the review for this ADR isn't muddled with a renumber.

Test plan

Closes #39

🤖 Generated with Claude Code

Records the decision to build backend management screens with Symfony Form plus hand-written controllers and Twig templates rather than adopt an admin generator (EasyAdmin, Sonata, API Platform Admin). The backend surface is small, the assistant entity needs a first-class product UI anyway, and the user-management screens require row-level domain-manager scoping that a generic CRUD generator would only get in the way of. Both martinyde and tuj have indicated support on the issue.

Status: Draft. Index updated. CHANGELOG entry under [Unreleased] / Added. Refs #39.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@martinyde martinyde requested a review from lilosti June 11, 2026 10:48
lilosti
lilosti previously approved these changes Jun 11, 2026
@martinyde martinyde merged commit 4ff4735 into develop Jun 12, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Decide on backend admin/CRUD tooling (EasyAdmin?) and form conventions

3 participants