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

Backend seguro y tipado para un Purchase Tracker con Node.js, Express y TypeScript, API REST tipada, Cognito, S3, Textract y PostgreSQL con Prisma.

7 sept 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat