Group events into five temporal sections with section headers, date subheaders, and context-aware time display (clock time for upcoming, relative for past). Includes new useEventGrouping composable, SectionHeader and DateSubheader components, full unit and E2E test coverage. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
61 lines
4.0 KiB
Markdown
61 lines
4.0 KiB
Markdown
# fete
|
|
|
|
A privacy-focused, self-hostable PWA for event announcements and RSVPs. Alternative to Facebook Events or Telegram groups — reduced to the essentials.
|
|
|
|
## Constitution
|
|
|
|
Project principles, constraints, tech stack, and governance are defined in `.specify/memory/constitution.md`. That file is the single source of truth — read and follow it.
|
|
|
|
## Language
|
|
|
|
- Conversation and brainstorming: German.
|
|
- Code, comments, commits, documentation: English — no exceptions.
|
|
|
|
## Build Commands
|
|
|
|
| What | Command |
|
|
|------------------|----------------------------------------|
|
|
| Backend test | `cd backend && ./mvnw test` |
|
|
| Backend run | `cd backend && ./mvnw spring-boot:run` |
|
|
| Frontend install | `cd frontend && npm install` |
|
|
| Frontend build | `cd frontend && npm run build` |
|
|
| Frontend test | `cd frontend && npm run test:unit` |
|
|
| Frontend dev | `cd frontend && npm run dev` |
|
|
| Backend checkstyle | `cd backend && ./mvnw checkstyle:check` |
|
|
| Backend full verify | `cd backend && ./mvnw verify` |
|
|
|
|
## Agent Documentation
|
|
|
|
- Feature specs, research, and plans: `specs/[NNN-feature-name]/` (e.g. `specs/006-create-event/spec.md`, `research.md`, `plan.md`)
|
|
- Cross-cutting research: `.specify/memory/research/`
|
|
- Cross-cutting plans: `.specify/memory/plans/`
|
|
- Agent test reports (browser verification): `.agent-tests/` (gitignored)
|
|
- Use the `browser-interactive-testing` skill (rodney/showboat) for visual verification — this is an agent tool, not manual work.
|
|
|
|
## Skills
|
|
|
|
The following skills are available and should be used for their respective purposes:
|
|
|
|
| Skill | Trigger | Purpose |
|
|
|-------------------------------|----------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|
|
|
| `rpi-research` | Deep codebase investigation needed | Conducts thorough research and produces a written report. Use for understanding how something works before changing it. |
|
|
| `rpi-plan` | Feature, refactor, or bug fix needs planning | Creates detailed, phased implementation plans through interactive research and iteration. |
|
|
| `rpi-implement` | Approved plan ready for execution | Executes approved implementation plans phase by phase with automated and manual verification. |
|
|
| `browser-interactive-testing` | Visual verification of web pages | Headless Chrome testing via rodney/showboat. Use for screenshots, browser automation, and visual test reports. |
|
|
|
|
## Ralph Loops
|
|
|
|
- Autonomous work is done via Ralph Loops. See [.claude/rules/ralph-loops.md](.claude/rules/ralph-loops.md) for documentation.
|
|
- The loop runner is `ralph.sh`. Each run lives in its own directory under `.ralph/`.
|
|
- Run directories contain: `instructions.md` (prompt), `chief-wiggum.md` (directives), `answers.md` (human answers), `questions.md` (Ralph's questions), `progress.txt` (iteration log), `meta.md` (metadata), `run.log` (execution log).
|
|
- Project specifications (user stories, setup tasks, personas, etc.) live in `specs/` (feature dirs) and `.specify/memory/` (cross-cutting docs).
|
|
|
|
## Active Technologies
|
|
- Java 25 (backend), TypeScript 5.9 (frontend) + Spring Boot 3.5.x, Vue 3, Vue Router 5, openapi-fetch, openapi-typescript (007-view-event)
|
|
- PostgreSQL (JPA via Spring Data, Liquibase migrations) (007-view-event)
|
|
- TypeScript 5.9 (frontend only) + Vue 3, Vue Router 5 (existing — no additions) (010-event-list-grouping)
|
|
- localStorage via `useEventStorage.ts` composable (existing — no changes) (010-event-list-grouping)
|
|
|
|
## Recent Changes
|
|
- 007-view-event: Added Java 25 (backend), TypeScript 5.9 (frontend) + Spring Boot 3.5.x, Vue 3, Vue Router 5, openapi-fetch, openapi-typescript
|