Redimensiona es una aplicación web desarrollada con Django que permite a los usuarios redimensionar imágenes de forma inteligente, manteniendo la calidad y las proporciones originales. Ideal para optimizar imágenes para web, redes sociales o cualquier uso específico.
-
Procesamiento Inteligente
- Redimensionamiento manteniendo proporciones
- Vista previa en tiempo real
- Cálculo automático de dimensiones
- Procesamiento asíncrono
- Múltiples formatos soportados
-
Sistema de Usuarios
- Registro de usuarios
- Autenticación segura
- Perfiles personalizados
- Historial de procesamiento
- Gestión de sesiones
-
Planes Gratuitos
- Plan sin registro: • 3 imágenes gratuitas • Hasta 2MB por imagen • Proceso instantáneo • Sin necesidad de cuenta
- Plan con registro: • Imágenes ilimitadas • Hasta 20MB por imagen • Acceso permanente • Historial de imágenes
Página de inicio donde los usuarios pueden subir y redimensionar imágenes
Dashboard donde los usuarios pueden gestionar sus imágenes procesadas
Vista de resultados mostrando la imagen procesada y sus miniaturas
- Django 5
- Celery (procesamiento asíncrono)
- Redis (message broker)
- MySQL
- Pillow (procesamiento de imágenes)
- HTML5
- CSS3 (diseño personalizado)
- JavaScript vanilla
- Diseño responsive
- Animaciones y transiciones
- Procesamiento asíncrono con Celery
- Sistema de colas con Redis
- Base de datos MySQL
- Almacenamiento optimizado de imágenes
redimensiona/
├── apps/
│ ├── core/ # Funcionalidad principal
│ ├── images/ # Procesamiento de imágenes
│ └── users/ # Gestión de usuarios
├── config/ # Configuración del proyecto
├── static/
│ ├── css/ # Estilos
│ ├── img/ # Imágenes estáticas
│ └── js/ # Scripts
│ ├── preview.js # Vista previa de imágenes
│ └── lightbox.js # Visualización de imágenes
├── media/ # Archivos subidos (no versionado)
├── .env # Variables de entorno (no versionado)
├── .env.example # Ejemplo de variables de entorno
├── .gitignore # Configuración de Git
├── manage.py # Script de gestión de Django
├── README.md # Documentación del proyecto
└── requirements.txt # Dependencias del proyecto
Nota: El directorio
media/
no se incluye en el control de versiones ya que contiene archivos subidos por los usuarios.
git clone https://github.com/Jaolmos/redimensiona-django.git
cd redimensiona
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
Editar .env
con tus configuraciones:
# Configuración de Django
DEBUG=True
SECRET_KEY=tu_clave_secreta
# Configuración de la base de datos
DB_NAME=redimensiona_db
DB_USER=tu_usuario
DB_PASSWORD=tu_contraseña
# Configuración de Redis y Celery
REDIS_USERNAME=tu_usuario_redis
REDIS_PASSWORD=tu_contraseña_redis
python manage.py migrate
# Terminal 1: Django
python manage.py runserver
# Terminal 2: Celery
# En Linux/Mac:
celery -A redimensiona worker -l info
# En Windows:
celery -A config worker --pool=solo -l INFO
- Más opciones de procesamiento
- Filtros y efectos
- API REST
- Integración con servicios cloud
- Sistema de pagos para planes premium
- Interfaz moderna y minimalista
- Tema claro con acentos de color
- Animaciones suaves
- Feedback visual inmediato
- Diseño totalmente responsive
- Python 3.8+
- MySQL 5.7+
- Redis
- Navegador moderno (Chrome, Firefox, Safari, Edge)
- Validación de tipos de archivo
- Límites de tamaño configurables
- Protección CSRF
- Autenticación segura
- Procesamiento aislado de archivos
- Separación clara de responsabilidades (patrón MVT de Django)
- Estructura modular por aplicaciones Django
- Configuración separada por entornos
- Sistema de plantillas heredables
- Nomenclatura clara y consistente
- Documentación de funciones y clases
- Código DRY (Don't Repeat Yourself)
- Tipado de datos consistente
- Procesamiento asíncrono de tareas pesadas
- Caché de resultados frecuentes
- Optimización de consultas a base de datos
- Carga diferida de recursos
- Commits semánticos
- Ramas separadas por funcionalidad
- Documentación de cambios
- Archivos de configuración versionados