API RESTful para gestión de notas construida con AWS Lambda, API Gateway y DynamoDB usando Serverless Framework.
Antes de comenzar, asegúrate de tener una cuenta de AWS configurada.
Descarga e instala Node.js desde https://nodejs.org/ (versión LTS recomendada)
npm install -g serverless# Instalar AWS CLI
npm install -g aws-cli
# Configurar credenciales AWS
aws configureIngresa tus credenciales de AWS cuando se te solicite.
# Clonar el repositorio
git clone https://github.com/FrancoMuzzio/DFX5-Tech-Interview.git
# Ir al directorio del proyecto
cd DFX5-Tech-Interview
# Instalar dependencias de Node.js
npm installPara deployar la aplicación en AWS:
serverless deployEl comando anterior:
- Creará automáticamente la tabla de DynamoDB
- Desplegará las funciones Lambda
- Configurará API Gateway
- Instalará automáticamente las dependencias de Python usando el plugin
serverless-python-requirements
Después del deployment, obtendrás una URL base similar a:
https://xxxxxxxxxx.execute-api.us-east-2.amazonaws.com/dev
POST /notas
Crea una nueva nota en el sistema.
Ejemplo con curl:
curl -X POST https://xxxxxxxxxx.execute-api.us-east-2.amazonaws.com/dev/notas \
-H "Content-Type: application/json" \
-d '{
"texto": "Esta es mi primera nota"
}'Respuesta exitosa (201):
{
"note": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"texto": "Esta es mi primera nota"
}
}GET /notas/{id}
Obtiene una nota específica por su ID.
Ejemplo con curl:
curl https://xxxxxxxxxx.execute-api.us-east-2.amazonaws.com/dev/notas/550e8400-e29b-41d4-a716-446655440000Respuesta exitosa (200):
{
"note": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"texto": "Esta es mi primera nota"
}
}Respuesta cuando no se encuentra (404):
{
"error": "Nota no encontrada"
}Para conocer más sobre el proceso de desarrollo, problemas encontrados y decisiones técnicas tomadas durante la implementación, consulta: