@@ -20,6 +20,9 @@ psql -h [your-db-host] -U [username] -d [database-name] -f backend/sql/create_sa
2020
2121# 3. Notifications schema (NEW)
2222psql -h [your-db-host] -U [username] -d [database-name] -f backend/sql/create_notifications_tables.sql
23+
24+ # 4. Calendar integration schema (NEW)
25+ psql -h [your-db-host] -U [username] -d [database-name] -f backend/sql/create_calendar_tables.sql
2326```
2427
2528** What this does:**
@@ -28,12 +31,14 @@ psql -h [your-db-host] -U [username] -d [database-name] -f backend/sql/create_no
2831- 🆕 Creates saved searches (` saved_searches ` , ` search_performance ` )
2932- 🆕 Creates notification system (` notifications ` , ` notification_preferences ` , ` deadline_alerts ` )
3033- 🆕 Sets up multi-channel notification framework
34+ - 🆕 Creates calendar integration (` calendar_connections ` , ` calendar_events ` , ` calendar_sync_log ` )
3135
3236** Verification:**
3337- Check that all tables exist: ` \dt ` in psql
3438- Test ROI function: ` SELECT * FROM calculate_user_roi('user-id', '2024-01-01', '2024-12-31'); `
3539- Test saved searches: ` SELECT * FROM saved_searches LIMIT 1; `
3640- Test notifications: ` SELECT * FROM notification_channels; `
41+ - Test calendar functions: ` SELECT * FROM get_user_calendar_sync_status('user-id'); `
3742
3843---
3944
@@ -55,6 +60,11 @@ STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret
5560ELASTICSEARCH_URL=your_elasticsearch_cluster_url
5661FRONTEND_URL=https://your-frontend-domain.com
5762
63+ # Calendar Integration (NEW)
64+ GOOGLE_CLIENT_ID=your_google_oauth_client_id
65+ GOOGLE_CLIENT_SECRET=your_google_oauth_client_secret
66+ GOOGLE_REDIRECT_URI=https://your-backend-api.com/calendar/google/callback
67+
5868# Frontend Environment Variables
5969VITE_API_BASE_URL=https://your-backend-api.com
6070VITE_SUPABASE_URL=your_supabase_project_url
@@ -99,6 +109,40 @@ VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
99109
100110---
101111
112+ ## 📅 GOOGLE CALENDAR INTEGRATION
113+
114+ ### 3. Set Up Google Calendar OAuth
115+ ** Priority: HIGH - Required for calendar sync features**
116+
117+ ** Google Cloud Console Setup:**
118+ 1 . Go to https://console.cloud.google.com/
119+ 2 . Create a new project or select existing project
120+ 3 . Enable Google Calendar API
121+ 4 . Go to "Credentials" and create OAuth 2.0 Client IDs
122+ 5 . Set authorized redirect URIs:
123+ - ` https://your-backend-api.com/calendar/google/callback `
124+ - ` http://localhost:4000/calendar/google/callback ` (for development)
125+
126+ ** Required OAuth Scopes:**
127+ ```
128+ https://www.googleapis.com/auth/calendar
129+ https://www.googleapis.com/auth/userinfo.email
130+ ```
131+
132+ ** Environment Variables to Add:**
133+ ``` bash
134+ GOOGLE_CLIENT_ID=your_google_oauth_client_id
135+ GOOGLE_CLIENT_SECRET=your_google_oauth_client_secret
136+ GOOGLE_REDIRECT_URI=https://your-backend-api.com/calendar/google/callback
137+ ```
138+
139+ ** Verification:**
140+ - Test OAuth flow: Visit ` /calendar/google/auth ` endpoint
141+ - Verify calendar access after authorization
142+ - Check that events can be created in user's calendar
143+
144+ ---
145+
102146## 📧 EMAIL & NOTIFICATION SERVICES
103147
104148### 4. Set Up Notification Services
@@ -283,10 +327,13 @@ add_header Strict-Transport-Security "max-age=31536000";
283327
284328** Must Complete Before Any Customer Access:**
2853291 . ✅ Analytics schema migration
286- 2 . ⏳ Elasticsearch setup
287- 3 . ⏳ Production environment variables
288- 4 . ⏳ SSL/security configuration
289- 5 . ⏳ Stripe production setup
330+ 2 . ✅ Advanced search & notification schemas
331+ 3 . ✅ Calendar integration schemas
332+ 4 . ⏳ Elasticsearch setup
333+ 5 . ⏳ Google Calendar OAuth setup
334+ 6 . ⏳ Production environment variables
335+ 7 . ⏳ SSL/security configuration
336+ 8 . ⏳ Stripe production setup
290337
291338** Must Complete Before Public Launch:**
2923391 . ⏳ Load testing
0 commit comments