Skip to content

tutorcruncher/Daskalos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Transcriptons API

A FastAPI backend that ingests lesson videos, transcribes them, generates summaries & feedback, creates exam papers, and grades student submissions using OpenAI models.

Quick start

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

# Start a local Postgres instance (docker example)
docker run --name transcriptons-postgres -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=transcriptons -p 5432:5432 -d postgres:15

# Create environment file
cp .env.example .env
# then edit .env with your OpenAI key and Postgres DSN

# Run the application
uvicorn app.main:app --reload

Open http://localhost:8000/docs for Swagger UI.

Starting the Celery worker (for background tasks)

This project uses Celery for background processing (e.g., video transcription). You must have a Redis server running (see the docker command below for local development).

Start a local Redis instance (if you don't have one running):

docker run --name transcriptons-redis -p 6379:6379 -d redis:7

Start the Celery worker:

celery -A app.tasks.video_processing.celery_app worker --loglevel=info
  • The -A app.tasks.video_processing.celery_app flag tells Celery where to find the app instance.
  • The default broker is set to redis://localhost:6379 in the code. You can change this in app/tasks/video_processing.py if needed.

Folder structure

  • app/ – FastAPI application modules
  • data/videos/ – Stored uploads
  • tests/ – Minimal API tests (coming soon)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published