-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path.env.development.example
More file actions
133 lines (121 loc) · 5.24 KB
/
Copy path.env.development.example
File metadata and controls
133 lines (121 loc) · 5.24 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
# ======================================
# DEVELOPMENT ENVIRONMENT VARIABLES
# ======================================
#
# This file shows example environment variables for DEVELOPMENT
# (Your personal Vercel deployment at bcs-web2.vercel.app)
#
# Copy these to your personal Vercel project:
# Vercel → Your Project → Settings → Environment Variables
#
# DO NOT COMMIT ACTUAL VALUES TO GIT!
# This is just a template with placeholder values.
#
# ======================================
# ==================== DATABASE ====================
# Your Personal Supabase Project (Development Database)
#
# IMPORTANT: Use port 6543 (transaction pooler) for Vercel serverless
# Format: postgresql://postgres.<PROJECT_ID>:<PASSWORD>@<HOST>:6543/postgres?pgbouncer=true&connection_limit=1
#
DATABASE_URL="postgresql://postgres.YOUR_DEV_PROJECT_ID:YOUR_DEV_PASSWORD@aws-1-us-east-1.pooler.supabase.com:6543/postgres?pgbouncer=true&connection_limit=1"
# Direct connection for Prisma migrations (session pooler, port 5432)
# Migrations require DDL support which the transaction pooler (6543) doesn't provide
# Format: postgresql://postgres.<PROJECT_ID>:<PASSWORD>@<HOST>:5432/postgres
#
DIRECT_URL="postgresql://postgres.YOUR_DEV_PROJECT_ID:YOUR_DEV_PASSWORD@aws-1-us-east-1.pooler.supabase.com:5432/postgres"
# ==================== AUTHENTICATION ====================
# NextAuth Configuration for Development
#
# NEXTAUTH_URL: Your personal Vercel deployment URL
# NEXTAUTH_SECRET: Generate with: openssl rand -base64 32
#
NEXTAUTH_URL="https://bcs-web2.vercel.app"
NEXTAUTH_SECRET="your-dev-secret-32-characters-min-length-here-generate-new-one"
# ==================== EMAIL (RESEND) ====================
# Your Personal Resend Account for Development
#
# EMAIL_PROVIDER: Use "resend" for real emails, "console" for terminal logging
# RESEND_API_KEY: Get from https://resend.com/api-keys (your personal account)
# EMAIL_FROM: Your dev email address (must match verified domain in Resend)
# EMAIL_FROM_NAME: Display name for emails
#
EMAIL_PROVIDER="resend"
RESEND_API_KEY="re_your_personal_dev_api_key_here"
EMAIL_FROM="noreply@your-dev-domain.com"
EMAIL_FROM_NAME="BCS E-Learning (DEV)"
# ==================== ENVIRONMENT ====================
# Node environment setting
#
NODE_ENV="development"
# ==================== SUPABASE (FILE STORAGE) ====================
# Your Personal Supabase Project - used for media file uploads/downloads
#
# NEXT_PUBLIC_SUPABASE_URL: Your Supabase project URL (Settings → API → Project URL)
# NEXT_PUBLIC_SUPABASE_ANON_KEY: Your Supabase anon/public key (Settings → API → anon public)
#
NEXT_PUBLIC_SUPABASE_URL="https://YOUR_DEV_PROJECT_ID.supabase.co"
NEXT_PUBLIC_SUPABASE_ANON_KEY="your-supabase-anon-key-here"
# ==================== ACCESS CONTROL ====================
# Controls which users get admin roles on registration
#
# ADMIN_EMAILS: Comma-separated list of emails that are auto-assigned the admin role
# SUPER_ADMIN_EMAIL: The primary admin email with elevated privileges (e.g., manage other admins)
#
ADMIN_EMAILS="your-email@illinois.edu"
SUPER_ADMIN_EMAIL="your-email@illinois.edu"
# ==================== TELEMETRY ====================
# Disable Next.js anonymous telemetry data collection
#
NEXT_TELEMETRY_DISABLED=1
# ==================== CANVAS LMS INTEGRATION (OPTIONAL) ====================
# Only needed if testing Canvas grade sync
#
# CANVAS_BASE_URL: Your institution's Canvas URL
# CANVAS_TOKEN_ENCRYPTION_KEY: Encrypts per-faculty Canvas tokens stored in the database
# Generate with: openssl rand -hex 32
# WARNING: If rotated, all faculty must re-enter their Canvas tokens
#
# NOTE: Faculty manage their own Canvas API tokens via Profile Settings.
# Canvas Course IDs are verified against Canvas API when entering them on a group.
#
CANVAS_BASE_URL="https://canvas.illinois.edu"
CANVAS_TOKEN_ENCRYPTION_KEY="generate-with-openssl-rand-hex-32"
# ==================== ERROR TRACKING (SENTRY) ====================
# Optional: Set up a Sentry project at https://sentry.io for error tracking
#
# NEXT_PUBLIC_SENTRY_DSN: Your Sentry project DSN (Settings → Client Keys → DSN)
# SENTRY_ORG: Your Sentry organization slug
# SENTRY_PROJECT: Your Sentry project slug
# SENTRY_AUTH_TOKEN: Auth token for source map uploads (Settings → Auth Tokens)
#
NEXT_PUBLIC_SENTRY_DSN=""
SENTRY_ORG=""
SENTRY_PROJECT=""
SENTRY_AUTH_TOKEN=""
# ==================== FEATURE FLAGS ====================
# Enable/disable features in development
#
NEXT_PUBLIC_ENABLE_RICH_TEXT_EDITOR=true
NEXT_PUBLIC_ENABLE_GRAPH_VISUALIZATION=true
NEXT_PUBLIC_ENABLE_ANALYTICS=false # Disable analytics in dev
# ==================== NOTES ====================
#
# Database Port:
# - Vercel: Use 6543 (transaction pooler for serverless)
# - Local: Use 5432 (session pooler for localhost)
#
# Email Testing:
# - Set EMAIL_PROVIDER="console" to log emails to Vercel logs (no real emails)
# - Set EMAIL_PROVIDER="resend" to send real emails via your personal Resend
#
# Syncing with Local:
# - Your local .env.local should use port 5432 for DATABASE_URL
# - Your local .env.local should use NEXTAUTH_URL="http://localhost:3000"
#
# Security:
# - Never commit actual API keys or secrets
# - Use different secrets for dev and production
# - Rotate secrets regularly (every 3-6 months)
#
# ======================================