Vamos a construir paso a paso una API REST modular llamada "contacts-api" usando Node.js y Express. La aplicación será dockerizada y diseñada con una arquitectura que facilite agregar capas de seguridad en el futuro.

Requisitos previos

Para seguir este tutorial necesitarás:

  1. Node.js instalado (versión 14 o superior)
  2. Docker instalado localmente para pruebas
  3. Una cuenta en AWS con acceso a EC2
  4. Conocimientos básicos de JavaScript y Express
  5. Git instalado

Estructura del proyecto

Comenzaremos creando la estructura de directorios para nuestro proyecto:

# Crear el directorio del proyecto
mkdir contacts-api
cd contacts-api

# Inicializar el proyecto Node.js
npm init -y

# Crear la estructura de directorios
mkdir -p src/{routes,middleware,db,config} docker client

Instalación de dependencias

Ahora vamos a instalar las dependencias necesarias para nuestra API:

# Dependencias principales
npm install express morgan uuid cors

# Dependencias de desarrollo
npm install --save-dev nodemon

Estas dependencias tienen los siguientes propósitos: