POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Backend: De mi máquina a API en producción

Backend tipado y seguro con Node.js, TypeScript, Prisma y AWS para Purchase Tracker

Publicado el 07/09/2025

Hora de construir el cerebro de nuestro Purchase Tracker. Aunque la app en React Native luce genial, necesita un backend con el que hablar. Entra en escena nuestro backend con Node.js y TypeScript, el amigo fiable que recuerda todo y jamás pierde un ticket.

Por qué Node.js + TypeScript Porque la seguridad de tipos es vida. Un solo lenguaje en todo el stack y errores atrapados en compilación, sin sorpresas de undefined is not a function en producción.

Nuestra pila

• Node.js, Express y TypeScript para una API web segura y tipada

• AWS Cognito para autenticación robusta con JWT

• PostgreSQL y Prisma para base de datos relacional moderna con ORM tipado

• AWS S3 y Textract para almacenamiento de archivos y OCR

• Jest y Supertest para pruebas automatizadas

Arquitectura

Frontend React Native ? Backend Node.js Express TypeScript ? AWS Cognito autenticación ? AWS S3 almacenamiento de archivos ? Textract OCR ? PostgreSQL Prisma base de datos

Arranque rápido

Inicializa el proyecto: npm init -y

Dependencias principales: npm install express cors helmet morgan dotenv joi multer prisma @prisma/client

SDKs AWS y verificación JWT: npm install @aws-sdk/client-s3 @aws-sdk/client-textract aws-jwt-verify

TypeScript y herramientas: npm install -D typescript @types/node @types/express tsx nodemon jest

Estructura recomendada

backend src con carpetas controllers para handlers, middleware para auth y validación, routes para endpoints, services para lógica de negocio, config para settings, types para definiciones TS y utils para helpers

Autenticación con AWS Cognito

Verificamos tokens JWT con Cognito y resolvemos el usuario en base de datos. Si el usuario no existe, lo creamos con Prisma usando el sub de Cognito como cognitoId. Sin manejo manual de contraseñas y con flujos modernos de inicio de sesión.

Subida de archivos a S3

Flujo sencillo: recibimos el archivo con multer, generamos una clave única y sanitizada receipts usuarioId timestamp nombre, lo subimos con PutObject a S3 y devolvemos la URL pública o firmada según el caso. Admite imágenes y PDFs.

OCR con Textract

Analizamos el documento en S3 con AnalyzeDocument en modo FORMS y TABLES, parseamos bloques de texto y extraemos campos clave como total, fecha y proveedor. Si el ticket es complicado, guardamos los bloques para reprocesarlos con reglas mejoradas.

Base de datos con PostgreSQL y Prisma

Modelo User con email, cognitoId, nombre y apellidos. Modelo Receipt con relación a User, s3Key único, s3Url, estado UPLOADED, PROCESSING, PROCESSED, FAILED y extractedData en JSON con resultados OCR. Las relaciones y claves foráneas garantizan integridad. Prisma aporta tipos generados, migraciones versionadas y cliente typesafe.

API REST limpia

Endpoints

• POST api receipts upload para subir un recibo

• GET api receipts para listar recibos

• GET api receipts id para consultar un recibo

• DELETE api receipts id para borrar un recibo

• GET api purchases para listar compras

• GET api users profile para el perfil del usuario

Manejo de errores

Middleware centralizado que registra errores, distingue AppError de errores genéricos, mapea códigos Prisma como P2002 a 409 conflicto y devuelve respuestas JSON consistentes con código, mensaje y timestamp.

Pruebas automatizadas

Con Jest y Supertest verificamos caminos felices, flujos de autenticación, errores y casos límite. Ejemplo clásico subir un ticket con token válido debe devolver 201 y un id, mientras que sin token debe devolver 401.

Checklist de despliegue

• Variables de entorno configuradas

• Migraciones de base de datos ejecutadas

• Compilación TypeScript correcta

• Servicios AWS configurados

• Pruebas en verde

• SSL habilitado

• CORS configurado

Variables de entorno clave

NODE_ENV=production

DATABASE_URL=postgresql://user:pass@host:5432/db

AWS_COGNITO_USER_POOL_ID=us-east-1_xxxxxxxxx

AWS_S3_BUCKET=purchase-tracker-receipts

AWS_REGION=us-east-1

Qué hemos construido

• Escalable para tráfico real

• Type-safe para detectar errores temprano

• Seguro con autenticación Cognito

• Fiable con manejo de errores uniforme

• Mantenible con estructura clara y TypeScript

• Rápido con consultas optimizadas y potencial de caché

TLDR Node.js + TypeScript + AWS + PostgreSQL + Prisma se traduce en un backend que te hace lucir como una estrella del rock.

Sobre Q2BSTUDIO

En Q2BSTUDIO diseñamos y desarrollamos aplicaciones a medida y software a medida con foco en calidad, escalabilidad y seguridad. Integramos inteligencia artificial, agentes IA y servicios cloud AWS y Azure para automatizar procesos, acelerar el time to market y elevar la productividad. Nuestro equipo de ciberseguridad protege tus datos con auditorías y pentesting, mientras que nuestros servicios inteligencia de negocio llevan tus métricas al siguiente nivel con power bi y analítica avanzada. Si buscas un partner que vaya de tu máquina a API en producción con excelencia, somos tu equipo.

Descubre cómo llevamos tus ideas a producción con nuestro servicio de desarrollo de aplicaciones y software personalizados en aplicaciones a medida y software a medida, y escala con arquitecturas robustas, contenedores, CI CD y observabilidad sobre servicios cloud aws y azure.

Stack final

Node.js, Express, TypeScript, AWS Cognito, S3, Textract, PostgreSQL, Prisma, Jest. Arquitectura RESTful tipada con JWT, procesamiento de archivos, OCR y buenas prácticas modernas, lista para crecer con ia para empresas, automatización de procesos y cuadros de mando con power bi.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio