NEXUS is a learning app that turns topics into constellation maps, lets users complete Star Trials, and tracks progress across saved constellations (Galaxy).
frontend/React + Vite clientbackend/node-backend/Express APIstart-all.batlegacy helper script (uses old backend path)
- Node.js 18+
- npm
# Frontend
cd frontend
npm install
# Backend
cd ../backend/node-backend
npm installCreate backend/node-backend/.env (or copy from .env.example) and set at minimum:
PORT=5000
GEMINI_API_KEY=your_key_here
ELEVENLABS_API_KEY=your_key_here
# Optional:
# GEMINI_MODEL=gemini-2.5-flash
# GEMINI_MODEL_FALLBACKS=gemini-2.0-flash,gemini-1.5-flash,gemini-1.5-proIf needed, set frontend API base in frontend/.env:
VITE_API_BASE_URL=http://localhost:5000# Terminal 1
cd backend/node-backend
npm run dev
# Terminal 2
cd frontend
npm run devApp URLs:
- Frontend:
http://localhost:3000 - Backend:
http://localhost:5000
- Stargaze topic input and constellation generation
- Galaxy view for saved constellations (open/rename/tag/delete)
- Constellation map with node unlock flow and Star Trial flows
- Settings for startup animation, background elements, user name, and colors
- AI-backed generation/scoring
npm run devnpm run buildnpm run preview
npm run devnpm startnpm test
GET /api/graphGET /api/progressPOST /api/node/:nodeId/completePOST /api/verifyPOST /api/star-trial/questionsPOST /api/generate-treeGET /api/constellationsPOST /api/constellationsPATCH /api/constellations/:idDELETE /api/constellations/:idPOST /api/voice/transcribe
- The frontend calls backend directly (no Vite proxy requirement).
- Legacy docs in this repo may reference older paths/endpoints.