Skip to content

Repository files navigation

🚀 APOLO

Laboratorio de Vectorizacion Inteligente

Convierte imagenes raster a SVG de forma automatica con IA.

pnpm Node.js Astro Fastify


Deploy on Vercel


✨ Caracteristicas

  • 🎨 Vectorizacion automatica — Convierte PNG, JPG, WebP, GIF, BMP, TIFF a SVG
  • 🖌️ Editor de colores — Modifica los colores del SVG antes de descargar
  • 🔲 Toggle de fondo — Descarga con o sin fondo transparente
  • 🔍 Comparador visual — Compara el original vs SVG lado a lado con zoom
  • 📊 Metricas de calidad — Analiza la fidelidad de la vectorizacion

🛠️ Stack Tecnico

Frontend Backend Monitoreo
  • ⚡ Astro 5.1
  • 🎨 Tailwind CSS 4.0
  • 🐛 Sentry
  • 📈 Vercel Analytics
  • 🚀 Fastify 5.2
  • 🖼️ Sharp (procesamiento de imagen)
  • 🔧 @visioncortex/vtracer (WASM)
  • 🐛 Sentry
  • 🔔 UptimeRobot (uptime)
  • 🐛 Sentry (errores)
  • 📈 Vercel Analytics (metricas)

📋 Requisitos

Requisito Version
🟢 Node.js >= 20
📦 pnpm >= 9

🚀 Instalacion Rapida

# 1️⃣ Clonar el repositorio
git clone https://github.com/edwar/apolo.git
cd apolo

# 2️⃣ Instalar dependencias
pnpm install

# 3️⃣ Configurar variables de entorno
cp .env.example .env

# 4️⃣ Ejecutar en desarrollo
pnpm dev:all

Tip

El frontend estara disponible en http://localhost:3000 y el backend en http://localhost:3001


⚙️ Variables de Entorno

Crea un archivo .env en la raiz del proyecto:

# 🔗 URL del backend (requerido)
PUBLIC_API_URL=http://localhost:3001

# 🐛 Sentry (opcional - para monitoreo de errores)
SENTRY_DSN=https://tu-dsn@sentry.io/xxxxx
Variable Descripcion Requerido
PUBLIC_API_URL URL del servidor backend
SENTRY_DSN DSN de Sentry para errores

🎯 Comandos Disponibles

# 🏃 Desarrollo
pnpm dev:all          # 🚀 Ejecutar todo
pnpm dev              # 🎨 Solo frontend (puerto 3000)
pnpm dev:backend      # ⚙️ Solo backend (puerto 3001)

# 📦 Build
pnpm build            # 🏗️ Construir frontend para produccion

# 🔍 Calidad de codigo
pnpm lint             # 📏 Verificar linting
pnpm typecheck        # 🏷️ Verificar tipos TypeScript

📁 Estructura del Proyecto

apolo/
├── 📦 packages/
│   ├── 🎨 frontend/          # Astro + Tailwind CSS
│   │   ├── src/
│   │   │   ├── layouts/      # 📐 Layout principal
│   │   │   └── pages/        # 📄 Paginas
│   │   └── public/           # 🖼️ Assets estaticos
│   │
│   └── ⚙️ backend/           # Fastify + VTracer
│       ├── src/
│       │   ├── routes/       # 🛣️ Endpoints API
│       │   ├── services/     # 🔧 Logica de negocio
│       │   ├── domain/       # 📋 Tipos y interfaces
│       │   └── config/       # ⚙️ Configuracion
│       └── tests/            # 🧪 Pruebas
│
├── 🐳 Docker
├── 🚀 Vercel (frontend)
└── ☁️ Render (backend)

🚀 Despliegue

Componente Plataforma Config
🎨 Frontend Vercel vercel.json
⚙️ Backend Render render.yaml

Note

El frontend se despliega automaticamente en Vercel al hacer push a main.


🤝 Contribuir

  1. 🍴 Fork el proyecto
  2. 🌟 Crear una rama para la feature (git checkout -b feature/nueva-feature)
  3. 💾 Commit los cambios (git commit -m 'feat: agregar nueva feature')
  4. 📤 Push a la rama (git push origin feature/nueva-feature)
  5. 📬 Abrir un Pull Request

📄 Licencia

Este proyecto esta bajo la MIT License. Ver LICENSE para mas detalles.


Hecho con ❤️ por Edwar

⬆ Volver arriba

About

APOLO - Vectorización Inteligente

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages