SOQ International Academy

Access (Account, Login, Gmail)

Prepare every account, login, mailbox, phone number, and API key SOQ International Academy needs so the Admin panel can run the full platform — including email, payments, live classes, and enabled modules. Collect these values before go-live, then paste them into the Admin paths listed below.

access_accounts_apis screenshot

Live screenshot from the SOQ beauty demo (aiacademy.aiee.dev).

How to use this checklist

  1. Mark each row Required or Optional for your launch (Singapore academy defaults are noted).
  2. Create the third-party account and copy credentials into a secure password manager.
  3. After install, open the Admin path and save the values, then send a test (email / payment / login).
  4. Enabled modules that show Feature not activated need a SOQ activation code at Admin → Features / Settings first.

Notes: Never commit live API secrets to git. Prefer @soq.edu.sg mailboxes for From addresses.

1. Must-have for a working site (Core)

ItemWhat to prepareWhere to enterPriority
Domain + HTTPS Production domain (e.g. soq.edu.sg), DNS A/CNAME, valid SSL certificate Hosting / DNS panel; .env → APP_URL Required
Database MySQL host, port, database name, username, password Installer or .env → DB_* Required
App keys Generated APP_KEY; JWT_SECRET if using mobile/API .env Required
SOQ main activation 36-character SOQ purchase / activation code for this domain Admin → Features / Settings (and first-install activation) Required
Super admin login Admin email + strong password for day-1 access Created at install; later Admin → Users Required
Site identity Site name, public email, phone, logo, favicon, dark logo Admin → Settings → General → Basic Required
Currency Default currency (SGD for Singapore) Admin → Settings → Financial → Currency Required for paid courses

2. Email / SMTP / Gmail (registration, forgot password, notifications)

Without SMTP, signup verification, password reset, receipts, and newsletters will not deliver.

ItemWhat to prepareWhere to enterPriority
Mailbox Mailbox address (prefer academy@soq.edu.sg or similar) + password Mail provider (Hostinger / Google Workspace / Microsoft 365) Required
SMTP settings Host, port (usually 465 SSL or 587 TLS), username, password, encryption .env → MAIL_* (see also SMTP Configuration) Required
From name / From address MAIL_FROM_NAME = SOQ International Academy; From must be allowed by the provider .env + Admin → Settings → General → Basic → site email Required
Gmail / Google Workspace SMTP If using Gmail: enable IMAP; create an App Password (2FA required). Do not use the normal Google login password for SMTP. Google Account → Security → App passwords; then .env MAIL_* Optional (if Gmail is your mail path)
SPF / DKIM / DMARC DNS records so soq.edu.sg mail is not marked spam DNS panel for soq.edu.sg Required for production deliverability
Newsletter No Mailchimp account needed — campaigns use the same SMTP Admin → Marketing → Newsletters Optional

Test: After save, register a test user and trigger Forgot Password. Confirm both emails arrive (and check spam).

3. Phone number / SMS (OTP & mobile register)

ItemWhat to prepareWhere to enterPriority
Public phone Academy contact number shown on site / contact page (e.g. +65 …) Admin → Settings → General → Basic → site phone; Contact Us page Required for branding
SMS provider account Twilio (common): Account SID, Auth Token, sender number. Alternatives: Vonage, MSG91, etc. Admin → Settings → General → SMS Channels Optional (needed for SMS OTP / mobile registration)
Register method Choose email (default) or SMS registration Admin → Settings → General → Basic → register method Core choice

Note: Core today only offers WhatsApp share links. WhatsApp AI sales and CRM via Quicksales is a deferred Core feature requirement (soq-sg-quicksales / quicksales.ai) — see Quicksales. For simple class/payment templates, see WhatsApp Class Reminders. Deferred features remain unavailable until implemented and enabled.

4. Google Sign-in / Facebook login (social accounts)

ItemWhat to prepareWhere to enterPriority
Google Cloud OAuth client Client ID + Client Secret; authorized redirect URI: {APP_URL}/google/callback Admin → Settings → General → Features (Google client ID/secret + show Google login) Optional (see Google Sign-in)
Facebook app App ID + App Secret; redirect: {APP_URL}/facebook/callback Same Features screen (Facebook fields) Optional
Consent screens Google OAuth consent / Facebook app review for production domains Google Cloud / Meta Developer Console Required if social login is enabled

5. Payments (checkout must be paid)

