Blog - Rommel Romero

Blog · Build in Public

Documento cada proyecto de principio a fin

Decisiones técnicas, arquitectura, errores y lecciones aprendidas.

01Fase 0 — Cimientos

Por qué los freelancers calculan mal su tarifa por hora y cómo solucionarlo con software

Tiempo invisible y suscripciones de software están destrozando tu margen real. Te cuento por qué pasa y cómo lo estoy resolviendo con TrueRate.

Indie HackerTrueRateNext.jsNestJSBuild in Public
02Fase 0 — Cimientos

Arquitectura de datos para TrueRate

Diseño relacional de 8 tablas con separación de credenciales y perfiles, restricciones de integridad y consultas SQL avanzadas para calcular la tarifa real por hora de un freelancer.

PostgreSQLSQLDatabase DesignTrueRateBuild in Public
03Fase 1 — El Backend Core

Arquitectura backend de TrueRate: NestJS y Prisma

Cómo estructurar el backend core de TrueRate usando NestJS, validación estricta de entorno con Joi y Prisma conectado mediante el adaptador nativo de PostgreSQL.

NestJSPrismaPostgreSQLTypeScriptTrueRateBuild in Public
04Fase 1 — El Backend Core

Del schema a la API: construyendo los CRUDs de TrueRate

Cómo construí los CRUDs de las 6 entidades de TrueRate conectadas a PostgreSQL con Prisma, DTOs validados con class-validator y el patrón de andamiaje.

NestJSPrismaPostgreSQLTypeScriptTrueRateBuild in Public
05Fase 1 — El Backend Core

Autenticación segura en NestJS

Cómo implementé la autenticación de TrueRate con NestJS: JWT firmado, contraseñas con bcrypt, transporte del token en cookies HttpOnly y guards para proteger la API.

NestJSJWTAutenticaciónSeguridadTrueRateBuild in Public