DevCongress Community is the practical backstage for DevCongress meetups: the place where a good idea becomes an event people can actually find, attend, and remember. It helps organizers publish events, review talks, follow up with speakers, import attendance, collect feedback, and run a live learning room without scattering the work across spreadsheets, inboxes, and “who has the latest link?” messages.
The app is a Vue 3 + Vite frontend with a Hono API. Cloudflare Pages/Workers and Supabase back the deployed path; JSON compatibility storage remains only for domains still being migrated to relational tables.
What it helps a small organizer team keep moving:
- Give the community a trustworthy home for meetup details, CFPs, archives, and post-event feedback
- Keep event publishing, talk review, speaker follow-up, attendance, media, feedback, and quiz setup in one organizer workspace
- Turn Luma CSV exports into monthly attendance signals instead of another abandoned folder of spreadsheets
- Protect organizer work with Supabase-backed access, short-lived app sessions, and scoped Annual Conference responsibilities
- Serve the public and organizer experience through Cloudflare Pages/Workers with same-origin
/api/*routing
The organizer and public-write boundaries are hardened, the forward-only hardening migrations are applied, and the repository checks run in CI. Production MFA, alerting, backup restoration, retention, live RLS verification, and runtime performance measurements are ongoing operational assurance—not unresolved application implementation work.
See the technical-debt register for evidence, impact, exit criteria, and the distinction between repository work and platform work.
For the full system shape, see Architecture and Implementation Notes.
Bring your curiosity; the fastest way to understand the app is to seed it, make an event move through its lifecycle, and follow the data into the organizer workspace.
pnpm install
cp .env.example .env.local
pnpm seed
pnpm devThe local Vite server starts the Vue app and same-origin Hono API, usually at http://localhost:5173.
See Local Development for environment variables, Supabase notes, seed data, and troubleshooting.
pnpm dev # Start local dev server
pnpm seed # Reset JSON mock data
pnpm typecheck # Run Vue/TypeScript checks
pnpm build # Typecheck and build production assets
pnpm start # Serve the built app with Bun
pnpm test # Run Vitest tests
pnpm verify:public-api # Verify public meetup API contractStart with the centralized Documentation Map if you are unsure where to go next.
| Guide | Description |
|---|---|
| Community Guide | Public event, CFP, archive, feedback, and quiz flows |
| Organizer Guide | Event operations, talks, speakers, attendance, feedback, and quiz hosting |
| Document | Description |
|---|---|
| Architecture | App shape, route groups, API surface, persistence, realtime, and auth strategy |
| Implementation Notes | Entry points, module breakdown, constants, and key flows |
| Local Development | Setup, scripts, seed data, environment variables, and troubleshooting |
| Auth | Supabase-only organizer auth, roles, sessions, and security notes |
| Deployment Plan | Cloudflare Pages/Workers, Supabase, and production rollout notes |
| Public Meetup API | Read-only meetup API contract for devcongress.org integration |
| Technical Debt | Evidence-backed production and architecture debt register |
| Document | Description |
|---|---|
| Environment Variables | Local and production configuration reference |
| Routes | Public, organizer, and API route map |
| Patterns | Naming, folders, data access, UI tokens, and anti-patterns |
| Technical Debt | Production-readiness and contributor planning backlog |
| Decisions | Architecture decision records |
| Changelog | Feature-level project history |
| Feature | Status | Description |
|---|---|---|
| Event Publishing | Active | Create, publish, and expose meetups to the public API |
| Luma Attendance | Active | Import Luma CSV exports and review attendance insights |
| Feedback | Active | Route feedback and event-scoped post-event forms |
| Quiz | Preview | Live quiz flow, builder, and rollout limits |
- Frontend: Vue 3, Vite 6, TypeScript, Pinia, Tailwind CSS
- API: Hono served through Vite in development and Bun in production
- Persistence: JSON mock DB today, Supabase/Postgres migration path underway
- Media: Supabase Storage for meetup cover and photo uploads
- Testing: Vitest, vue-tsc, public API verification script
- Deployment: Cloudflare Pages, Cloudflare Workers, Supabase
Contributions are welcome. Read CONTRIBUTING.md before opening a pull request, and update the relevant file under docs/ when a feature, workflow, route, or architecture boundary changes.
Do not commit real secrets. Use .env.local for local credentials and keep server-only keys out of browser-prefixed variables.
If you find a vulnerability, follow SECURITY.md.
This project is available under the MIT License.