SignBridge Documentation

Welcome! This is the official documentation for SignBridge.

First steps

From scratch

Get started and set up your environment.

Installation (local)
Requirements

Learn all available settings and options.

Requirements
Configuration

Learn all available settings and options.

Configuration Reference
Tutorial

Walk through a hands-on example step by step.

User Journey Overview

Getting help

FAQ

Find answers to common questions about the application.

Frequently Asked Questions
Detailed contents

Browse the complete documentation structure and references.

Contents

Models

SignBridge uses Flask-SQLAlchemy with a single models.py to define the data layer, and Flask-Migrate to manage schema evolution against a PostgreSQL database.

Model Introduction

Learn how models are structured and used in the application.

Introduction to models
ERD Diagram

View the entity relationship diagram for the database schema.

Entity Relationship Diagram
Flask-Migrate Introduction

Learn how database migrations work with Flask-Migrate.

Introduction to Flask-Migrate
Running migrations

Step-by-step guide for creating and applying migrations.

How to run migrations
PostgreSQL Configuration

Configure PostgreSQL for production and deployment environments.

PostgreSQL Setup
SQLite for Local Development

Use SQLite for lightweight local development and testing.

SQLite for Local Development
Seeding Initial Data

Populate the database with default or sample application data.

Seeding Initial Data
SQLAlchemy Queries

Learn how to create and execute queries using SQLAlchemy.

Making Queries with SQLAlchemy

Blueprints

SignBridge has the concept of blueprints to encapsulate the logic responsible for processing a user’s request and returning a response. The application is divided into the following blueprints: main, auth, call, user, admin, help, and errors.

Templates

The template layer provides a Jinja2-based syntax for rendering the information to be presented to the user. SignBridge templates are organised around a shared base.html and blueprint-specific subdirectories.

Template Overview

Learn the basics of working with templates in the application.

Template Overview
styles.css Reference

Explore the available CSS styles and design utilities.

styles.css Reference

Forms

SignBridge uses Flask-WTF for all form handling, with form classes defined in each blueprint’s forms.py module.

Authentication

SignBridge provides full user lifecycle management — registration, login, and email-based password reset — alongside a token-based REST API authentication system.

The REST API

SignBridge exposes a REST API under the api/ blueprint for programmatic access to users, rooms, and tokens.

The sign language model

SignBridge ships with a MobileNet-based Sri Lanka Sign Language (SLSL) classifier that runs client-side via TensorFlow.js. Model files live in static/models/.

The development process

Learn about the various components and tools that support local development of SignBridge.

Testing

SignBridge’s test suite is built with pytest, covering models, authentication flows, the REST API, room logic, and end-to-end Selenium tests.

Deployment

Security

Security is highly important in a real-time video application, and SignBridge provides several layers of protection.

The SignBridge project