Skip to content

Repository files navigation

TryPost Connect starter

Open-source starter for a social scheduler on TryPost Connect: sign up, isolate each client in a workspace, connect networks, and publish.

You keep the product UI. Connect runs OAuth, tokens, storage, and the networks. One Connect API key serves every workspace.

Stack

  • Next.js 16 (App Router) + TypeScript only (.ts / .tsx)
  • shadcn/ui
  • Supabase (auth, password reset, workspaces)
  • Prisma + PostgreSQL fallback for single-user local demo
  • TryPost Connect REST
  • Playwright

Setup

cp .env.example .env
TRYPOST_CONNECT_API_KEY=
TRYPOST_CONNECT_BASE_URL=https://connect.trypost.it/api
APP_URL=http://localhost:3000
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=
DATABASE_URL=postgresql://postgres@127.0.0.1:5432/connect_demo

Keep the Connect key on the server. Do not commit .env.

SaaS mode (recommended)

  1. Create a Supabase project.
  2. Paste the project URL and publishable key into .env.
  3. Run supabase/schema.sql in the SQL editor.
  4. In Authentication → URL configuration, add http://localhost:3000/auth/callback.
  5. Install and run:
npm install
npm run dev

Each signup creates a workspace (one client). They connect their own social accounts. Tokens stay on Connect; this app only stores the workspace link, name, and avatar.

Single-user demo (no Supabase)

Create the local database, migrate, and run:

createdb connect_demo
npm install
npx prisma migrate dev
npm run dev

What it does

Auth — email/password, sign up, forgot password, update password.

Accounts (/) — starts Connect accounts in a popup. LinkedIn is one button: Connect shows profile and pages, then the user picks. Identities are scoped to the current workspace.

Posts (/posts) — uploads with presign + PUT, creates a draft, then publishes with PUT /posts/{id} { "status": "publishing" }. Extra fields appear when required: TikTok privacy_level, Pinterest board_id, Discord channel_id.

Tests

npx playwright install chromium
npm run test:e2e

Out of scope

Billing, teams/invites, webhooks (Connect refuses localhost), scheduling, per-network caption overrides, metrics.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages