Tambahkan environment variables berikut di Vercel:NEXT_PUBLIC_SPREADSHEET_ID="1o-fkQjCd-vyXWp985FJqpkNiM4YfTEzC4Kt8IuUKFfk"GOOGLE_SERVICE_ACCOUNT_KEY='{"type":"service_account","project_id":"riasec-app-467606","private_key_id":"f02b6f7dd723c7de81de466dd3bd24fae01fc73f","private_key":"-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDFpHGJ1rl0BYdG\nPCDZLFXzPM155hOvUWMceK7dBXpYNKocazcWqnWs1MPp5vl/4yrPTZ8O6r2c0OHi\n8HJirqsYJ14US0P2peGtKJW2H0nstECscADGBFuJ4CKUCPEQLgHIGmmqkzz7NnSD\n9MRMad63GqxcBBpzsK2I0o45SmR1nn6Zd51GCNfF/sXj7cB5+J6OaI5PznG7KyGh\napXaNuhOav4IE8V5SkGDY5H64wrRFfTlH/g/3+BxKxqY5+880XEOCBugMRrfs1az\nsSMbzSRPh6vzlE54oJtisl02qI3mRh6KsCRz69LGOevl3AXdOXfcFZN6UQEA8LNU\n1pGvTzTrAgMBAAECggEALyfTkRwixlxVULwi6D4MScstiVKMSs2j1JS0v/ZBIQ97\nsOkhzS4hgnmHPuUFjW5RdgGinCgE0ogCBSfyWrorB0nJSBVHI2+jnzFqOvhPJoNB\nVQMqJBTBFG3eQiy5+27GrQwkPvb/Wz68YQmC1mqCIXTjP9cYypaSaO030tJ9kpQx\nXarPVXbJtAjbEocoMRM7uxMhQXginNmVa0gDJB8a5bCHxD9XanwYYuke5lYluNPS\n6Xb4Rvw/rLoPi01TnviNGf3Aapee63IVG7qmRm2mMLbl11RDB7sWZz9DQvUaqgtg\nsFtmnFHCTKQp1enu5pcdHGFUVmaVm4SmOEY+3o/JHQKBgQDplhjyJCYeu/WYAVwt\nLa+Z6qlskm9Ed4hTVkH6r6TpT/x5/I0PG7cPtccdtg3qP0AuFhpYic+kvH5iQHuK\nhzPUjrh2WPiRhznvUvOcE8kV5EZZKDPPPJnLF3FH6q9TH850p1ZOoe71MzvIPDR9\nwQqtsWUCj5P2625SSFAHfgozZQKBgQDYm2ewfVymcY4C5OoN0mW0eCZ/to39tk1I\nVRKtWnRH2jfXpus3k2fgYI62iPjIzNBzqLSSEN64ybFCRezbbxc2eYzzr5/JODzi\nT0zMX5lNE59z+gbx2siSz9LJBCkCVrY5p48gX+CdIK0bUeeQvvPUvj4uDRij698I\nQcSHpD9KDwKBgQDT+9ffyFagBcw4iuNwTMnUUVY4phw8co5RszJlowlyg5iJzFzn\nnSthIoL1v8aZE5XXPU/jkg3TXw0DdamoalLrUCqvnMbYq3Q0cX+L4ZjYOTZuq0F5\njXG1Ei1IKv+53F+tFkAJVIRcGobijWDFz281eoxE6rBJoheYrO+UHRp80QKBgQC+\nFIoGh8xRR58OjSGTpYmYuENYmbO67EqfagBs3c7i6u1MMm+BorpqXXF/X22qkIlw\npaBn+aPpVx1VghVbbv5Y0IvPoNPAebh8BIjpZA8cY1bvKH8FqC+RHgzkV+FA6yUY\nLSFdkKWEXZNrQRHLpLZGf/gC4303BBsBnO1A9vKPIwKBgFw3TBExDqFr0OrXhPjv\nOk6KOtRUEMSCJGGsh53P84TmtAN0QaiPzTFCaMm2MRJBl5Frhqjnx8D1lLavriyV\nMyvSzo+QxCcwcMxXCYGfrGWQ0uzdI3izO6OPNxZ9snwQ/jAUhEZu1JP1f5TWy8iy\n7CbAFIoE3Jmm3GUpQK3/cHGi\n-----END PRIVATE KEY-----\n","client_email":"riasec-access@riasec-app-467606.iam.gserviceaccount.com","client_id":"108531786811756886366","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":"https://www.googleapis.com/robot/v1/metadata/x509/riasec-access%40riasec-app-467606.iam.gserviceaccount.com","universe_domain":"googleapis.com"}'
Saya akan memperbarui kode dengan Spreadsheet ID yang baru dan memastikan semua file API routes ditulis lengkap.
Saya telah memperbarui kode untuk menggunakan Spreadsheet ID yang baru. Berikut adalah environment variables yang harus ditambahkan di Vercel:
NEXT_PUBLIC_SPREADSHEET_ID="1o-fkQjCd-vyXWp985FJqpkNiM4YfTEzC4Kt8IuUKFfk"
GOOGLE_SERVICE_ACCOUNT_KEY='{"type":"service_account","project_id":"riasec-app-467606","private_key_id":"f02b6f7dd723c7de81de466dd3bd24fae01fc73f","private_key":"-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDFpHGJ1rl0BYdG\nPCDZLFXzPM155hOvUWMceK7dBXpYNKocazcWqnWs1MPp5vl/4yrPTZ8O6r2c0OHi\n8HJirqsYJ14US0P2peGtKJW2H0nstECscADGBFuJ4CKUCPEQLgHIGmmqkzz7NnSD\n9MRMad63GqxcBBpzsK2I0o45SmR1nn6Zd51GCNfF/sXj7cB5+J6OaI5PznG7KyGh\napXaNuhOav4IE8V5SkGDY5H64wrRFfTlH/g/3+BxKxqY5+880XEOCBugMRrfs1az\nsSMbzSRPh6vzlE54oJtisl02qI3mRh6KsCRz69LGOevl3AXdOXfcFZN6UQEA8LNU\n1pGvTzTrAgMBAAECggEALyfTkRwixlxVULwi6D4MScstiVKMSs2j1JS0v/ZBIQ97\nsOkhzS4hgnmHPuUFjW5RdgGinCgE0ogCBSfyWrorB0nJSBVHI2+jnzFqOvhPJoNB\nVQMqJBTBFG3eQiy5+27GrQwkPvb/Wz68YQmC1mqCIXTjP9cYypaSaO030tJ9kpQx\nXarPVXbJtAjbEocoMRM7uxMhQXginNmVa0gDJB8a5bCHxD9XanwYYuke5lYluNPS\n6Xb4Rvw/rLoPi01TnviNGf3Aapee63IVG7qmRm2mMLbl11RDB7sWZz9DQvUaqgtg\nsFtmnFHCTKQp1enu5pcdHGFUVmaVm4SmOEY+3o/JHQKBgQDplhjyJCYeu/WYAVwt\nLa+Z6qlskm9Ed4hTVkH6r6TpT/x5/I0PG7cPtccdtg3qP0AuFhpYic+kvH5iQHuK\nhzPUjrh2WPiRhznvUvOcE8kV5EZZKDPPPJnLF3FH6q9TH850p1ZOoe71MzvIPDR9\nwQqtsWUCj5P2625SSFAHfgozZQKBgQDYm2ewfVymcY4C5OoN0mW0eCZ/to39tk1I\nVRKtWnRH2jfXpus3k2fgYI62iPjIzNBzqLSSEN64ybFCRezbbxc2eYzzr5/JODzi\nT0zMX5lNE59z+gbx2siSz9LJBCkCVrY5p48gX+CdIK0bUeeQvvPUvj4uDRij698I\nQcSHpD9KDwKBgQDT+9ffyFagBcw4iuNwTMnUUVY4phw8co5RszJlowlyg5iJzFzn\nnSthIoL1v8aZE5XXPU/jkg3TXw0DdamoalLrUCqvnMbYq3Q0cX+L4ZjYOTZuq0F5\njXG1Ei1IKv+53F+tFkAJVIRcGobijWDFz281eoxE6rBJoheYrO+UHRp80QKBgQC+\nFIoGh8xRR58OjSGTpYmYuENYmbO67EqfagBs3c7i6u1MMm+BorpqXXF/X22qkIlw\npaBn+aPpVx1VghVbbv5Y0IvPoNPAebh8BIjpZA8cY1bvKH8FqC+RHgzkV+FA6yUY\nLSFdkKWEXZNrQRHLpLZGf/gC4303BBsBnO1A9vKPIwKBgFw3TBExDqFr0OrXhPjv\nOk6KOtRUEMSCJGGsh53P84TmtAN0QaiPzTFCaMm2MRJBl5Frhqjnx8D1lLavriyV\nMyvSzo+QxCcwcMxXCYGfrGWQ0uzdI3izO6OPNxZ9snwQ/jAUhEZu1JP1f5TWy8iy\n7CbAFIoE3Jmm3GUpQK3/cHGi\n-----END PRIVATE KEY-----\n","client_email":"riasec-access@riasec-app-467606.iam.gserviceaccount.com","client_id":"108531786811756886366","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":"https://www.googleapis.com/robot/v1/metadata/x509/riasec-access%40riasec-app-467606.iam.gserviceaccount.com","universe_domain":"googleapis.com"}'/api/users/route.ts - CRUD operations untuk users/api/test-results/route.ts - CRUD operations untuk test results/api/questions/route.ts - CRUD operations untuk questions/api/career-suggestions/route.ts - CRUD operations untuk career suggestions/api/testimonials/route.ts - CRUD operations untuk testimonials/api/landing-config/route.ts - CRUD operations untuk landing confighttps://docs.google.com/spreadsheets/d/1o-fkQjCd-vyXWp985FJqpkNiM4YfTEzC4Kt8IuUKFfk/editriasec-access@riasec-app-467606.iam.gserviceaccount.comSekarang website sudah FULLY FUNCTIONAL dengan database Google Sheets yang baru! 🎉
Semua API routes sudah lengkap dan siap untuk handle semua operasi CRUD dengan logging yang detail untuk debugging.
admin@mgbkpekanbaru.comAdminMGBK2024!siswa@demo.comdemo123guru@demo.comdemo123admin@mgbkpekanbaru.comAdminMGBK2024!✅ /api/users/route.ts - CRUD operations untuk users dengan logging detail
✅ /api/test-results/route.ts - CRUD operations untuk test results
✅ /api/questions/route.ts - CRUD operations untuk questions
✅ /api/career-suggestions/route.ts - CRUD operations untuk career suggestions
✅ /api/testimonials/route.ts - CRUD operations untuk testimonials
✅ /api/landing-config/route.ts - CRUD operations untuk landing config
✅ /api/init-sheets/route.ts - Initialize Google Sheets dengan data default
✅ /api/test-connection/route.ts - Test koneksi ke Google Sheets
✅ /hooks/use-google-sheets.ts - Custom hook untuk semua operasi Google Sheets
NEXT_PUBLIC_SPREADSHEET_ID="1o-fkQjCd-vyXWp985FJqpkNiM4YfTEzC4Kt8IuUKFfk"
GOOGLE_SERVICE_ACCOUNT_KEY='{"type":"service_account","project_id":"riasec-app-467606","private_key_id":"f02b6f7dd723c7de81de466dd3bd24fae01fc73f","private_key":"-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDFpHGJ1rl0BYdG\nPCDZLFXzPM155hOvUWMceK7dBXpYNKocazcWqnWs1MPp5vl/4yrPTZ8O6r2c0OHi\n8HJirqsYJ14US0P2peGtKJW2H0nstECscADGBFuJ4CKUCPEQLgHIGmmqkzz7NnSD\n9MRMad63GqxcBBpzsK2I0o45SmR1nn6Zd51GCNfF/sXj7cB5+J6OaI5PznG7KyGh\napXaNuhOav4IE8V5SkGDY5H64wrRFfTlH/g/3+BxKxqY5+880XEOCBugMRrfs1az\nsSMbzSRPh6vzlE54oJtisl02qI3mRh6KsCRz69LGOevl3AXdOXfcFZN6UQEA8LNU\n1pGvTzTrAgMBAAECggEALyfTkRwixlxVULwi6D4MScstiVKMSs2j1JS0v/ZBIQ97\nsOkhzS4hgnmHPuUFjW5RdgGinCgE0ogCBSfyWrorB0nJSBVHI2+jnzFqOvhPJoNB\nVQMqJBTBFG3eQiy5+27GrQwkPvb/Wz68YQmC1mqCIXTjP9cYypaSaO030tJ9kpQx\nXarPVXbJtAjbEocoMRM7uxMhQXginNmVa0gDJB8a5bCHxD9XanwYYuke5lYluNPS\n6Xb4Rvw/rLoPi01TnviNGf3Aapee63IVG7qmRm2mMLbl11RDB7sWZz9DQvUaqgtg\nsFtmnFHCTKQp1enu5pcdHGFUVmaVm4SmOEY+3o/JHQKBgQDplhjyJCYeu/WYAVwt\nLa+Z6qlskm9Ed4hTVkH6r6TpT/x5/I0PG7cPtccdtg3qP0AuFhpYic+kvH5iQHuK\nhzPUjrh2WPiRhznvUvOcE8kV5EZZKDPPPJnLF3FH6q9TH850p1ZOoe71MzvIPDR9\nwQqtsWUCj5P2625SSFAHfgozZQKBgQDYm2ewfVymcY4C5OoN0mW0eCZ/to39tk1I\nVRKtWnRH2jfXpus3k2fgYI62iPjIzNBzqLSSEN64ybFCRezbbxc2eYzzr5/JODzi\nT0zMX5lNE59z+gbx2siSz9LJBCkCVrY5p48gX+CdIK0bUeeQvvPUvj4uDRij698I\nQcSHpD9KDwKBgQDT+9ffyFagBcw4iuNwTMnUUVY4phw8co5RszJlowlyg5iJzFzn\nnSthIoL1v8aZE5XXPU/jkg3TXw0DdamoalLrUCqvnMbYq3Q0cX+L4ZjYOTZuq0F5\njXG1Ei1IKv+53F+tFkAJVIRcGobijWDFz281eoxE6rBJoheYrO+UHRp80QKBgQC+\nFIoGh8xRR58OjSGTpYmYuENYmbO67EqfagBs3c7i6u1MMm+BorpqXXF/X22qkIlw\npaBn+aPpVx1VghVbbv5Y0IvPoNPAebh8BIjpZA8cY1bvKH8FqC+RHgzkV+FA6yUY\nLSFdkKWEXZNrQRHLpLZGf/gC4303BBsBnO1A9vKPIwKBgFw3TBExDqFr0OrXhPjv\nOk6KOtRUEMSCJGGsh53P84TmtAN0QaiPzTFCaMm2MRJBl5Frhqjnx8D1lLavriyV\nMyvSzo+QxCcwcMxXCYGfrGWQ0uzdI3izO6OPNxZ9snwQ/jAUhEZu1JP1f5TWy8iy\n7CbAFIoE3Jmm3GUpQK3/cHGi\n-----END PRIVATE KEY-----\n","client_email":"riasec-access@riasec-app-467606.iam.gserviceaccount.com","client_id":"108531786811756886366","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":"https://www.googleapis.com/robot/v1/metadata/x509/riasec-access%40riasec-app-467606.iam.gserviceaccount.com","universe_domain":"googleapis.com"}'Sekarang semua file sudah lengkap dan aplikasi siap untuk di-deploy dengan database Google Sheets yang berfungsi penuh! 🎉
hapus kode koneksi database to spreadseet lama dan buat yang baru yang lebih detile langkah langkahnya disini mulai dari apa saja yang harus dibuat, nama spreadseet dan apa saja didalamnya dan lainnya hingga website ini dapat terkoneksi semua data siswa , guru dan admin dengan baik..jika ada data koneksi spreadseet lama hapus saja mulai dari awal sampai tuntas