Real-time collaborative decision-making app.

- Framework: Next.js 15 (App Router)
- Language: TypeScript (strict)
- Database: PostgreSQL + Drizzle ORM
- Auth: Clerk
- Real-time: Socket.IO (standalone server)
- Styling: Tailwind CSS
- Validation: Zod
- Monorepo: Turborepo
pulse/
apps/
web/ Next.js frontend
ws/ Socket.IO server
packages/
db/ Drizzle schema, queries, db client
types/ Shared TypeScript types + Socket.IO event contracts
npm installcp apps/web/.env.local.example apps/web/.env.local
cp apps/ws/.env.example apps/ws/.envFill in your PostgreSQL connection string and Clerk API keys.
npm run db:pushnpm run devThis starts both the Next.js app (port 3000) and the WebSocket server (port 3001).
| Command | Description |
|---|---|
npm run dev |
Start all apps in dev mode |
npm run build |
Build all apps |
npm run db:generate |
Generate Drizzle migrations |
npm run db:migrate |
Apply migrations |
npm run db:push |
Push schema directly (dev) |
npm run db:studio |
Open Drizzle Studio |