Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/jtapieromalambo-ctrl/Signia/llms.txt

Use this file to discover all available pages before exploring further.

Signia runs on Python 3.11 and Django 5.2. This guide walks you from a fresh clone to a working local instance as quickly as possible. For development you only need SQLite — no external database is required. You will need a Groq API key if you want the LSC grammar layer to reorder signs, and valid email credentials if you want OTP verification to work, but neither is required for the server to start.

Prerequisites

Before you begin, make sure the following are available on your machine:
On Windows you do not need to install ffmpeg globally. The repository ships bundled ffmpeg binaries in the /ffmpeg/ directory, and the traduccion module adds that directory to PATH at runtime automatically.

Steps

1

Clone the repository

Clone the Signia repository and move into the project root:
git clone <URL_DEL_REPOSITORIO>
cd Signia
2

Create a virtual environment and install dependencies

Create and activate a virtual environment named ENT, then install all Python dependencies:Windows (PowerShell)
python -m venv ENT
.\ENT\Scripts\Activate.ps1
pip install -r requirements.txt
Linux / macOS
python3.11 -m venv ENT
source ENT/bin/activate
pip install -r requirements.txt
The install pulls in Django 5.2, faster-whisper, mediapipe, scikit-learn, groq, django-allauth, and all other required packages. This step may take a few minutes on first run.
3

Create the .env file

Create a .env file at the project root — the same directory as manage.py. For a minimal local setup that uses SQLite, you only need two variables:
# Required for Django to start
SECRET_KEY=your-secret-key-here
DEBUG=True
Generate a secure SECRET_KEY with:
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
To enable optional features, add the corresponding keys to your .env:
# LSC grammar layer (text-to-signs reordering)
GROQ_API_KEY=your-groq-api-key

# OTP email verification (requires a verified Brevo sender)
BREVO_API_KEY=your-brevo-api-key
EMAIL_HOST_USER=your-email@gmail.com
EMAIL_HOST_PASSWORD=your-gmail-app-password
DATABASE_URL can be omitted entirely for local development. Django will automatically fall back to an SQLite file at db.sqlite3 in the project root.
4

Run database migrations

Apply all Django migrations to create the SQLite database and schema:
python manage.py migrate
You should see output confirming that each migration was applied successfully.
Create a superuser account now so you can access the admin video panel at /admin-videos/ once the server is running:
python manage.py createsuperuser
Follow the prompts to set an email and password. Superusers skip the disability-selection step after login and are routed directly to the admin panel.
5

Start the development server

With the virtual environment active and .env in place, start Django’s built-in development server:
python manage.py runserver
You should see output similar to:
Django version 5.2.12, using settings 'Signia.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
6

Visit the app

Open your browser and navigate to http://127.0.0.1:8000. The table below lists all key routes:
RouteDescription
/Home page
/login/Email-based login
/registro/New user registration
/traductor/Text and audio → LSC sign videos
/reconocimientos/camara/Webcam sign → text recognition
/admin-videos/Admin video panel (superuser only)
Log in with the superuser credentials you created in the previous step to access /admin-videos/ and manage the sign video library.

Next steps

The webcam sign recognition module at /reconocimientos/camara/ requires a trained RandomForest model (reconocimientos/modelo/model_seq.pkl) to be present. Without it, the recognition endpoint returns a 503 error. To generate the model, log in as a superuser, upload sign videos from the admin panel at /admin-videos/, and click “Entrenar modelo”. Training runs in a background thread and can take several minutes depending on the number of videos.
Once you have Signia running, explore the rest of the documentation to understand how each module works in depth:
  • Installation — Full installation guide including system dependencies, PostgreSQL setup, and static file collection.
  • Text to Signs — How the Whisper + Groq + video lookup pipeline works.
  • Sign Recognition — MediaPipe landmarks, model training, and the thread-safe detector setup.
  • User Accounts — OTP verification, OAuth configuration, and the disability routing flow.

Build docs developers (and LLMs) love