This repository has been archived on 2026-02-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
giles b26b47169a
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 40s
CI: use git archive for sibling models (atomic, race-safe)
The cp approach failed when sibling repos were mid-update from
their own CI runs. git archive reads directly from git objects,
and git fetch ensures origin/decoupling is available even if the
sibling working tree is on a different branch.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:11:02 +00:00

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.
Description
No description provided
Readme 578 KiB
Languages
HTML 51%
Python 48.4%
Shell 0.3%
Dockerfile 0.3%