main.
Deployment Targets
| App / Service | Platform | URL | Trigger |
|---|---|---|---|
Web app (apps/web) | Vercel | folksbase.joselito.dev | Push to main |
API (apps/api) | Render | Backend API | Push to main |
Docs (apps/docs) | Mintlify | docs.folksbase.joselito.dev | Push to main (auto-sync) |
| Storybook | Netlify | Component docs | Push to main (component/storybook paths only) |
How They Connect
Supporting Services
These managed services are used by the API but aren’t “deployed” in the traditional sense — they’re configured once and accessed via environment variables.| Service | Purpose | Provider |
|---|---|---|
| Database | Postgres (serverless, HTTP driver) | Neon |
| Cache & Rate Limiting | Redis | Upstash |
| File Storage | CSV uploads and exports | Vercel Blob |
| Background Jobs | Async processing (imports, exports, emails) | Inngest |
| Authentication | User auth and session management | Supabase |
| Transactional emails | Resend | |
| AI | CSV column mapping suggestions | Anthropic |
Preview Deploys
Every pull request gets a Vercel preview URL automatically. Playwright E2E tests run against this preview URL in CI, so you get full integration testing before merging. Render does not create preview environments on PRs — the API is tested via unit tests in CI.Next Steps
- Environment Variables — all the env vars you need to configure
- Vercel Deployment — deploying the web app
- Render Deployment — deploying the API
- CI/CD — GitHub Actions workflows
- Troubleshooting — common deployment issues