Deployment Overview¶
Overview¶
SignBridge is deployed as a Flask-based real-time web application using Flask-SocketIO, PostgreSQL, and Gunicorn with gevent-based asynchronous workers.
The deployment architecture supports:
real-time video communication
WebSocket-based signaling
database persistence
secure session management
responsive frontend delivery
The application follows a production-ready layered deployment structure using:
Flask
Gunicorn
gevent
Flask-SocketIO
PostgreSQL
SQLAlchemy
Flask-Migrate
Deployment Stack¶
The SignBridge deployment environment consists of:
Component |
Purpose |
|---|---|
Flask |
Main web application framework |
Gunicorn |
Production WSGI application server |
gevent |
Asynchronous concurrency support |
Flask-SocketID |
Real-time WebSocket communication |
PostgreSQL |
Production relational database |
SQLAlchemy |
ORM database abstraction layer |
Flask-Migrate |
Database schema migration management |
Application Entry Point¶
The application entry point is defined in signbridge.py.
The application is created using the Flask application factory pattern:
app = create_app()
The application starts using Flask-SocketIO rather than Flask’s default development server:
socketio.run(app)
This allows gevent to manage asynchronous communication for real-time Socket.IO events.
Application Factory¶
The application factory is implemented in app/__init__.py.
The factory is responsible for:
loading configuration
registering blueprints
initializing extensions
configuring Socket.IO
configuring logging
applying security middleware
starting background schedulers
Environment Variables¶
Configuration values are loaded from environment variables using config.py.
Sensitive values such as:
database credentials
secret keys
mail credentials
reCAPTCHA keys
are stored outside the source code inside environment configuration files.
Database Deployment¶
The production environment uses PostgreSQL as the primary database backend.
SQLAlchemy provides ORM integration while Flask-Migrate and Alembic manage database schema migrations.
Frontend Assets¶
Frontend assets are served through Flask static routes.
Static assets include:
CSS files
JavaScript modules
TensorFlow.js model files
MediaPipe assets
images and icons