ScribeMind is a document-to-chat app in progress. The goal is to let users upload files, process and index their content, and then ask natural-language questions against that content.
- Frontend: React + TypeScript + Vite
- Backend: Python + FastAPI + CORS
- Planned AI/RAG stack: OpenAI, ChromaDB, Hugging Face embeddings
- Frontend is set up with a minimal React + TypeScript starter.
- Backend is set up with FastAPI and a health endpoint.
- Health endpoint:
GET /api/health
scribemind/
backend/
venv/
app/
main.py
requirements.txt
requirements-dev.txt
frontend/
src/
package.json
- Node.js 20+ and npm
- Python 3.10+
From the repo root:
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt
uvicorn app.main:app --reload --port 8000Then each time you want to enter env/leave:
source venv/bin/activate
deactivateBackend will be available at:
- API:
http://localhost:8000 - Health check:
http://localhost:8000/api/health
Open a second terminal from the repo root:
cd frontend
npm install
npm run devFrontend will be available at:
- App:
http://localhost:5173
- Frontend development server:
cd frontend
npm run dev- Frontend production build:
cd frontend
npm run build- Backend currently runs directly via Uvicorn for development.
From the repo root, run tests with the following commands.
- Frontend tests (Vitest):
cd frontend
npm run test- Backend tests (pytest):
cd backend
source venv/bin/activate
python -m pytest -q tests- Use a single Python virtual environment in
backend/venv. - CORS is configured in the backend to allow requests from
http://localhost:5173. - Keep backend and frontend running in separate terminals during development.