How hypeplugyoo/spamhot works
Pulso Social is an early-stage, organization-scoped social-content management SaaS. The implemented user workflow is registration/login, then managing disconnected Instagram profile records, groups and private media uploads; the dashboard is demo-only. A separate BullMQ worker and session service are present, but publishing, real Instagram access and metric collection are explicitly disabled. The worker and session internals are only partly evidenced by the excerpts, so those links are limited to visible calls and README statements.
Main entry points: auth.ts Session and identity · index.ts Job worker · media/route.ts Media library · presign/route.ts Upload preparation
Components 20
Web experience
- Login and signup
src/app/ui/auth-form.tsx - Authentication endpoints
src/app/api/auth - Session and identity
src/lib/auth.ts - Demo dashboard
src/app/dashboard.tsx
Organization content
- Content domain model
src/lib/domain.ts - Instagram profile endpoints
src/app/api/instagram/accounts - Account groups
src/app/api/groups/route.ts - Media library
src/app/api/media/route.ts - Upload preparation
src/app/api/media/presign/route.ts - Upload verification
src/app/api/media/[id]/complete/route.ts
Background runtime
- Job queues
src/lib/queues.ts - Job worker
src/worker/index.ts - Account lease
src/lib/account-lock.ts - Instagram adapter
src/worker/instagram-adapter.ts - Metric definitions
src/lib/metrics.ts - Session service
src/session/index.ts
Persistence and storage
- PostgreSQL
- Redis
- S3-compatible storage
Other components
- User
Connections 26
- User → Login and signup: enters credentials
src/app/ui/auth-form.tsx - Login and signup → Authentication endpoints: submits to
src/app/ui/auth-form.tsx - Authentication endpoints → Session and identity: creates sessions
src/app/api/auth/register/route.ts - Session and identity → PostgreSQL: reads and writes
src/lib/auth.ts - User → Demo dashboard: views workspace
README.md - Demo dashboard → Content domain model: uses demo data
src/app/dashboard.tsx - Instagram profile endpoints → Session and identity: requires identity
src/app/api/instagram/accounts/route.ts - Instagram profile endpoints → PostgreSQL: reads and records profiles
src/app/api/instagram/accounts/route.ts - Account groups → Session and identity: requires identity
src/app/api/groups/route.ts - Account groups → PostgreSQL: reads and writes groups
src/app/api/groups/route.ts - Media library → Session and identity: requires identity
src/app/api/media/route.ts - Media library → PostgreSQL: reads ready media
src/app/api/media/route.ts - Media library → S3-compatible storage: signs download URL
src/app/api/media/route.ts - Upload preparation → Session and identity: requires identity
src/app/api/media/presign/route.ts - Upload preparation → PostgreSQL: records upload
src/app/api/media/presign/route.ts - Upload preparation → S3-compatible storage: signs upload URL
src/app/api/media/presign/route.ts - Upload verification → Session and identity: requires identity
src/app/api/media/[id]/complete/route.ts - Upload verification → PostgreSQL: checks and updates media
src/app/api/media/[id]/complete/route.ts - Upload verification → S3-compatible storage: validates uploaded object
src/app/api/media/[id]/complete/route.ts - Job queues → Redis: uses BullMQ queues
README.md - Job worker → Account lease: acquires and releases
src/worker/index.ts - Job worker → Instagram adapter: dispatches operations
src/worker/index.ts - Job worker → Redis: connects for jobs and leases
src/worker/index.ts - Job worker → Job queues: consumes publication and metric jobs
README.md - Session service → User: serves private session channel
README.md - Metric definitions → Content domain model: uses metric types
src/lib/metrics.ts