Agencia de Turismo
Monmar Travel es una agencia de viajes de Mendoza, Argentina. Reconocida en el mercado local e internacional. Ofrece paquetes de viajes personalizados al exterior y Experiencias turísticas y culinarias en Mendoza.
Desarrollada por mí y mis socios de Asterbizz 🛸.
Experiencia Personal
El proyecto de aplicación web para Monmar fué sin duda el más desafiante en el que he trabajado, donde puse a prueba y llevé al límite todas mis habilidades tanto en el Front-End como en el Back-End.
Trabajando en esta Web-App, aprendí muchas cosas, como por ejemplo Cachear respuestas del server, implementar reCaptcha de Google, Generar y Manener Códigos QR o administrar sistema de mailing, con plantillas html personalizadas para establecer una imagen de marca confiable.
Desarrollando Monmar, me enfrenté por primera vez a desplegar una aplicación en un servidor linux en la nube (vps), lo que me brindó una experiencia invaluable, ya que al día de hoy, administro los servidores de Asterbizz 🛸 y eso me ha impulsado a aprender más sobre ciberseguridad para mantenerlos seguros.
Requerimientos del Cliente
En principio, el cliente requería un CRUD básico, donde poder crear, modificar y eliminar los distintos paquetes de viajes que ofrece, sin embargo rápidamente los requerimientos escalaron a cosas mas complejas como:
- 📱 Sistema de Referidos con QR.
- ✉️ Sistema de Mailing Empresarial con plantillas personalizadas.
- ⭐ Sistema de Favoritos.
- 🗓️ Sistema de Reservas.
- ✉️ Sistema de Consultas.
El más grande desafío fué desarrollar el sistema de Referidos con QR, ya que funciona de la siguiente manera:
- ⭐ Se registra un Refeerer en la base de datos.
- ⭐ Se otorga un QR y un Link de Referido.
- ⭐ Usuario Escanea el QR y realiza una reserva a través del Link de Referido.
- ⭐ Se registra al Usuario relacionado con el Refeerer.
- ⭐ Se envía un Mail de confirmación de reserva al Usuario.
- ⭐ Se envía un Mail de notificación de reserva a Monmar.
- ⭐ Monmar paga al refeerer por la cantidad de reservas realizadas a través de su QR.
Tecnologías & Herramientas
La web fué desarrollada con NextJS & TypeScript, siguiendo una metodología scrum simplificada.
Se utilizó TailwindCSS y CSS puro para los estilos.
Implementé distintas librerías, como ZOD para controlar datos la forma de los datos enviados y recibidos del back-end. Framer-Motion para animar el DOM. Prisma como ORM, librerías de generación de QR, y NodeMailer para el sistema de mailing.
Decidí utilizar una base de datos SQL, porque la estructura de los datos que se requerían, se podian adaptar perfectamente a un sistema de tablas.
Utilicé en particular PostgreSQL, debido a su rapidez y la buena integración con Prisma ORM.
Despliegue de la Aplicación
Desplegué la aplicación en un VPS Linux provisto por el cliente.
Utilicé el servidor web Nginx y PM2 para mantener el proceso de la app corriendo y también administrar logs.