Juan PabloDesarrollador de softwareSi lo puedes imaginar, lo podemos hacer.

Amonet Tattoo Studio

Landing para un estudio de tatuajes de Medellín y un sistema de gestión de citas con una API en .NET: clientes, artistas, camillas y citas, con control de disponibilidad y auditoría de cada acción.

amonet tattoo studioAmonet Tattoo Studio: página de inicio del sitio
Estado
Por publicar
Tipo
Cliente
Desde
agosto de 2025
Mi rol
Desarrollo integral: landing, API, base de datos e interfaz de gestión.
Stack
Next.jsReactTypeScriptTailwind CSS.NET 9C#DapperFluentValidationSQL Server

Problemas y cómo los resolví

  1. 01

    ProblemaDos citas no pueden ocupar la misma camilla al mismo tiempo.

    SoluciónAntes de crear una cita, una consulta SQL detecta cualquier cruce de horarios en esa camilla y descarta las citas canceladas o terminadas. Si hay conflicto, la cita no se crea.

  2. 02

    ProblemaEn un estudio, cada cambio en una cita debe poder rastrearse: quién, cuándo y qué cambió.

    SoluciónCada acción (crear, iniciar, cancelar o terminar una cita) guarda un registro de auditoría con la fecha y un resumen en JSON con el cliente, el artista y el estado anterior y el nuevo.

  3. 03

    ProblemaCuando lecturas y escrituras comparten los mismos servicios, el código se vuelve difícil de mantener a medida que crece.

    SoluciónArquitectura por capas con CQRS: cada operación es un comando o una consulta con su propio manejador, y los datos se validan con FluentValidation antes de llegar a la base de datos.

  4. 04

    ProblemaEl personal necesita encontrar a un cliente con el dato que tenga a mano y sin crear registros duplicados.

    SoluciónBúsqueda por nombre, cédula, correo o teléfono. La cédula es única en la base de datos y los nombres se normalizan automáticamente al guardarlos.

  1. 05

    ProblemaLa landing debía transmitir la identidad oscura y artística del estudio sin perder velocidad de carga.

    SoluciónPaleta y tipografía propias, una animación de entrada con puertas que se abren y un script con Sharp que genera la imagen principal en varios tamaños WebP.

Qué está construido

  • Landing completa: servicios, estilos, artistas, galería, preguntas frecuentes, reservas y contacto.
  • API REST para clientes, artistas, camillas, citas y auditoría.
  • Base de datos en SQL Server con relaciones entre tablas y cédula única.
  • Interfaz web para registrar clientes y gestionar el ciclo de cada cita.

Qué sigue en desarrollo

  • Publicación de la landing, que está en su fase final.
  • Validar también la disponibilidad del artista, no solo la de la camilla.
  • Reglas explícitas de transición entre estados, por ejemplo, impedir que se termine una cita cancelada.
  • Conectar la landing con el sistema para recibir reservas en línea.
  • Acceso con usuario para el personal y despliegue del backend.