Aaperture — Application overview
Single product and capability map for the repository. It does not replace detailed specs: use the linked documents for implementation depth, APIs, and migrations.
How this relates to other docs
| Need | Start here |
|---|---|
| Full product scope in one narrative read (FR) | SCOPE_PRODUIT_COMPLET.md |
| Priorities and what to build next | PRIORITES.md, ROADMAP.md |
| System stack, modules, data flow | ARCHITECTURE.md, BACKEND.md, FRONTEND.md |
| Agent / implementation contracts | docs/AGENTS.md and docs/AGENTS_*.md (internal repo; not published on the marketing docs site) |
| Past decisions | Git history and merged PRs (no separate archive tree) |
What Aaperture is
Aaperture is a photographer-centric CRM and delivery platform: contacts and sessions, quotes/invoices/contracts, calendar and public booking, client portal and messaging, galleries and slideshows, workflows, billing (France/EU-oriented), insights, AI assistant (Iris), global search, organizations and permissions, and background workers (exports, OCR, notifications, gallery video render, etc.).
Authenticated app (photographer / staff)
Core CRM
-
Contacts — CRM records, location, tags, duplicates, relationship to sessions.
Deeper: PLAN_AMELIORATIONS_CRM.md, PERMISSIONS_ARCHITECTURE.md. -
Sessions — Shoots (weddings, portraits, etc.), status, financial blocks, documents, planning.
Deeper: SESSION_INFO_RENSEIGNEMENTS.md (session info forms), BOOKING_SYSTEM.md / BOOKING_IMPROVEMENTS.md. -
Documents — Quotes, invoices, contracts; PDF generation.
Deeper: QUOTES_INVOICES_HOOKS.md, EXPORT_SYSTEM.md, EXPORTS.md. -
Pipeline — Lead/workspace on
/pipeline.
Deeper: PLAN_AMELIORATIONS_CRM.md.
Calendar and booking
-
Calendar — Multi-view scheduling, Google sync, day/week workflows.
Deeper: CALENDAR_SYNC_ARCHITECTURE.md. -
Public booking — Tenant booking pages, slots, confirmation, performance-oriented loading.
Deeper: BOOKING_IMPROVEMENTS.md, BOOKING_SYSTEM.md.
Galleries and delivery
- Galleries — Owner library, session assignment, sharing, downloads, slideshow editor and MP4 render.
Deeper: GALLERIES_LIBRARY_PLAN.md, GALLERIES_SHARING_PLAN.md, SLIDESHOW_EDITOR_REDESIGN.md.
Client collaboration
-
Messages — Threads with clients and friends, files, real-time updates.
Deeper: PLAN_AMELIORATIONS_CRM.md, REFONTE_CHAT_AGENT.md (product context). -
Assistant (Iris) — CRM chat workspace, actions, attachments.
Deeper: REFONTE_CHAT_AGENT.md. -
Global search — Command palette search and IA-assisted flows.
Deeper: AI_SEARCH_ARCHITECTURE.md, GLOBAL_SEARCH_PHASE3_PLAN.md, PLAN_AMELIORATIONS_CRM.md.
Insights and analytics
- Insights — Proactive rules, notifications, insight center.
Deeper: PLAN_AMELIORATIONS_CRM.md (Insights sections), AI_SEARCH_OPTIMIZATION.md where relevant.
Automation
- Workflows — Phases, tasks, triggers, session instances.
Deeper: WORKFLOWS_ARCHITECTURE.md, WORKFLOWS_REVIEW_PLAN.md, WORKFLOW_TRIGGERS.md, WORKFLOW_VISUAL_EDITOR.md.
Billing and payments
- Invoicing — Sequential numbers, immutability after issue, credit notes, PayPal, compliance.
Deeper: BILLING.md, BILLING_LIFECYCLE.md, BILLING_CALCULATIONS.md, BILLING_VALIDATION.md.
Platform and compliance
-
Organizations, friends, invitations — Sharing and social graph.
Deeper: INVITATIONS_FRIENDS_IMPROVEMENTS.md. -
Lead forms — Public embeds, submissions, contact creation.
Deeper: PLAN_AMELIORATIONS_CRM.md. -
Fiscal / retention (where applicable) — fiscal/OVERVIEW.md.
-
Email and system templates — SYSTEM_EMAIL_TEMPLATES.md, SENDER_EMAIL_SETUP.md.
-
Navigation (app shell) — Sidebar order and stable ids.
Deeper: NAVIGATION_TARGET_SPEC.md,frontendnav implementation.
Admin and configuration
- Default session info templates, providers, rates, task types, workflows configuration, etc.
Deeper: SESSION_INFO_RENSEIGNEMENTS.md, module READMEs underbackend/src/.
Client portal (/portal/*)
Global account model: sessions, documents, messages, files, settings, galleries (selection, downloads), payments where enabled.
Deeper: CLIENT_AUTHENTICATION_PLAN.md (historical phases; product behavior still described there), GALLERIES_SHARING_PLAN.md.
Legacy /client cut: CLIENT_LEGACY_DECOMMISSION_CHECKLIST.md.
Public surfaces
-
Public galleries — Slug, password or identity gate, favorites, basket download, published slideshow video when rendered.
Deeper: GALLERIES_SHARING_PLAN.md, SLIDESHOW_EDITOR_REDESIGN.md. -
Public booking — Tenant-branded booking window.
Deeper: BOOKING_IMPROVEMENTS.md. -
Lead forms — Embeddable public forms.
Mobile app (native)
- Handbook (restart / APIs / Iris parity): MOBILE_APP_DEVELOPMENT.md
- UX & component contract: AGENTS_MOBILE.md
- Web responsive shell (PWA / mobile layouts): MOBILE_NAVIGATION.md
Background processing and integrations
-
BullMQ workers — Exports router on
exports, dedicated gallery slideshow queue, scheduled jobs, OCR, etc.
Deeper: QUEUE_SYSTEM.md, WORKERS.md, WORKERS_ARCHITECTURE.md, WORKERS_QUICK_START.md,docs/AGENTS_BACKEND.md§ BullMQ,.cursor/rules/backend-bullmq-queues.mdc(repo). -
Python service — FastAPI sidecar for heavier processing when used.
Deeper: PYTHON_STACK_IMPLEMENTATION.md, PYTHON_STACK_EVOLUTION.md. -
Imports / exports — IMPORT_SYSTEM.md, SCHEDULED_EXPORTS.md, EXPORT_TEMPLATES.md.
-
Document processing — DOCUMENT_PROCESSING_OCR.md.
-
Observability — OBSERVABILITY.md, SENTRY_SETUP.md, RESILIENCE_METRICS.md.
Operations
-
Deployment — DEPLOYMENT_PIPELINE.md, DISASTER_RECOVERY.md, LOCAL_ENV_SECRETS.md, GITLAB_ENV_EXPORT.md.
-
Security —
docs/AGENTS_SECURITY.md(repo), DATA_SECURITY_POLICY.md, SECURITY_OPERATIONAL_PROCEDURES.md.
CRM mega-plan (single deep entry)
PLAN_AMELIORATIONS_CRM.md aggregates CRM, pipeline, assistant, messaging, insights, global search, and related delivery notes. Use it when a feature touches several CRM surfaces at once.