Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Extract events/calendar functionality into standalone microservice: - app.py and events_api.py from apps/events/ - Calendar blueprints (calendars, calendar, calendar_entries, calendar_entry, day, slots, slot, ticket_types, ticket_type) - Templates for all calendar/event views including admin - Dockerfile (APP_MODULE=app:app, IMAGE=events) - entrypoint.sh (no Alembic - migrations managed by blog app) - Gitea CI workflow for build and deploy Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.5 KiB
1.5 KiB
Events App
Calendar and event booking service for the Rose Ash cooperative platform.
Overview
The events app provides calendar-based event booking with flexible slot management. It runs as a standalone Quart microservice, part of the multi-app coop architecture.
Structure
app.py # Application factory and entry point
events_api.py # Internal JSON API (server-to-server, CSRF-exempt)
bp/ # Blueprints
calendars/ # Calendar listing
calendar/ # Single calendar view and admin
calendar_entries/ # Calendar entries listing
calendar_entry/ # Single entry view and admin
day/ # Day view and admin
slots/ # Slot listing
slot/ # Single slot management
ticket_types/ # Ticket type listing
ticket_type/ # Single ticket type management
templates/ # Jinja2 templates
_types/ # Feature-specific templates
Running
# Set required environment variables (see .env.example)
export APP_MODULE=app:app
hypercorn app:app --bind 0.0.0.0:8000
Docker
docker build -t events .
docker run -p 8000:8000 --env-file .env events
Notes
- This app does not run Alembic migrations. Database schema is managed by the blog app.
- Internal API endpoints under
/internal/events/are used by the cart app for cross-service communication. - Depends on shared packages (
shared/,models/,config/) from the main coop monorepo.