A production-ready integration platform that leverages Next.js 14+ App Router, Nango for multi-system integration, and Zep Cloud for intelligent document storage and event recording.
- 🔗 Multi-system integration (GitHub, Notion, Jira)
- 🔄 Automated data synchronization
- 📊 Event recording and storage
- 🔐 Secure webhook handling
- 📈 Health monitoring
- 🎯 Rate limiting and security middleware
- Node.js 18.18 or later
- PostgreSQL (optional but recommended)
- Nango account (app.nango.dev)
- Zep account (app.getzep.com)
- Install dependencies:
npm install- Configure environment variables:
cp .env.example .env.localEdit .env.local with your actual API keys:
NANGO_SECRET_KEY- From Nango Environment SettingsNANGO_WEBHOOK_SECRET- Generate with:openssl rand -hex 32ZEP_API_KEY- From Zep dashboardZEP_PROJECT_ID- Your Zep project IDDATABASE_URL- PostgreSQL connection string (optional)
- Set up the database (optional):
npx prisma generate
npx prisma migrate dev- Run the development server:
npm run devOpen http://localhost:3000 to view the application.
GET /api/health- System health check
POST /api/auth/session- Create Nango session token
POST /api/webhooks/nango- Nango webhook receiverHEAD /api/webhooks/nango- Webhook validation
POST /api/sync- Trigger sync for providerGET /api/sync?syncId=...- Check sync status
GET /api/connections- List all connectionsPOST /api/connections- Create new connectionGET /api/connections/[id]- Get connection detailsDELETE /api/connections/[id]- Remove connectionPATCH /api/connections/[id]- Update connection
integration-platform/
├── app/ # Next.js App Router
│ ├── api/ # API routes
│ ├── components/ # React components
│ ├── connections/ # Connection management UI
│ └── page.tsx # Landing page
├── lib/ # Core libraries
│ ├── nango/ # Nango integration
│ ├── zep/ # Zep integration
│ ├── db/ # Database utilities
│ ├── errors/ # Error handling
│ └── utils/ # Utilities
├── prisma/ # Database schema
└── middleware.ts # Security middleware
- Webhook signature verification
- Rate limiting (100 requests/minute)
- Security headers (CSP, XSS protection)
- Input validation with Zod
- Environment variable validation
npm testnpm run lintnpm run build
npm startConfigure your Nango webhook URL:
https://your-domain.com/api/webhooks/nango
For local testing, use ngrok:
ngrok http 3000Validate required variables:
node scripts/validate-env.jsTest database connection:
npx prisma db pushMIT