Cargando proyectos…
Cargando proyectos…
Implementar un servicio en segundo plano (background worker) gestionado por tareas programadas (cron-jobs) que procese y envíe correos electrónicos pendientes de forma automatizada. El sistema debe ser capaz de manejar volúmenes escalables, evitar la saturación del servidor SMTP (NO se permite una solución que pueda sancionar la reputación del dominio), garantizar la entrega (reintentos) y registrar el estado de cada envío.
Upjau is hiring an experienced WordPress Developer on a freelance basis. Requirements: 7-10 years of hands-on experience with WordPress, WooCommerce, PHP, JavaScript, XML, responsive development, and hosting management. Freshers need not apply. This is a freelance opportunity for experienced professionals only.
Buscamos un Ingeniero Backend / Arquitecto de Software Senior con amplia experiencia en el ecosistema de TypeScript y bases de datos relacionales para realizar un proyecto en dos fases clave: una auditoría profunda de nuestra base de datos actual en Supabase (PostgreSQL) y el desarrollo desde cero de un backend monolítico aislado utilizando NestJS. El objetivo es desacoplar la lógica de negocio de la capa de persistencia directa de Supabase, centralizando la seguridad, validaciones y flujos en un backend robusto, escalable y completamente documentado. Requisitos Técnicos Obligatorios: Framework: NestJS (v10+) aplicando principios SOLID y arquitectura limpia o modular. Base de Datos & ORM: Conocimiento avanzado de PostgreSQL/Supabase, migraciones y uso de Prisma ORM o TypeORM. Lenguaje: TypeScript (Tipado estricto, configuraciones óptimas de tsconfig). Seguridad y Auth: Implementación de Passport, JWT, hashing (bcrypt), y control de acceso basado en roles (RBAC). Validación de Datos: Uso estricto de class-validator y class-transformer para DTOs. Documentación: Generación automatizada de la API utilizando Swagger / OpenAPI dentro de NestJS. Entregables Clave: Fase 1: Auditoría y Optimización de Supabase Reporte de estado de la BD: Evaluación de la estructura de tablas actuales, relaciones, restricciones (FKs, PKs) y tipos de datos. Análisis de rendimiento: Identificación de consultas lentas, propuesta y creación de índices necesarios. Limpieza de lógica interna: Identificación de políticas RLS, funciones RPC o triggers que deban ser migrados o desactivados a favor del nuevo backend.