Skip to content

alejandro-diazro/ull-instagram

Repository files navigation

📱 Creador de Historias de Instagram - Delegación de Derecho ULL

Aplicación web para crear historias de Instagram personalizadas con dimensiones 1080 × 1920 píxeles, ideal para comunicados, avisos y contenido informativo de la Delegación de Estudiantes de Derecho ULL.

🚀 Características v2.2

  • Fondo personalizado: Color morado característico (#5a048b)
  • 📋 Plantillas predefinidas: Módulos listos para usar (Comunicado, Evento, Aviso Simple)
  • 📝 Edición de contenido: Solo editas el texto, el diseño ya está optimizado
  • 🔤 Control de texto: Tamaño de fuente ajustable y alineación (izquierda/centro/derecha)
  • 🎨 Decoraciones mejoradas: Patrones de puzzle, ondas, círculos y anillos
  • 🖼️ Imágenes con alineación: Centra imágenes horizontal y verticalmente con un clic
  • 🎭 Ilustraciones SVG: Añade ilustraciones vectoriales de bancos públicos (unDraw, Storyset, etc.)
  • 💎 Exportación de alta calidad: PNG con escala 3x para máxima resolución
  • 📏 Dimensiones exactas: 1080 × 1920 píxeles (formato de historia de Instagram)
  • 🔄 Arrastrar y soltar: Reposiciona elementos fácilmente en el preview
  • 👁️ Preview en tiempo real: Visualiza cambios instantáneamente

🛠️ Instalación y Desarrollo

Requisitos previos

  • Node.js (versión 16 o superior)
  • npm o yarn

Instalación

# Instalar dependencias
npm install

Desarrollo

# Iniciar servidor de desarrollo
npm run dev

La aplicación estará disponible en http://localhost:5173

Construcción para producción

# Generar build optimizado
npm run build

🌐 Deploy en GitHub Pages

Configuración inicial

  1. Asegúrate de que el repositorio esté en GitHub
  2. Verifica que el campo base en vite.config.ts coincida con el nombre de tu repositorio

Deploy

# Deploy automático a GitHub Pages
npm run deploy

Esto generará el build y lo publicará en la rama gh-pages automáticamente.

Activar GitHub Pages

  1. Ve a la configuración de tu repositorio en GitHub
  2. Navega a Settings > Pages
  3. En Source, selecciona la rama gh-pages y la carpeta / (root)
  4. Guarda los cambios

Tu aplicación estará disponible en: https://alejandro-diazro.github.io/ull-instagram/

📖 Uso

Usar Plantillas Predefinidas

  1. Selecciona una plantilla en la sección "Plantillas de Módulos":

    • 📋 Comunicado Importante: Para avisos oficiales (título + contenido)
    • 🎉 Evento/Actividad: Para eventos y actividades (título dorado + información)
    • 📝 Aviso Simple: Para mensajes directos (una sola caja de texto grande)
  2. Edita el contenido en la sección "Contenido de Módulos":

    • Título/Encabezado: Texto principal (ej: "IMPORTANTE", "¡FIESTA!")
    • Contenido Principal: Información detallada
    • Los cambios se aplican automáticamente a todos los módulos del mismo tipo

Personalizar Textos

Cada elemento de texto tiene controles completos:

  1. Tamaño de fuente: Desliza el control (16px - 100px)
  2. Alineación: Selecciona izquierda ⬅️, centro ↔️ o derecha ➡️
  3. Posición: Arrastra el texto en el preview

Añadir y Controlar Imágenes

  1. Subir imagen: Haz clic en "📷 Añadir Imagen"
  2. Redimensionar: Usa el deslizador de tamaño (100px - 800px)
  3. Alinear horizontalmente:
    • ⬅️ Izquierda
    • ↔️ Centro
    • ➡️ Derecha
  4. Alinear verticalmente:
    • ⬆️ Arriba
    • ↕️ Centro
    • ⬇️ Abajo
  5. Posición manual: Arrastra la imagen en el preview

Decoraciones de Fondo

Añade patrones decorativos que aparecen detrás del contenido:

  • 🧩 Puzzle: Añade 8 piezas de puzzle aleatorias (como en la imagen de ejemplo)
  • 🌊 Onda: Patrón de ondas decorativas
  • ⚪ Círculo: Círculos sólidos
  • ⭕ Anillo: Aros decorativos

Ilustraciones SVG Personalizadas

Añade ilustraciones vectoriales de bancos públicos:

  1. Encuentra una ilustración en:

    • unDraw - Ilustraciones gratuitas sin atribución
    • Storyset - Ilustraciones animadas y estáticas
    • Flaticon - Iconos y stickers
  2. Obtén la URL del SVG:

    • Descarga el SVG
    • Súbelo a GitHub, imgbb.com o similar
    • Copia la URL directa del archivo
  3. Añádelo en la app:

    • Pega la URL en el campo "Ilustración SVG"
    • Haz clic en ➕
    • La ilustración aparecerá como decoración de fondo

📚 Ver SVG_RESOURCES.md para más detalles sobre bancos de ilustraciones.

Eliminar Elementos

  • Haz clic en el botón "🗑️" en cualquier elemento de la lista
  • Para borrar todo: usa el botón "🗑️ Borrar Todo" al final del panel

Exportar

  • Haz clic en "💾 Descargar Historia (Alta Calidad)"
  • La imagen se descargará en formato PNG con resolución 3x (máxima calidad)
  • La imagen final tendrá exactamente 1080×1920 píxeles

🎨 Personalización

Cambiar el color de fondo principal

Edita el archivo src/App.tsx y modifica la línea:

const [backgroundColor] = useState('#5a048b');

Ajustar dimensiones del preview

El preview muestra las dimensiones reales (1080×1920) escaladas a 1:4 para mejor visualización. Para ajustar esto, modifica los estilos en src/App.css en la clase .story-preview.

📁 Estructura del Proyecto

ull-instagram/
├── src/
│   ├── App.tsx          # Componente principal
│   ├── App.css          # Estilos de la aplicación
│   ├── types.ts         # Definiciones de tipos TypeScript
│   ├── main.tsx         # Punto de entrada
│   └── index.css        # Estilos globales
├── public/              # Archivos estáticos
├── index.html           # HTML principal
├── vite.config.ts       # Configuración de Vite
├── tsconfig.json        # Configuración de TypeScript
└── package.json         # Dependencias y scripts

🔧 Tecnologías

  • React 19 - Librería de interfaz de usuario
  • TypeScript - Tipado estático
  • Vite - Build tool y dev server
  • html2canvas - Conversión de DOM a imagen
  • CSS3 - Estilos y diseño responsive

📝 Notas

  • Las imágenes se cargan y almacenan en memoria (base64)
  • El preview muestra una escala reducida (1:4) para mejor visualización
  • La exportación genera imágenes a resolución completa (1080×1920)
  • Los elementos se pueden superponer libremente

🤝 Contribuciones

Si deseas contribuir al proyecto:

  1. Haz un fork del repositorio
  2. Crea una rama para tu feature (git checkout -b feature/nueva-funcionalidad)
  3. Haz commit de tus cambios (git commit -am 'Añade nueva funcionalidad')
  4. Push a la rama (git push origin feature/nueva-funcionalidad)
  5. Crea un Pull Request

📄 Licencia

Este proyecto está bajo la Licencia MIT.

👥 Autor

Delegación de Estudiantes de Derecho - Universidad de La Laguna

Instagram: @delederechoull


¿Necesitas ayuda? Abre un issue en el repositorio o contacta con la delegación.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published