Skip to content

DDH-WEB/rest_api_typescript_backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 PERN Stack Server

Denis Davila

Denis Yampol Davila Huamán

Full Stack Developer | [P or M]+ERN Stack Specialist

LinkedIn Email Phone


Servidor backend construido con PostgreSQL, Express, React y Node.js (PERN Stack). Este repositorio contiene la API REST y la lógica del servidor para aplicaciones full-stack escalables y de alto rendimiento.

📋 Tabla de Contenidos

✨ Características

  • ✅ API RESTful completa y documentada
  • ✅ Autenticación y autorización segura
  • ✅ Validación de datos con TypeScript/Zod
  • ✅ Manejo de errores centralizado y robusto
  • ✅ Queries SQL optimizadas con índices
  • ✅ Arquitectura escalable y mantenible
  • ✅ CI/CD implementado para despliegue automatizado
  • ✅ Performance optimizado (80% reducción en tiempos de despliegue)

🛠️ Tecnologías

Backend

  • Node.js - Entorno de ejecución
  • Express - Framework web minimalista
  • PostgreSQL - Base de datos relacional
  • TypeScript - Tipado estático y type-safe

Herramientas

  • pg - Cliente PostgreSQL para Node.js
  • dotenv - Gestión de variables de entorno
  • cors - Manejo de CORS
  • nodemon - Desarrollo con recarga automática
  • Zod - Validación de schemas

📦 Requisitos Previos

Antes de comenzar, asegúrate de tener instalado:

  • Node.js (v16 o superior)
  • PostgreSQL (v12 o superior)
  • npm o yarn
  • Git

🔧 Instalación

  1. Clona este repositorio:
git clone https://github.com/tu-usuario/tu-proyecto-server.git
cd tu-proyecto-server
  1. Instala las dependencias:
npm install
  1. Crea la base de datos en PostgreSQL:
createdb nombre_base_datos
  1. Ejecuta las migraciones:
npm run migrate

⚙️ Configuración

  1. Crea un archivo .env en la raíz del proyecto:
PORT=5000
DATABASE_URL=postgresql://usuario:contraseña@localhost:5432/nombre_base_datos
NODE_ENV=development
JWT_SECRET=tu_secreto_jwt
  1. Configura las variables según tu entorno de desarrollo/producción.

🚀 Uso

Modo Desarrollo

npm run dev

Modo Producción

npm start

El servidor estará disponible en http://localhost:5000

Testing

npm test

📁 Estructura del Proyecto

server/
├── src/
│   ├── config/          # Configuración de BD y variables
│   ├── controllers/     # Controladores de rutas
│   ├── routes/          # Definición de endpoints
│   ├── models/          # Modelos de datos
│   ├── middleware/      # Middlewares personalizados
│   ├── utils/           # Utilidades y helpers
│   ├── validators/      # Validaciones con Zod
│   └── types/           # Tipos TypeScript
├── tests/               # Tests unitarios e integración
├── .env.example
├── .gitignore
├── package.json
├── tsconfig.json
└── server.ts

🔌 API Endpoints

Ejemplo de Endpoints Disponibles

# Recursos
GET    /api/resources          # Obtener todos los recursos
GET    /api/resources/:id      # Obtener recurso específico
POST   /api/resources          # Crear nuevo recurso
PUT    /api/resources/:id      # Actualizar recurso
DELETE /api/resources/:id      # Eliminar recurso

# Autenticación
POST   /api/auth/register      # Registro de usuario
POST   /api/auth/login         # Inicio de sesión
GET    /api/auth/profile       # Perfil del usuario

📜 Scripts Disponibles

  • npm start - Inicia el servidor en producción
  • npm run dev - Inicia el servidor en modo desarrollo
  • npm run build - Compila TypeScript a JavaScript
  • npm test - Ejecuta las pruebas
  • npm run migrate - Ejecuta migraciones de BD

👨‍💻 Sobre Mí

Soy Denis Davila, desarrollador Full Stack con más de 2 años de experiencia especializado en el stack PERN. Mi enfoque está en crear aplicaciones web escalables, eficientes y de alto rendimiento.

🎯 Logros Destacados

  • 🚀 40% de mejora en la entrega de productos como Lead FrontEnd en CKDE E.I.R.L
  • 25% de mejora en rendimiento web mediante optimización
  • 🔧 80% de reducción en tiempos de despliegue con CI/CD
  • 🤖 60% de reducción en tiempo de tareas repetitivas mediante automatización
  • 💯 95% de satisfacción del cliente con entregas puntuales

💼 Stack Técnico

const skills = {
  frontend: ['React', 'TypeScript', 'Next.js', 'Zustand', 'React Query'],
  backend: ['Node.js', 'Express', 'PostgreSQL', 'RESTful APIs'],
  tools: ['Git', 'GitHub', 'CI/CD', 'Docker', 'Chrome DevTools'],
  methodologies: ['Scrum', 'Kanban', 'Agile']
};

🎓 Educación

  • 📚 React y TypeScript - La Guía Completa (Udemy, 60% completado)
  • 🎓 Profesional Técnico en Desarrollo de Sistemas (ISA Santa Angela)

💼 Contratación

¡Estoy disponible para nuevos proyectos!

Como desarrollador Full Stack con experiencia comprobada, estoy abierto a oportunidades freelance o tiempo completo. Puedo ayudarte con:

  • ✨ Desarrollo de aplicaciones web completas (MERN/PERN Stack)
  • 🔌 Creación de APIs RESTful robustas y escalables
  • 🗄️ Diseño e implementación de bases de datos PostgreSQL
  • ⚡ Optimización de rendimiento web y consultas SQL
  • 🚀 Implementación de CI/CD y automatización de procesos
  • 🎨 Desarrollo frontend con React, TypeScript y Next.js
  • 🔧 Resolución de problemas técnicos complejos
  • 📱 Diseño responsive y mobile-first

🌟 ¿Por qué trabajar conmigo?

  • ✅ Experiencia liderando equipos de desarrollo
  • ✅ Enfoque en código limpio y buenas prácticas
  • ✅ Comunicación efectiva y entregas puntuales
  • ✅ Metodologías ágiles (Scrum/Kanban)
  • ✅ Autoaprendizaje continuo y adaptación tecnológica
  • ✅ Pasión por resolver desafíos técnicos complejos

📬 Contacto

Canal Información
📧 Email denis.dh.web@gmail.com
💼 LinkedIn linkedin.com/in/davila
📱 WhatsApp +51 9** *** **1
📍 Ubicación Piura, Perú 🇵🇪

💬 ¿Tienes un proyecto en mente? No dudes en contactarme. Me encantaría conocer más sobre tu idea y cómo puedo ayudarte a hacerla realidad.

🤝 ¿Buscas un desarrollador comprometido? Conversemos sobre cómo mi experiencia puede aportar valor a tu equipo.


💻 Tecnologías con las que trabajo

TypeScript React Node.js Express PostgreSQL Next.js

Si te gusta este proyecto, no olvides darle una estrella!

📫 ¿Interesado en trabajar conmigo? Envíame un mensaje y hablemos sobre tu próximo proyecto.

📄 Licencia

Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.


Desarrollado con ❤️ por Denis Davila | Piura, Perú 🇵🇪

About

Deployment del proyecto REST API´S en Node, Express, Sequelize y TypeScript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published