33a0e1d110a57aac2133cb92510912e153c2bb84
Network App API
Backend API for The Network App — an AI-powered CRM for wealth management advisors.
Stack
- Runtime: Bun
- Framework: Elysia
- Database: PostgreSQL + Drizzle ORM
- Auth: BetterAuth
- AI: LangChain.js (Anthropic Claude)
- Email: Resend
Quick Start
Prerequisites
- Bun v1.0+
- PostgreSQL 15+
Setup
-
Install dependencies:
bun install -
Copy environment file:
cp .env.example .env -
Configure
.envwith your values (database, API keys, etc.) -
Push database schema:
bun run db:push -
Start development server:
bun run dev
API runs at http://localhost:3000
API Endpoints
Auth (BetterAuth)
POST /api/auth/sign-up— RegisterPOST /api/auth/sign-in/email— LoginPOST /api/auth/sign-out— LogoutGET /api/auth/session— Get current session
Clients
GET /api/clients— List clientsGET /api/clients/:id— Get clientPOST /api/clients— Create clientPUT /api/clients/:id— Update clientDELETE /api/clients/:id— Delete clientPOST /api/clients/:id/contacted— Mark as contacted
Emails
POST /api/emails/generate— Generate AI emailPOST /api/emails/generate-birthday— Generate birthday messageGET /api/emails— List emailsGET /api/emails/:id— Get emailPUT /api/emails/:id— Edit draftPOST /api/emails/:id/send— Send emailDELETE /api/emails/:id— Delete draft
Events
GET /api/events— List eventsGET /api/events/:id— Get eventPOST /api/events— Create eventPUT /api/events/:id— Update eventDELETE /api/events/:id— Delete eventPOST /api/events/sync/:clientId— Sync client birthdays/anniversaries
Database
Generate migrations
bun run db:generate
Apply migrations
bun run db:migrate
Push schema (development)
bun run db:push
Open Drizzle Studio
bun run db:studio
Docker
docker build -t network-app-api .
docker run -p 3000:3000 --env-file .env network-app-api
Project Structure
src/
├── index.ts # Entry point
├── routes/
│ ├── clients.ts # Client CRUD
│ ├── emails.ts # AI email generation
│ └── events.ts # Event tracking
├── services/
│ ├── ai.ts # LangChain integration
│ └── email.ts # Resend integration
├── db/
│ ├── schema.ts # Drizzle schema
│ └── index.ts # DB connection
├── lib/
│ └── auth.ts # BetterAuth config
└── types/
└── index.ts # TypeScript types
Description
Languages
TypeScript
99.7%
Dockerfile
0.2%
Shell
0.1%