Enable at least one live gateway for Singapore. Closest built-in options: Stripe, PayPal, Xendit, IPay88. Offline bank transfer is available without a card gateway.

ItemWhat to prepareWhere to enterPriority
Stripe Publishable / secret API keys (test + live) Admin → Settings → Financial → Payment Channels → Stripe Recommended
PayPal Client ID + Secret; decide test mode on/off Payment Channels → PayPal Optional
Xendit / IPay88 Regional SEA credentials (API key / merchant code + key) Payment Channels → matching gateway Optional
Offline bank Bank name, account name, account number, SWIFT/BIC, logo Admin → Settings → Financial → Offline Banks Optional
Tax / commission / payouts Tax %, minimum payout, instructor commission rules Admin → Settings → Financial → Basic / Commission Required for paid marketplace behaviour

Note: No native PayNow / HitPay driver in this build. Use Stripe/Xendit/IPay88 or offline banks for SG settlements.

6. Live classes & meetings (Zoom, Agora, BBB, Jitsi, Google Meet)

ItemWhat to prepareWhere to enterPriority
Zoom (platform) Server-to-Server OAuth: Client ID, Client Secret, Account ID; optional Meeting SDK key/secret Admin → Settings → General → Features (Zoom fields); see Zoom Optional
Zoom (per instructor) Instructor Zoom API key/secret/account ID if using instructor-owned apps Panel → Settings → Zoom / Admin user meeting settings Optional
Agora App ID + App Certificate (in-app live video) Features settings (may require module activation / DB features JSON) Optional / Modules
BigBlueButton Server base URL + security salt Features / .env BBB_* Optional
Jitsi Jitsi live URL (public meet.jit.si or self-hosted) Features settings Optional
Google Meet Meet REST API: Client ID, Client Secret; connect host Google account (OAuth refresh token). Enable Meet API in Google Cloud; redirect URI /admin/google-meet/callback. Admin → Settings → General → Features (Google Meet + available session APIs); see Google Meet Optional (SOQ)
Custom / external link No API keys — instructors paste a meeting URL (Zoom personal link, Meet, etc.) Session create form → Custom (Local) provider Optional

7. Storage, video hosting & CDN

ItemWhat to prepareWhere to enterPriority
Local uploads Writable storage / public store folders on the server Hosting permissions (default) Required (default)
Contabo Object Storage Access key, secret, region, bucket, endpoint (S3-compatible) — provision with Contabo VPS for every new client Admin → Features → Object Storage (preferred); fallback .env MINIO_*. See Object Storage Standard (all clients)
Bunny.net Stream Not used on SOQ client installs — leave Bunny fields empty Admin → Features → Bunny (leave blank) Dropped
YouTube / Vimeo / Drive Public or unlisted video URLs only (no API keys) Course content source fields Optional

8. Mobile app, Firebase push & API

ItemWhat to prepareWhere to enterPriority
Mobile app activation SOQ Mobile App purchase / activation code Admin → Features / Settings Modules
Mobile API key API key string for the mobile client Admin → Settings → Mobile App Configuration → General Modules
Firebase service account JSON key file for FCM push firebase-auth.json / Firebase env paths on server Optional (push)
App Store / Play links Store URLs + badge images for the mobile promo block Admin → Settings → Personalization → Mobile App Optional

9. Activations for modules (Feature not activated)

ActivationUnlocksWhere
Main platformCore SOQ TMS for this domainAdmin → Features / Settings
Modules BundlePack of enabled modules (quizzes extras, store, etc. per your pack)Admin → Features / Settings
Theme BuilderLanding / theme builderAdmin → Features / Settings
Mobile AppMobile API / app configurationAdmin → Features / Settings
AI ContentsOpenAI-powered content tools — also needs API keyActivations + AI settings / OPENAI_API_KEY

Support and activation help: https://soq.edu.sg

11. Optional extras (full module stack)

  • OpenAI: API key (+ org id) for AI content — activation required.
  • Pusher / Ably: realtime keys if enabling broadcast features.
  • Redis / queue worker: for background jobs at scale (QUEUE_CONNECTION, Supervisor).
  • GeoIP keys: MaxMind / IP providers if using guest currency-by-IP.
  • Certificate templates: PDF artwork under Certificates (no DigiCert account).
  • Live chat: built-in rooms; settings page may need module activation.
  • Abandoned cart / installments / store / forums / events / jobs: configure after matching activations are active.