T-1: initialize monorepo structure with backend and frontend scaffolds

Backend: Spring Boot 3.5.11 on Java 25, Maven with wrapper, hexagonal
architecture package layout (domain/application/adapter/config), health
endpoint with integration test. Originally planned for Spring Boot 4.0
but pivoted due to massive package reorganization in 4.0 (see addenda
in research and plan docs).

Frontend: Vue 3 scaffolded via create-vue with TypeScript, Vue Router,
Vitest, ESLint, Prettier. Pivoted from Svelte due to ecosystem maturity
concerns (broken router ecosystem for Svelte 5).

Also: extended .gitignore for Java/Maven and Node/Vue artifacts, updated
CLAUDE.md with tech stack, build commands, agent documentation sections,
and document integrity rule.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-04 01:32:18 +01:00
parent 7b460dd322
commit a55174b323
58 changed files with 8933 additions and 9 deletions

View File

@@ -36,7 +36,7 @@ A privacy-focused, self-hostable web app for event announcements and RSVPs. An a
| Layer | Technology |
|--------------|------------------------------------------|
| Backend | Java (latest LTS), Spring Boot, Maven |
| Frontend | Svelte, Vite |
| Frontend | Vue 3, Vite, TypeScript |
| Database | PostgreSQL (external, not bundled) |
| Architecture | SPA + RESTful API, hexagonal/onion backend |
| Deployment | Single Docker container |
@@ -104,7 +104,7 @@ If you use the Unsplash header image feature, mount a persistent volume for stor
### Prerequisites
- Java (latest LTS) + Maven
- Node.js + npm
- Node.js (latest LTS) + npm
- PostgreSQL (or Docker for Testcontainers)
### Project structure
@@ -112,7 +112,7 @@ If you use the Unsplash header image feature, mount a persistent volume for stor
```
fete/
├── backend/ # Spring Boot application (Maven)
├── frontend/ # Svelte SPA (Vite)
├── frontend/ # Vue 3 SPA (Vite, TypeScript)
├── spec/ # User stories, personas, implementation phases
├── Dockerfile # Multi-stage build for production
└── CLAUDE.md # Project statutes and AI agent instructions