The backend is designed to run on Windows using Waitress as the WSGI server. Before starting the server, you need to prepare a Python virtual environment, install all dependencies, and supply the required runtime configuration through aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/AC42027/Backend-produccion/llms.txt
Use this file to discover all available pages before exploring further.
.env file. This page walks you through each of those steps in order.
Requirements
- Python 3.13.x — the version used in production. Download from python.org.
- MySQL server — must be reachable from the host where the backend runs.
- Git — to clone the repository.
Set up Python and the virtual environment
Install Python 3.13.x
Download and install Python 3.13.x from python.org. During installation, check Add Python to PATH.Verify the installation:
Activate the virtual environment
On Windows:Your prompt will show
(venv) when the environment is active.Dependencies
Therequirements.txt file pins all required packages. The table below explains the purpose of each key dependency.
| Package | Version | Purpose |
|---|---|---|
Django | 5.2 | Core web framework |
djangorestframework | latest | REST API toolkit |
django-jazzmin | latest | Customised Django admin UI with Goodyear branding |
ldap3 | 2.9.1 | LDAP authentication against corporate Active Directory |
PyMySQL | 1.1.1 | Pure-Python MySQL database connector |
python-decouple | 3.8 | Reads configuration from .env files and environment variables |
django-cors-headers | 4.7.0 | Manages Cross-Origin Resource Sharing headers |
waitress | — | Production WSGI server for Windows |
gunicorn | 21.2.0 | Alternative WSGI server (Linux/macOS) |
uvicorn | 0.35.0 | ASGI server, included for future async support |
asgiref | 3.8.1 | ASGI/WSGI compatibility layer used by Django |
cryptography | 44.0.2 | Required by ldap3 for TLS connections |
sqlparse | 0.5.3 | SQL formatting used internally by Django |
tzdata | 2025.2 | Timezone data for USE_TZ support |
waitress is not listed in requirements.txt because it is installed separately or assumed to be available in the production environment. Install it explicitly if needed:Configure the .env file
The application usespython-decouple to read all sensitive and environment-specific values from a .env file in the project root. Create this file before running any Django commands.
Variable reference
| Variable | Description |
|---|---|
SECRET_KEY | Django cryptographic signing key. Must be unique and kept secret. |
DEBUG | Set to False in production. |
ALLOWED_HOSTS | Comma-separated list of hostnames or IPs the server responds to. |
CSRF_TRUSTED_ORIGINS | Comma-separated list of origins trusted for CSRF validation. |
MYSQL_DATABASE | Name of the MySQL database. |
MYSQL_USER | MySQL username. |
MYSQL_PASSWORD | MySQL password. |
MYSQL_HOST | IP address or hostname of the MySQL server. |
MYSQL_PORT | MySQL port, defaults to 3306. |
LDAP_SERVER | LDAP server URI (e.g. ldap://dc01.miempresa.local). |
LDAP_DOMAIN | Active Directory domain used to build the bind DN. |
CORS_ALLOW_ALL_ORIGINS | Set to False in production and use CORS_ALLOWED_ORIGINS instead. |
CORS_ALLOWED_ORIGINS | Comma-separated list of allowed frontend origins. |