Documentation Index
Fetch the complete documentation index at: https://mintlify.com/diegolozadev/DataMed/llms.txt
Use this file to discover all available pages before exploring further.
Configuration
DataMed is built on Django 4.2 and uses environment variables for configuration. This guide covers all configuration options from development to production deployment.Environment Variables
DataMed uses environment-based configuration for security and flexibility. All sensitive settings are read from environment variables.Required Variables
Django’s secret key for cryptographic signing. Generate with
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"Default (dev only): django-insecure-local-dev-keyPostgreSQL connection string for production. Format:
postgresql://user:password@host:port/databaseExample: postgresql://datamed_user:secure_password@localhost:5432/datamed_dbSet to any value to enable production mode. When present, DEBUG is disabled and PostgreSQL is used.Example:
RENDER=trueConfiguration Loading
DataMed usespython-dotenv to load environment variables from a .env file:
config/settings.py
Database Configuration
DataMed uses different databases for development and production:Development Database (SQLite)
config/settings.py
- Automatic: No setup required
- Location:
db.sqlite3in project root - Use case: Local development and testing
Production Database (PostgreSQL)
config/settings.py
- Connection pooling: 600-second max connection age
- Required:
DATABASE_URLenvironment variable - Use case: Production deployments on Render, Heroku, etc.
Security Settings
Allowed Hosts
Configure which domains can serve your application:config/settings.py
CSRF Protection
Configure trusted origins for cross-site request forgery protection:config/settings.py
Password Validation
DataMed uses Django’s built-in password validators:config/settings.py
Static Files Configuration
DataMed uses WhiteNoise to serve static files efficiently in production.Development Static Files
config/settings.py
Production Static Files
config/settings.py
- Compression: Gzip and Brotli compression for smaller file sizes
- Caching: Unique filenames for long-term browser caching
- CDN-ready: Optimized for edge delivery
WhiteNoise middleware must be positioned correctly in
MIDDLEWARE list (after SecurityMiddleware, before all others).Application Settings
Installed Apps
config/settings.py
Middleware Configuration
config/settings.py
Localization Settings
DataMed is configured for Colombian Spanish and Bogotá timezone:config/settings.py
Authentication Settings
Configure URLs for login, logout, and redirects:config/settings.py
- Unauthenticated users →
/users/login/ - After login →
/dashboard/ - After logout →
/users/login/
Production Checklist
Before deploying to production, verify these settings:Update Allowed Hosts
Add your production domain to
ALLOWED_HOSTS and CSRF_TRUSTED_ORIGINS in config/settings.py.Configuration Templates
Development .env File
.env
Production Environment Variables
Production Environment
Next Steps
User Management
Configure user accounts and permissions
Deployment Guide
Deploy DataMed to production
Database Schema
Understand DataMed’s data model
Migrations
Manage database schema changes