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
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
// 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;
|
||||
Reference in New Issue
Block a user