Este proyecto esta desarrollado con Node.js, TypeScript y Serverless Framework, utilizando AWS Lambda, API Gateway, y DynamoDB para crear y desplegar servicios en Lambda. Ademas de la integracion con la API de Star Wars (SWAPI) y uso de AWS Translate.
- Node.js 18.x o superior
- Serverless Framework instalado (
npm install -g serverless
)
- Clona este repositorio:
git clone https://github.com/ernestogut/serverless-node-ts-test.git
- Ingresa al directorio del proyecto:
cd serverless-node-ts-test
- Instala las dependencias:
npm install
Asegúrate de configurar tus credenciales de AWS para que Serverless Framework pueda desplegar tu aplicación.
- Descargar AWS CLI (https://aws.amazon.com/cli/)
- Abrir una terminal y ejecutar el comando:
aws configure
- Ingresar las credenciales de AWS (Access Key ID, Secret Access Key, Default region name)
Abre Postman, dale click al MenuBar/File/Import y arrastra el archivo: softtek-test.postman_collection.json
a la ventana que aparece en la pantalla de la aplicación.
Para desplegar la aplicación en AWS Lambda, utiliza el comando:
sls deploy
- Endpoint:
/create
- Descripción: Crea un nuevo usuario en la base de datos.
- Método: POST
- Cuerpo de la solicitud:
{ "first_name": "Ernesto", "email": "[email protected]", "last_name": "Gutierrez", "dob": "1998-03-25", "password": "123456" }
- Respuesta exitosa: Código de estado 200 OK y cuerpo JSON con el mensaje y los datos del usuario creado.
- Endpoint:
/users
- Descripción: Obtiene la lista de usuarios.
- Método: GET
- Respuesta exitosa: Código de estado 200 OK y cuerpo JSON con la lista de usuarios.
- Endpoint:
/get-swapi-people
- Descripción: Obtiene la lista de personas de Star Wars de la API SWAPI.
- Método: GET
- Respuesta exitosa: Código de estado 200 OK y cuerpo JSON con la lista de personas.
Para ejecutar las pruebas unitarias, utiliza el comando:
npm test
Una vez desplegado podemos acceder a la documentacion de Swagger en la siguiente ruta:
https://<api-id>.execute-api.us-east-1.amazonaws.com/swagger