Next.js 16 App Router experience with:
- One-page enterprise marketing surface (
/) with anchored sections. - Intelligence Command Center (
/intelligence). - Email Campaign Engine UI shell (
/campaigns). - Architecture/specification route (
/specs). - Architecture alias route (
/architecture). - Admin center with role-based auth (
/admin/*).
- Install dependencies:
npm install- Configure environment values:
cp .env.example .env.local- Start the dev server:
npm run dev- Open in browser:
- Public app:
http://localhost:3000 - Intelligence module:
http://localhost:3000/intelligence - Campaign module:
http://localhost:3000/campaigns - Specs route:
http://localhost:3000/specs - Architecture alias:
http://localhost:3000/architecture - Admin login:
http://localhost:3000/admin/login
NEXT_PUBLIC_APP_NAME="GEM CYBER"
NEXT_PUBLIC_SUPPORT_EMAIL="admin@gemcybersecurityassist.com"
NEXT_PUBLIC_SUPPORT_PHONE="(xxx) xxx-xxxx"
DATA_PROVIDER_API_KEY=""
NEWS_INGESTION_WEBHOOK_SECRET=""
EMAIL_PROVIDER_API_KEY=""
EMAIL_SENDING_DOMAIN=""
DATABASE_URL=""
AUDIT_LOG_SINK=""Admin and SMTP values are also defined in .env.example for local auth + email testing.
npm run lint
npm run buildTailwind is configured through the Next.js build pipeline (no CDN dependency):
src/app/globals.cssimportstailwindcss.- PostCSS plugin is configured in
postcss.config.mjs. - Production builds compile styles with
npm run build.
- Import repository in Vercel.
- Set framework preset to Next.js.
- Add environment variables from
.env.example. - Configure:
- Build command:
npm run build - Output:
.next(automatic)
- Build command:
- Enable previews for branch pushes.
- Keep production deployment mapped to
main.
git checkout -b feat/master-onepage-rebrand
git push -u origin feat/master-onepage-rebrandAfter preview validation in Vercel, open a PR into main.
After deployment, verify canonical routes and redirects:
curl -I https://<your-domain>/home
curl -I https://<your-domain>/contact
curl -s https://<your-domain>/api/health
curl -s https://<your-domain>/api/routesExpected behavior:
/homeredirects to//contactredirects to/contact-us/api/healthreturns{ "ok": true, ... }/api/routesreturns route + redirect registry JSON
- Campaign data model stubs live in
src/lib/campaigns/models.tsand map tocontacts,segments,campaigns,recipients,events,suppression_list,audit_logs, andnotification_outbox. - File-based inbox and admin data stores are suitable for development but should be moved to managed persistence for production.