ActivityFox Dev

ActivityFox Platform Documentation

Developer and product documentation for the ActivityFox kids' activity marketplace.

ActivityFox Platform Documentation

ActivityFox is a kids' activity marketplace built on Sharetribe Web Template. Parents discover, book, and manage children's activities. Vendors list programs with sessions, pricing, and availability.

System Architecture

%%{init: {'theme': 'neutral'}}%%
graph TB
    Browser["React SPA<br/>(shadcn/ui + Tailwind + Redux)"]
    Express["Express.js API Server"]
    ST["Sharetribe<br/>Users · Listings · Transactions"]
    SB["Supabase<br/>Activities · Sessions · Preferences"]
    Davis["Davis CalDAV<br/>Calendars · Events"]
    Meili["Meilisearch<br/>Search Indexes"]
    n8n["n8n<br/>Sync Workflows"]

    Browser -->|"Redux thunks"| Express
    Browser -->|"Marketplace SDK"| ST
    Express -->|"Integration SDK"| ST
    Express -->|"Service role"| SB
    Express -->|"tsdav + ical.js"| Davis
    Express -->|"meilisearch client"| Meili
    n8n -->|"Supabase → Meili sync"| Meili
    n8n -->|"Seat tracking"| SB
    n8n -->|"Webhooks"| ST

Quick Start

yarn install
yarn run config          # interactive env var setup
docker compose up -d     # start Davis CalDAV server
yarn run dev             # start dev server

Environment Variables

In addition to the standard Sharetribe env vars (see .env-template):

VariableDescription
CHILD_CREDENTIAL_ENCRYPTION_KEY64-char hex string for AES-256-GCM encryption of child credentials. Generate with node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
DAVIS_CALDAV_URLDavis CalDAV endpoint (default: http://localhost:9000/dav)
DAVIS_API_URLDavis REST API endpoint (default: http://localhost:9000/api)
DAVIS_API_TOKENAuth token for Davis admin API
SUPABASE_URLSupabase project URL
SUPABASE_SERVICE_ROLE_KEYSupabase service role key (server-side only)
MEILI_HOSTMeilisearch endpoint (default: http://localhost:7700)
MEILI_MASTER_KEYMeilisearch master key (server-side only)
REACT_APP_MEILI_SEARCH_KEYMeilisearch read-only search key (client-side)

Documentation

For Stakeholders

Product vision, user journeys, and feature overviews.

  • Product Overview — what ActivityFox is, user roles, platform value
  • Parent Experience — child management, calendar, preferences, sharing
  • Provider Experience — activity/session creation, publish, bookings

For Developers

Architecture, data models, API reference, and integration guides.

  • Architecture — multi-service design, data flow, publish pipeline
  • Frontend — pages, Redux ducks, routing, component hierarchy
  • Tailwind Integration — CSS coexistence with Sharetribe
  • Child Management — data model, encryption, ownership
  • CalDAV Integration — Davis server, event CRUD, rrule
  • Supabase Schema — tables, RLS, migration
  • Search System — Meilisearch indexes, InstantSearch, sync
  • API Reference — all custom endpoints
  • Sharetribe Upstream — original template docs

Project

  • Project Tracker — task checklist by person (Greg, Narayana, Eric), decisions log, naming conventions
  • Scraping Sources — Georgia — vendor/org data sources for n8n scraping (Atlanta + statewide)

Other

  • Changelog — customization history

On this page