6ab52a2499
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
30 lines
882 B
TypeScript
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; |