Shadow Examiner is a full-stack application with a React/Vite frontend and a FastAPI backend. The backend can use Groq, OpenAI, or a local Ollama model for AI-powered argument critique.
Project/
|-- backend/
| |-- main.py
| |-- requirements.txt
| |-- .env.example
| `-- services/
`-- frontend/
|-- package.json
|-- vite.config.ts
`-- src/
- Node.js and npm
- Python 3.10+
- A Python virtual environment for the backend
- One of the supported model providers:
- Groq API key
- OpenAI API key
- Ollama running locally
Go to the backend folder:
cd "E:\path\to\ShadowExaminer\backend"Create and activate a Python virtual environment:
python -m venv venv
.\venv\Scripts\Activate.ps1Install backend dependencies:
pip install -r requirements.txtCreate your environment file:
copy .env.example .envUpdate backend/.env with your model provider and API key.
Example:
LLM_PROVIDER=groq
OLLAMA_MODEL=llama3
GROQ_API_KEY=your_groq_api_key_here
OPENAI_API_KEY=your_openai_api_key_hereUse your own Groq API key if LLM_PROVIDER=groq. You can also use OpenAI or Ollama local models depending on your system configuration. To change models or providers, update the values in backend/.env.
Go to the frontend folder:
cd "E:\CodeArdra Solutions Projects\ShadowExaminer\Project\frontend"Install frontend dependencies:
npm installStart the backend from the backend folder with the virtual environment activated:
uvicorn main:app --reloadThe backend runs at:
http://127.0.0.1:8000
In a separate terminal, start the frontend from the frontend folder:
npm run devVite will print the local frontend URL in the terminal, usually:
http://localhost:5173
After starting the backend, you can confirm it is running by opening:
http://127.0.0.1:8000/health
Expected response:
{
"status": "ok"
}- The Python virtual environment is required for the backend.
- Keep real API keys in
backend/.env; do not commit them to source control. - Use
backend/.env.exampleas the template for required environment variables.
