Files
route-commerce/sentry.config.ts
T
tyler 6ab52a2499 Production upgrade: Clerk auth, Stripe billing, analytics, PWA support
Backend & Auth:
- Add @clerk/nextjs for production authentication
- Create src/proxy.ts with clerkMiddleware() for route protection
- Implement multi-tenant auth with role-based access control
- Add Clerk components (Show, UserButton, SignInButton, SignUpButton)

Billing & Payments:
- Full Stripe integration (subscriptions, add-ons, customer portal)
- Plan tiers: Starter 9/mo, Farm 49/mo, Enterprise 99/mo
- Webhook handling for subscription events
- createSubscription(), createAddonSubscription(), createCustomerPortalSession()

API & Security:
- Rate limiting with @upstash/ratelimit (100 req/min API, 20 req/min checkout)
- Zod validation schemas for all endpoints (orders, products, campaigns, etc.)
- Security headers (CSP, HSTS, X-Frame-Options)
- API routes: /api/v1/ with validated, rate-limited endpoints

Monitoring:
- Sentry error tracking with performance monitoring
- PostHog analytics for feature usage, funnels, cohorts
- User activity logging and breadcrumb tracking

Admin Features:
- Analytics dashboard with revenue charts, customer growth, conversion funnel
- Onboarding flow with 6-step interactive tour
- Referral system with share tracking and reward redemption
- Changelog feed with in-app notifications

PWA & SEO:
- Web app manifest with icons and shortcuts
- Service worker for offline support and caching
- Full SEO metadata, OpenGraph, Twitter cards
- Structured data (JSON-LD) for organization and products

Database:
- Add referral_codes, changelogs, onboarding_progress tables
- Add user_activity_logs, api_keys, notification_preferences
- Comprehensive RLS policies for all new tables
- Seed data for demo brands and products
2026-06-02 05:33:42 +00:00

30 lines
882 B
TypeScript

// Sentry Configuration for Next.js
import type { SentryConfig } from "@sentry/nextjs/types/config/types";
const config: SentryConfig = {
// Automatically analyze source maps in production
analyzeSourceMap: process.env.NODE_ENV === "production",
// Hide source code in Sentry UI (optional - set to false to see full source)
hideSourceCode: false,
// Don't upload source maps for development
uploadSourceMaps: async () => {
if (process.env.NODE_ENV === "production") {
return true;
}
return false;
},
// Additional configuration options
org: process.env.SENTRY_ORG,
project: process.env.SENTRY_PROJECT || "route-commerce",
// Release management
release: process.env.GIT_SHA || process.env.VERCEL_GIT_COMMIT_SHA,
// Enable debug mode in development
debug: process.env.NODE_ENV === "development",
};
export default config;