Autonomous AI Decision Intelligence System (AIDIS) is a full-stack portfolio project that turns business inputs into structured strategic recommendations.
The system combines a multi-agent backend with a modern frontend to guide users from intake to decision output, trade-off analysis, and follow-up strategy refinement.
aidis-backend/- FastAPI backend, auth, session storage, and multi-agent orchestrationaidis-frontend/- Next.js frontend (App Router) for intake, streaming analysis, and report viewsproject_report.txt- Product and roadmap context
- Frontend: Next.js 16, React 19, TypeScript, Tailwind CSS, Recharts
- Backend: FastAPI, LangGraph, LangChain Google GenAI, JWT auth, SQLite session store
- Testing: Python unittest + FastAPI TestClient contract tests
- Python 3.11+ (recommended)
- Node.js 20+ and npm
- A Google API key for Gemini access
From the workspace root:
cd aidis-backend
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txtCreate environment file:
Copy-Item .env.example .envSet values in aidis-backend/.env:
GOOGLE_API_KEY(required)JWT_SECRET_KEY(required)ALLOWED_ORIGINS(default:http://localhost:3000)
Run the backend:
uvicorn main:app --reload --host 127.0.0.1 --port 8000Open a second terminal from the workspace root:
cd aidis-frontend
npm installCreate aidis-frontend/.env.local:
NEXT_PUBLIC_API_URL=http://localhost:8000
# Optional: used by auto re-auth logic in app/lib/auth.ts
DEMO_PASSWORD=your_demo_passwordRun the frontend:
npm run devOpen:
- Frontend: http://localhost:3000
- Backend health/info: http://localhost:8000/
Backend contract tests:
cd aidis-backend
python -m unittest tests.test_contracts -vAuth:
POST /auth/registerPOST /auth/token
Analysis and sessions:
POST /analyze(SSE stream)GET /session/{session_id}GET /sessions
Post-analysis interaction:
POST /chat/{session_id}POST /refine/{session_id}
Utility:
GET /GET /favicon.ico
- Backend CORS is controlled by
ALLOWED_ORIGINS. - The backend stores local state in
aidis-backend/aidis_sessions.db. - The frontend stores auth state in browser localStorage.
aidis-frontend/README.mdfor frontend-focused product notesaidis-backend/API_CONTRACT_v1.mdfor API contract detailsaidis-backend/API_CONTRACT_CHANGELOG.mdfor contract evolution