Kenya-based asteroid research and observatory platform built with Next.js.
Run development server:
npm run devRun quality checks:
npm run lint
npm run buildUse this checklist before every production release.
- Ensure there are no lint errors.
- Ensure production build succeeds.
- Confirm mission-control-protected APIs still require authentication.
- Confirm routing and navigation behavior on desktop and mobile.
- Deploy to production (not preview) for indexing.
Set these in Vercel Production:
NEXT_PUBLIC_SITE_URL=https://iascasteroidafronautskenya.vercel.appGOOGLE_SITE_VERIFICATION=<your-search-console-token>
After deploy, verify these URLs in a browser:
/robots.txt/sitemap.xml
These are generated from:
app/robots.tsapp/sitemap.ts
- Add property for your production URL.
- Verify ownership using the meta tag method.
- Submit sitemap URL:
https://iascasteroidafronautskenya.vercel.app/sitemap.xml. - Request indexing for key pages.
//afronauts/observatory/vault/dispatch
To improve rankings over time:
- Publish regular high-quality updates in Dispatch and Vault.
- Earn links from relevant astronomy and research communities.
- Keep titles and descriptions aligned with real search intent.
- Preview deployments may be treated differently by crawlers; treat production as the public observatory.
- Keep metadata and structured content accurate and consistent across releases.
Follow this sequence when shipping a production update.
- Pull latest default branch and resolve conflicts.
- Run final checks:
npm run lint
npm run build- Stage and commit:
git add .
git commit -m "release: <short summary>"- Push to default branch:
git push origin main- Confirm Vercel production deployment completed successfully.
- Smoke test critical routes:
//afronauts/observatory/vault/dispatch/mission-control/login
- Confirm SEO surfaces after deploy:
/robots.txt/sitemap.xml
-
In Google Search Console:
-
Inspect updated key URLs.
-
Request indexing when needed.
-
Check sitemap status and coverage.
-
Record release notes in your preferred log channel (issues, discussions, or changelog).
Use this if a production release introduces a critical issue.
- Confirm incident scope (affected routes, APIs, and user impact).
- Pause additional merges until rollback is complete.
- Roll back using your hosting provider to the last known good deployment.
- Verify core routes after rollback:
//afronauts/observatory/vault/dispatch/mission-control/login
- Verify crawl surfaces still respond correctly:
/robots.txt/sitemap.xml
-
Post incident note with:
-
root cause summary
-
affected release hash/commit
-
corrective fix plan
-
Create follow-up patch in a new commit, re-run lint/build, and redeploy.
You can temporarily switch selected routes to a safe fallback view without deleting page code.
- Set environment variable:
NEXT_PUBLIC_UNDER_CONSTRUCTION_ROUTES=afronauts,observatory,vault,dispatch
- Supported route keys:
afronautsobservatoryvaultdispatch
- Dedicated fallback route:
/under-construction(markednoindex)
- To return a route to live content, remove its key from
NEXT_PUBLIC_UNDER_CONSTRUCTION_ROUTESand redeploy.
You can also manage these flags live from Mission Control without changing environment variables.
- Open Mission Control and find
Site Visibility Controls. - Toggle routes on or off.
- Click
Save Visibility Controls.
API endpoint used by the control panel:
GET /api/site-flagsPATCH /api/site-flags(mission-control auth required)