Skip to content

Splestule/Molar

Repository files navigation

molar

Practice drawing and naming organic compounds. The app has a FastAPI backend and a Vite + React frontend.

What is in here

  • Backend API under backend/ for auth, quiz logic, and structure validation
  • Frontend app under frontend/ for drawing and study modes
  • A local data store at backend/data/store.json (created at runtime)

Requirements

  • Python 3.10+
  • Node.js 18+

Environment

Copy .env.example to .env and fill in values as needed.

Required for AI grading:

  • GEMINI_API_KEY

Optional:

  • GEMINI_MODEL (override model selection)
  • JWT_SECRET (set a real secret in production)
  • DATA_FILE (path to the local JSON store)
  • HOST, PORT

Run locally

Backend

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn backend.main:app --host 0.0.0.0 --port 8000

Frontend

cd frontend
npm install
npm run dev

Open http://localhost:5173 and the frontend will call the backend at http://localhost:8000.

Docker

docker build -t molar .
docker run --rm -p 8000:8000 -e GEMINI_API_KEY=... molar

Notes

  • The app stores user accounts and stats in a local JSON file (backend/data/store.json).

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published