Convierte imagenes raster a SVG de forma automatica con IA.
- 🎨 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
| Frontend | Backend | Monitoreo |
|
|
|
| Requisito | Version |
|---|---|
| 🟢 Node.js | >= 20 |
| 📦 pnpm | >= 9 |
# 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:allTip
El frontend estara disponible en http://localhost:3000 y el backend en http://localhost:3001
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 | ❌ |
# 🏃 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 TypeScriptapolo/
├── 📦 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)
| Componente | Plataforma | Config |
| 🎨 Frontend | Vercel | vercel.json |
| ⚙️ Backend | Render | render.yaml |
Note
El frontend se despliega automaticamente en Vercel al hacer push a main.
- 🍴 Fork el proyecto
- 🌟 Crear una rama para la feature (
git checkout -b feature/nueva-feature) - 💾 Commit los cambios (
git commit -m 'feat: agregar nueva feature') - 📤 Push a la rama (
git push origin feature/nueva-feature) - 📬 Abrir un Pull Request
Este proyecto esta bajo la MIT License. Ver LICENSE para mas detalles.
Hecho con ❤️ por Edwar