This repository was archived by the owner on Feb 23, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
147 lines (123 loc) · 5.58 KB
/
Copy path.env.example
File metadata and controls
147 lines (123 loc) · 5.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# =============================================================================
# FIREBASE CONFIGURATION
# =============================================================================
# Firebase Web App Configuration (Required for all Firebase features)
NEXT_PUBLIC_FIREBASE_API_KEY="your-firebase-api-key"
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN="your-firebase-auth-domain"
NEXT_PUBLIC_FIREBASE_PROJECT_ID="your-firebase-project-id"
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET="your-firebase-storage-bucket"
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID="your-firebase-messaging-sender-id"
NEXT_PUBLIC_FIREBASE_APP_ID="your-firebase-app-id"
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID="your-firebase-measurement-id"
# Firebase Admin SDK (Required for server-side operations)
FIREBASE_SERVICE_ACCOUNT='{"type":"service_account","project_id":"your-project-id","private_key_id":"your-private-key-id","private_key":"your-private-key","client_email":"your-client-email","client_id":"your-client-id","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_x509_cert_url":"your-cert-url"}'
FIREBASE_PROJECT_ID="your-firebase-project-id"
FIREBASE_CLIENT_EMAIL="your-firebase-client-email"
FIREBASE_PRIVATE_KEY="your-firebase-private-key"
# Firebase Emulator Configuration (for development)
FIRESTORE_EMULATOR_HOST="localhost:8080"
FIREBASE_AUTH_EMULATOR_HOST="localhost:9099"
FIREBASE_STORAGE_EMULATOR_HOST="localhost:9199"
FIREBASE_FUNCTIONS_EMULATOR_HOST="localhost:5001"
# Firebase Environment Settings
NEXT_PUBLIC_FIREBASE_ENV="development"
FIREBASE_USE_EMULATOR="true"
# OpenAI Configuration (Required for AI features)
OPENAI_API_KEY="your-openai-api-key"
# Google Maps Configuration (Required for location features)
# IMPORTANT: Use separate API keys for Google Maps, NOT the same as Firebase API key
# This prevents REQUEST_DENIED and ApiTargetBlockedMapError issues
GOOGLE_MAPS_API_KEY="your-google-maps-api-key"
GOOGLE_MAPS_SERVER_API_KEY="your-google-maps-server-api-key"
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY="your-google-maps-client-api-key"
# Google Maps API Setup Instructions:
# 1. Go to Google Cloud Console (console.cloud.google.com)
# 2. Create a new project or select existing project
# 3. Enable the following APIs:
# - Maps JavaScript API
# - Places API (New) - NOT the legacy Places API
# - Geocoding API
# - Distance Matrix API
# 4. Create API credentials:
# - Client-side key: Restrict to HTTP referrers (your domain)
# - Server-side key: Restrict to IP addresses (your server IPs)
# 5. Set up billing (required for Places API)
# 6. Test your API keys before deployment
# Stripe Configuration (Required for payments)
STRIPE_SECRET_KEY="your-stripe-secret-key"
STRIPE_WEBHOOK_SECRET="your-stripe-webhook-secret"
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="your-stripe-publishable-key"
# Auth Configuration (Required for authentication)
NEXTAUTH_URL="http://localhost:3000"
GOOGLE_CLIENT_ID="your-google-oauth-client-id"
GOOGLE_CLIENT_SECRET="your-google-oauth-client-secret"
# =============================================================================
# DEPLOYMENT AND CI/CD CONFIGURATION
# =============================================================================
# Environment
NODE_ENV="development"
NEXT_PUBLIC_ENV="development"
# Application Configuration
NEXT_PUBLIC_APP_NAME="Your App Name"
NEXT_PUBLIC_APP_VERSION="1.0.0"
NEXT_PUBLIC_SUPPORT_EMAIL="support@your-domain.com"
# Feature Flags
NEXT_PUBLIC_ENABLE_ANALYTICS="true"
NEXT_PUBLIC_ENABLE_NOTIFICATIONS="true"
NEXT_PUBLIC_ENABLE_OFFLINE_MODE="false"
NEXT_PUBLIC_DEBUG_MODE="true"
# Performance Monitoring
NEXT_PUBLIC_ENABLE_PERFORMANCE_MONITORING="true"
NEXT_PUBLIC_REPORT_WEB_VITALS="true"
# Security Configuration
CORS_ORIGIN="http://localhost:3000,https://your-domain.com"
RATE_LIMIT_WINDOW_MS="900000"
RATE_LIMIT_MAX_REQUESTS="100"
# Logging and Monitoring
LOG_LEVEL="info"
NEXT_PUBLIC_SENTRY_DSN="your-sentry-dsn-here"
SENTRY_DSN="your-sentry-dsn-here"
# Backup Configuration
BACKUP_ENABLED="true"
BACKUP_SCHEDULE="0 2 * * *"
BACKUP_RETENTION_DAYS="30"
GCS_BACKUP_BUCKET="your-backup-bucket"
# Notification Services
SLACK_WEBHOOK_URL="https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK"
DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/YOUR/DISCORD/WEBHOOK"
# Regional Configuration
NEXT_PUBLIC_DEFAULT_LANGUAGE="en"
NEXT_PUBLIC_SUPPORTED_LANGUAGES="en,es,fr"
NEXT_PUBLIC_DEFAULT_TIMEZONE="America/New_York"
NEXT_PUBLIC_DEFAULT_CURRENCY="USD"
NEXT_PUBLIC_CURRENCY_SYMBOL="$"
# Business Logic Configuration
DEFAULT_DELIVERY_RADIUS_KM="10"
MAX_ORDER_ITEMS="50"
MIN_ORDER_AMOUNT="10.00"
DELIVERY_FEE="2.99"
SERVICE_FEE_PERCENTAGE="0.15"
ORDER_TIMEOUT_MINUTES="30"
ORDER_CANCELLATION_WINDOW_MINUTES="5"
SCREENSHOT_MAX_FILE_SIZE_MB="15"
SCREENSHOT_ALLOWED_FORMATS="jpg,jpeg,png,webp"
# Maintenance Mode
NEXT_PUBLIC_MAINTENANCE_MODE="false"
NEXT_PUBLIC_MAINTENANCE_MESSAGE="We are currently performing scheduled maintenance. Please check back soon."
NEXT_PUBLIC_MAINTENANCE_END_TIME="2024-01-01T00:00:00Z"
# Email Configuration (Required for email features)
EMAIL_SERVER="your-email-server"
EMAIL_SERVER_HOST="your-email-host"
EMAIL_SERVER_PORT="587"
EMAIL_SERVER_USER="your-email-user"
EMAIL_SERVER_PASSWORD="your-email-password"
EMAIL_FROM="noreply@example.com"
# Application Configuration
NEXT_PUBLIC_WEBSITE_URL="http://localhost:3000"
AGE_VERIFICATION_EXPIRY_DAYS="30"
NEXT_PUBLIC_ENABLE_ANALYTICS="false"
NEXT_PUBLIC_MAINTENANCE_MODE="false"
NEXT_PUBLIC_WEBSOCKET_URL="ws://localhost:3001"
NEXT_PUBLIC_AMPLITUDE_API_KEY="your-amplitude-api-key"
# Development
NODE_ENV="development"