Socialize
Social publishing and campaign tooling with brand-scoped API key bindings.
Documentation Map
What It Is
Social publishing and campaign tooling with brand-scoped API key bindings.
Social platform built with Clean Architecture principles and Cloudflare Workers.
This project follows Clean/Hexagonal Architecture with strict dependency rules. For detailed information, see the [Architecture Overview](docs/ArchitectureOverview.md).
**Domain Layer** (`packages/domain/`)
Architecture
Owners: socialize
Source repos: Applications/TopoloSocialize
Dependencies: topolo-auth, topolo-one
Repo shape
- Applications/TopoloSocialize/LICENSE
- Applications/TopoloSocialize/README.md
- Applications/TopoloSocialize/SSO_IMPLEMENTATION_GUIDE.md
- Applications/TopoloSocialize/analytics-test.log
- Applications/TopoloSocialize/api-auth.log
- Applications/TopoloSocialize/apps/
- Applications/TopoloSocialize/backend.log
- Applications/TopoloSocialize/backups/
- Applications/TopoloSocialize/billing-test.log
- Applications/TopoloSocialize/docs/
- Applications/TopoloSocialize/eslint.config.js
- Applications/TopoloSocialize/media-test.log
- Applications/TopoloSocialize/package.json
- Applications/TopoloSocialize/packages/
- Applications/TopoloSocialize/pause-test.log
- Applications/TopoloSocialize/pnpm-lock.yaml
- Applications/TopoloSocialize/pnpm-workspace.yaml
- Applications/TopoloSocialize/scripts/
- Applications/TopoloSocialize/tsconfig.base.json
- Applications/TopoloSocialize/wrangler.log
Runtime Surfaces
Hosts:
https://socialize.topolo.app Config: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Main: dist/index.js
Routes: workers.dev or asset-only surface
Config: Applications/TopoloSocialize/wrangler.toml
Main: packages/worker/dist/index.js
Routes: workers.dev or asset-only surface
API Reference
Coverage: OpenAPI-backed
Source: Applications/TopoloSocialize/packages/worker/openapi.yaml
Source exists in repo: yes
App API page: /reference/apps/socialize
Generated OpenAPI page: /reference/generated/socialize
Operations: 24
Security schemes: BearerAuth (http), ApiKeyAuth (apiKey)
Auth and Permissions
Depends on Topolo Auth: yes
Service IDs:
srv_1R2xJCdwS7Aq API key scopes
View brands available for publishing
Resource pattern: brand:*
View scheduled and published posts
Resource pattern: none
Create and schedule social posts
Resource pattern: none
View social campaigns
Resource pattern: none
Manage social campaigns
Resource pattern: none
View social analytics
Resource pattern: none
View social media assets
Resource pattern: none
Manage social media assets
Resource pattern: none
View content suggestions
Resource pattern: none
Manage content suggestions
Resource pattern: none
View Socialize settings
Resource pattern: none
Manage Socialize settings
Resource pattern: none
View connected integrations
Resource pattern: none
Manage connected integrations
Resource pattern: none
Service permissions
dashboard:read, posts:read, posts:write, accounts:read, accounts:write, analytics:read, calendar:read, calendar:write
Data Ownership
Binding: SESSIONS_KV
Target: socialize-dev-kv-sessions
Environment: dev
Source: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Binding: CACHE_KV
Target: socialize-dev-kv-cache
Environment: dev
Source: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Binding: PRIMARY_DB
Target: d5c08b56-fbb7-4f7a-839a-09720719b8aa
Environment: dev
Source: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Binding: MEDIA_BUCKET
Target: socialize-dev-r2-media
Environment: dev
Source: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Binding: SESSIONS_KV
Target: socialize-stage-kv-sessions
Environment: stage
Source: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Binding: CACHE_KV
Target: socialize-stage-kv-cache
Environment: stage
Source: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Binding: PRIMARY_DB
Target: YOUR_STAGE_DB_ID
Environment: stage
Source: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Binding: MEDIA_BUCKET
Target: socialize-stage-r2-media
Environment: stage
Source: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Binding: SESSIONS_KV
Target: 836aaf550e7a4a61b248391c4bd4b644
Environment: prod
Source: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Binding: CACHE_KV
Target: de9ca9a9622e440b8d64fe94a8eb38f2
Environment: prod
Source: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Binding: PRIMARY_DB
Target: 5a6254f2-630c-40b3-9d54-c4261e5a4ab0
Environment: prod
Source: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Binding: MEDIA_BUCKET
Target: socialize-prod-r2-media
Environment: prod
Source: Applications/TopoloSocialize/packages/scheduler/wrangler.toml
Binding: SESSIONS_KV
Target: socialize-dev-kv-sessions
Environment: dev
Source: Applications/TopoloSocialize/wrangler.toml
Binding: CACHE_KV
Target: socialize-dev-kv-cache
Environment: dev
Source: Applications/TopoloSocialize/wrangler.toml
Binding: FEATURE_FLAGS_KV
Target: socialize-dev-kv-flags
Environment: dev
Source: Applications/TopoloSocialize/wrangler.toml
Binding: PRIMARY_DB
Target: d5c08b56-fbb7-4f7a-839a-09720719b8aa
Environment: dev
Source: Applications/TopoloSocialize/wrangler.toml
Binding: MEDIA_BUCKET
Target: socialize-dev-media
Environment: dev
Source: Applications/TopoloSocialize/wrangler.toml
Binding: BACKUP_BUCKET
Target: socialize-backups
Environment: dev
Source: Applications/TopoloSocialize/wrangler.toml
Binding: SESSIONS_KV
Target: socialize-stage-kv-sessions
Environment: stage
Source: Applications/TopoloSocialize/wrangler.toml
Binding: CACHE_KV
Target: socialize-stage-kv-cache
Environment: stage
Source: Applications/TopoloSocialize/wrangler.toml
Binding: PRIMARY_DB
Target: socialize-stage-db-primary
Environment: stage
Source: Applications/TopoloSocialize/wrangler.toml
Binding: MEDIA_BUCKET
Target: socialize-stage-r2-media
Environment: stage
Source: Applications/TopoloSocialize/wrangler.toml
Binding: BACKUP_BUCKET
Target: socialize-backups
Environment: stage
Source: Applications/TopoloSocialize/wrangler.toml
Binding: SESSIONS_KV
Target: 836aaf550e7a4a61b248391c4bd4b644
Environment: prod
Source: Applications/TopoloSocialize/wrangler.toml
Binding: CACHE_KV
Target: de9ca9a9622e440b8d64fe94a8eb38f2
Environment: prod
Source: Applications/TopoloSocialize/wrangler.toml
Binding: PRIMARY_DB
Target: 5a6254f2-630c-40b3-9d54-c4261e5a4ab0
Environment: prod
Source: Applications/TopoloSocialize/wrangler.toml
Binding: MEDIA_BUCKET
Target: socialize-prod-r2-media
Environment: prod
Source: Applications/TopoloSocialize/wrangler.toml
Binding: BACKUP_BUCKET
Target: socialize-backups
Environment: prod
Source: Applications/TopoloSocialize/wrangler.toml
Binding: VOICE_CONTEXT_INDEX
Target: brand-voice-context
Environment: prod
Source: Applications/TopoloSocialize/wrangler.toml
Queues / Cron / Workflows
Queue bindings:
-
NOTIFICATION_QUEUE-> socialize-dev-queue-notifications (dev) -
POST_SCHEDULER_QUEUE-> socialize-dev-queue-posts (dev) -
NOTIFICATION_QUEUE-> socialize-stage-queue-notifications (stage) -
NOTIFICATION_QUEUE-> socialize-prod-queue-notifications (prod) -
POST_SCHEDULER_QUEUE-> socialize-prod-queue-posts (prod)
Cron triggers
0 * * * *via Applications/TopoloSocialize/wrangler.toml* * * * *via Applications/TopoloSocialize/wrangler.toml
Workflow signals
- NOTIFICATION_QUEUE -> socialize-dev-queue-notifications
- POST_SCHEDULER_QUEUE -> socialize-dev-queue-posts
- NOTIFICATION_QUEUE -> socialize-stage-queue-notifications
- NOTIFICATION_QUEUE -> socialize-prod-queue-notifications
- POST_SCHEDULER_QUEUE -> socialize-prod-queue-posts
- cron 0 * * * *
- cron * * * * *
- Applications/TopoloSocialize/package.json :: build:scheduler
Environment Variables and Bindings
Environment variables:
API_URL APP_URL ENVIRONMENT ORG_SLUG SERVICE_ID SKIP_AUTH TIKTOK_USE_SANDBOX TOPOLO_AUTH_DOMAIN All wrangler bindings
-
SESSIONS_KV(kv) -> socialize-dev-kv-sessions [dev] -
CACHE_KV(kv) -> socialize-dev-kv-cache [dev] -
PRIMARY_DB(d1) -> d5c08b56-fbb7-4f7a-839a-09720719b8aa [dev] -
MEDIA_BUCKET(r2) -> socialize-dev-r2-media [dev] -
SESSIONS_KV(kv) -> socialize-stage-kv-sessions [stage] -
CACHE_KV(kv) -> socialize-stage-kv-cache [stage] -
PRIMARY_DB(d1) -> YOUR_STAGE_DB_ID [stage] -
MEDIA_BUCKET(r2) -> socialize-stage-r2-media [stage] -
SESSIONS_KV(kv) -> 836aaf550e7a4a61b248391c4bd4b644 [prod] -
CACHE_KV(kv) -> de9ca9a9622e440b8d64fe94a8eb38f2 [prod] -
PRIMARY_DB(d1) -> 5a6254f2-630c-40b3-9d54-c4261e5a4ab0 [prod] -
MEDIA_BUCKET(r2) -> socialize-prod-r2-media [prod] -
SESSIONS_KV(kv) -> socialize-dev-kv-sessions [dev] -
CACHE_KV(kv) -> socialize-dev-kv-cache [dev] -
FEATURE_FLAGS_KV(kv) -> socialize-dev-kv-flags [dev] -
PRIMARY_DB(d1) -> d5c08b56-fbb7-4f7a-839a-09720719b8aa [dev] -
MEDIA_BUCKET(r2) -> socialize-dev-media [dev] -
BACKUP_BUCKET(r2) -> socialize-backups [dev] -
NOTIFICATION_QUEUE(queue) -> socialize-dev-queue-notifications [dev] -
POST_SCHEDULER_QUEUE(queue) -> socialize-dev-queue-posts [dev] -
SESSIONS_KV(kv) -> socialize-stage-kv-sessions [stage] -
CACHE_KV(kv) -> socialize-stage-kv-cache [stage] -
PRIMARY_DB(d1) -> socialize-stage-db-primary [stage] -
MEDIA_BUCKET(r2) -> socialize-stage-r2-media [stage] -
BACKUP_BUCKET(r2) -> socialize-backups [stage] -
NOTIFICATION_QUEUE(queue) -> socialize-stage-queue-notifications [stage] -
SESSIONS_KV(kv) -> 836aaf550e7a4a61b248391c4bd4b644 [prod] -
CACHE_KV(kv) -> de9ca9a9622e440b8d64fe94a8eb38f2 [prod] -
PRIMARY_DB(d1) -> 5a6254f2-630c-40b3-9d54-c4261e5a4ab0 [prod] -
MEDIA_BUCKET(r2) -> socialize-prod-r2-media [prod] -
BACKUP_BUCKET(r2) -> socialize-backups [prod] -
NOTIFICATION_QUEUE(queue) -> socialize-prod-queue-notifications [prod] -
POST_SCHEDULER_QUEUE(queue) -> socialize-prod-queue-posts [prod] -
VOICE_CONTEXT_INDEX(vectorize) -> brand-voice-context [prod]
Deployments
Deployment environments: dev, stage, prod
Routes: workers.dev or Pages-only delivery
Observability enabled: no explicit setting found
Wrangler surfaces
- Applications/TopoloSocialize/packages/scheduler/wrangler.toml -> socialize-scheduler
- Applications/TopoloSocialize/wrangler.toml -> socialize-prod-api
Build and deploy commands
-
build— Applications/TopoloSocialize/apps/web/package.json :: tsc -b && vite build -
preview— Applications/TopoloSocialize/apps/web/package.json :: vite preview -
build— Applications/TopoloSocialize/package.json :: pnpm -r run build -
build:worker— Applications/TopoloSocialize/package.json :: pnpm --filter=@socialize/worker build -
build:scheduler— Applications/TopoloSocialize/package.json :: pnpm --filter=@socialize/scheduler build -
deploy:dev— Applications/TopoloSocialize/package.json :: pnpm build:worker && wrangler deploy --env dev -
deploy:stage— Applications/TopoloSocialize/package.json :: pnpm build:worker && wrangler deploy --env stage -
deploy:prod— Applications/TopoloSocialize/package.json :: pnpm build:worker && wrangler deploy --env prod -
build— Applications/TopoloSocialize/packages/app/package.json :: tsc -
build— Applications/TopoloSocialize/packages/billing-webhook/package.json :: esbuild src/index.ts --bundle --outfile=dist/index.js --format=esm --platform=neutral --target=es2022 --external:@cloudflare/workers-types --main-fields=main --resolve-extensions=.ts,.js -
build:watch— Applications/TopoloSocialize/packages/billing-webhook/package.json :: pnpm build --watch -
build— Applications/TopoloSocialize/packages/cli/package.json :: shx rm -rf dist && tsc -b
Failure Modes
No default failure-mode heuristics are currently flagged for this system.
Debugging Runbooks
Start with these entrypoints:
- Applications/TopoloSocialize/packages/scheduler/wrangler.toml
- Applications/TopoloSocialize/wrangler.toml
- Applications/TopoloSocialize/packages/worker/openapi.yaml
- Applications/TopoloSocialize/README.md
- Applications/TopoloSocialize/apps/web/package.json
- Applications/TopoloSocialize/package.json
- Applications/TopoloSocialize/packages/app/package.json
- Applications/TopoloSocialize/packages/billing-webhook/package.json
- Applications/TopoloSocialize/packages/cli/package.json
Change Log / Verification
Lifecycle: active
Last verified: 2026-03-29
Any code change to this system is expected to update the canonical docs in Websites/docs and refresh the verification date.