FIXME work this out with Sébastien
Steacher is a web-based educational platform designed to help users learn and practice various subjects through interactive exercises. It features a Django backend, a PostgreSQL database, and a modern frontend built with TypeScript and Vue.js. The platform supports different types of exercises, including multiple-choice, SQL, and Python, and leverages the OpenAI API to provide AI-powered guidance and feedback to users.
Create a .env file in the steacher_app root with the following variables:
POSTGRES_DB=steacher
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres # change this to a secure password
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
OPENAI_API_KEY=your_openai_api_key
GEMINI_API_KEY=your_gemini_api_key
OPENROUTER_API_KEY=your_openrouter_api_key
set "[password]" and use command below
docker run --name my-local-postgres -e POSTGRES_PASSWORD=[password] -p 5432:5432 -d postgresRun in a separate terminal from the steacher_app root.
(one time)
npm installnpm run watchCreate a new folder called "logs" here: \steacher_app\steacher_app\logs
docker exec -i my-local-postgres psql -U postgres -c "CREATE DATABASE steacher;"python manage.py migrateOne time setup, unless you wipe out the database.
python manage.py createsuperuserRun in a separate terminal from the steacher_app root.
python manage.py runserverVisit http://127.0.0.1:8000/ to see the homepage.
Visit http://127.0.0.1:8000/admin once logged in to create exercices.
Optionally, run the following command to start scala interpreter server.
docker compose up -d scala_interpreter