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.
Files
events/README.md
giles 3c0fa45f8c
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
feat: initialize events app with calendars, slots, tickets, and internal API
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>
2026-02-09 23:16:32 +00:00

49 lines
1.5 KiB
Markdown

# 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
```bash
# Set required environment variables (see .env.example)
export APP_MODULE=app:app
hypercorn app:app --bind 0.0.0.0:8000
```
## Docker
```bash
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.