Aplicación web para gestionar solicitudes de traducción con cálculo automático de precios, subida de archivos y procesamiento de pagos.
- Formulario Intuitivo - Interfaz moderna y fácil de usar
- Cálculo Automático - Precios en tiempo real según tipo de documento
- Recargo por Urgencia - +50% para procesamiento urgente
- Subida de Archivos - Soporte para múltiples formatos
- Integración Supabase - Base de datos y almacenamiento
- Webhook n8n - Procesamiento automático y generación de pagos
- Responsive Design - Optimizado para móviles y desktop
| Tipo de Documento | Precio por Hoja |
|---|---|
| 📜 Certificados | $20 |
| 🎓 Documentos Académicos | $25 |
| ⚖️ Documentos Legales | $30 |
| 💼 Documentos Comerciales | $30 |
| 📋 Contratos | $33 |
| 🏥 Documentos Médicos | $35 |
| 🔧 Documentos Técnicos | $35 |
| 📖 Manuales | $40 |
- Normal: 8-12 horas
- Urgente: 1-2 horas (+50% recargo)
- Frontend: React + TypeScript + Vite
- Estilos: TailwindCSS con animaciones custom
- Base de Datos: Supabase (PostgreSQL)
- Storage: Supabase Storage
- Iconos: Lucide React
- Deployment: Docker + Nginx
# Clonar repositorio
git clone [repo-url]
cd solicitudes-traduccion
# Instalar dependencias
npm install
# Configurar variables de entorno
cp .env.example .env
# Editar .env con tus credenciales de Supabase
# Ejecutar en desarrollo
npm run devVITE_SUPABASE_URL=https://tu-proyecto.supabase.co
VITE_SUPABASE_ANON_KEY=tu_clave_publica_supabaseVer DEPLOY_DOKPLOY.md para instrucciones detalladas.
✅ SSL Automático: Cloudflare maneja todo el SSL/TLS automáticamente. No configurar certificados en Dokploy.
# Build imagen
docker build -t solicitudes-traduccion .
# Ejecutar contenedor
docker run -p 80:80 \
-e VITE_SUPABASE_URL=tu_url \
-e VITE_SUPABASE_ANON_KEY=tu_key \
solicitudes-traduccionCREATE TABLE solicitudes_traduccion (
id uuid DEFAULT gen_random_uuid() PRIMARY KEY,
nombre text NOT NULL,
telefono text NOT NULL,
correo text NOT NULL,
idioma_origen text NOT NULL,
idioma_destino text NOT NULL,
tiempo_procesamiento text NOT NULL,
formato_deseado text[],
numero_hojas integer NOT NULL,
tipo_documento text NOT NULL,
instrucciones text,
fecha_solicitud date NOT NULL,
archivos_urls text[],
creado_en timestamp with time zone DEFAULT now()
);-- Crear bucket para archivos
INSERT INTO storage.buckets (id, name, public)
VALUES ('solicitudes-traduccion-files', 'solicitudes-traduccion-files', true);-- Habilitar RLS
ALTER TABLE solicitudes_traduccion ENABLE ROW LEVEL SECURITY;
-- Política para insertar solicitudes
CREATE POLICY "Permitir insertar solicitudes"
ON solicitudes_traduccion
FOR INSERT
TO anon, authenticated
WITH CHECK (true);El formulario envía datos a un webhook de n8n que:
- Procesa la información del formulario
- Calcula el total con recargos
- Genera enlace de pago
- Envía confirmaciones por email
Webhook URL: https://app.n8n-tech.cloud/webhook/b1a77e5e-14a9-4a7b-a01c-6d12354c5e3d
- Gradientes Animados - Fondos y elementos dinámicos
- Microinteracciones - Hover states y transiciones
- Loading States - Indicadores de progreso
- Responsive - Optimizado para todos los dispositivos
- Dark Theme - Esquema de colores profesional
src/
├── App.tsx # Componente principal
├── lib/
│ └── supabase.ts # Cliente Supabase
├── index.css # Estilos globales y animaciones
└── main.tsx # Punto de entrada
- Documentos: PDF, DOC, DOCX, TXT
- Presentaciones: PPT, PPTX
- Hojas de Cálculo: XLS, XLSX
- Imágenes: JPG, JPEG, PNG, GIF, SVG, WebP
Para soporte técnico o consultas sobre la aplicación, contacta al equipo de desarrollo.
⚡ Procesamiento rápido y profesional de traducciones ⚡