Stack Tecnológico
Lynx está construido sobre una pila tecnológica moderna, segura y escalable. A continuación, se presenta un desglose detallado de las tecnologías centrales utilizadas en este proyecto.
Lynx aprovecha una variedad de bibliotecas y herramientas de código abierto para asegurar una experiencia de desarrollo y de IA en desarrollo.
En resumen
Sección titulada «En resumen»- Lenguaje: TypeScript para frontend y backend
- Base de datos: PostgreSQL
- ORM: Drizzle ORM
- Validación: Zod
- Pruebas: Vitest & Playwright
Desglose Detallado
Sección titulada «Desglose Detallado»- Lenguaje: TypeScript - Superconjunto tipado de JavaScript.
- Gestor de Paquetes: Pnpm - Gestor de paquetes rápido y eficiente en espacio de disco.
- Gestor de Monorepos: Turborepo - Gestor de tareas eficiente para monorepos.
- Portabilidad: Docker (y docker compose) - Plataforma para desarrollar, enviar y ejecutar aplicaciones en contenedores.
- Base de Datos: PostgreSQL - La base de datos de código abierto más avanzada del mundo.
- ORM: Drizzle ORM - ORM ligero y seguro por tipos en TypeScript.
- Validación: Zod - Validación de esquemas con enfoque en TypeScript.
- Eventos: Evlog - Sistema de gestión de logs basado en drains.
Backend
Sección titulada «Backend»- Framework: NestJS - Framework modular de alto rendimiento para aplicaciones de servidor.
- Autenticación: Better Auth - Solución completa de autenticación.
- Pruebas de API: Bruno - Suite ligera de pruebas de API.
- Documentación: OpenAPI - Estándar abierto para definir interfaces de API.
Frontend
Sección titulada «Frontend»- Framework:
- Estilos: CSS Modules con Bulma como base.
- Iconos: Lucide React - Iconos bellos y consistentes.
- State Manager: Zustand - Pequeña, rápida y escalable solución de gestión de estado.
- Internacionalización: next-intl - Internacionalización para Next.js basado en use-intl.
- Documentación: Storybook - Herramienta para el desarrollo de componentes UI.
Correos Electrónicos
Sección titulada «Correos Electrónicos»- Plantillas: React Email - Construcción de correos electrónicos utilizando componentes de React.
- Transporte: Nodemailer - Envío de correos electrónicos desde Node.js.
Pruebas y QA
Sección titulada «Pruebas y QA»- Pruebas Unitarias: Vitest - Framework de pruebas unitarias rápido.
- Pruebas E2E: Playwright - Pruebas end-to-end para aplicaciones web modernas.
- Hooks de Git: Husky - Hooks de Git nativos modernos.
- Convención de Commits: Commitlint - Linter de mensajes de commit. Aplica Conventional Commits.
Herramientas de Desarrollo
Sección titulada «Herramientas de Desarrollo»- Formateo: Oxfmt - Formateador de código con opiniones.
- Linting: Oxlint - Linter moderno y escalable.
- Linting de CSS: Stylelint - Linter moderno para CSS.
- Gestión de Secretos: Infisical o Bitwarden SDK.
- Generación de Código: Plopfile - Scaffolding integrado con Turborepo.
Integración Continua y Despliegue
Sección titulada «Integración Continua y Despliegue»- GitHub Actions: GitHub Actions - Plataforma de CI/CD de GitHub.
- Gestión de Lanzamientos: Semantic Release - Gestión de versiones y publicación de paquetes completamente automatizada.
- Container registry: GitHub Packages - Registro de paquetes de GitHub.