API para la gestión de mentorías de FrontendCafé.
Se usa el framework Serverless con AWS como Provider y DynamoDB como base de datos.
Se necesita tener en la base del proyecto un archivo config.dev.json
con las siguientes variables de entorno.
CALOMENTOR_MAIL
CALOMENTOR_MAIL_CLIENT_ID
CALOMENTOR_MAIL_CLIENT_SECRET
CALOMENTOR_MAIL_REFRESH_TOKEN
CALOMENTOR_MAIL_ACCESS_TOKEN
BASE_URL
BASE_FRONT_URL
BASE_BOT_URL
MENTORISHIP_NOTIFICATIONS_CHANNEL_ID // Por ahora para testeos va a ser la url del canal bot_test
MENTEE_ROLE_ID
JWT_KEY
API_KEY_PHRASE
API_KEY
Para utilizar la API, se debera añadir el siguiente header a las requests cuyo valor debe ser una API KEY
X-API-KEY
Previo a ejecutar el proyecto deberemos tener instalando en nuestra computadora el framework Serverless
yarn add -g serverless
Luego de instalar Serverless Framework deberemos loguearnos con las credenciales de AWS
serverless config credentials --provider aws --key {{AWS_KEY}} --secret {{AWS_SECRET_KEY}}
Instalar dependencias
yarn install
Ejecutar el server local
yarn run start-offline
Todo el proyecto esta documentado con OpenAPI v3, se puede abrir la documentación desde el programa Insomnia, el archivo con la misma se encuentra en Insomnia.json.
Al iniciar el server con yarn run start-offline
en la terminal figura la api key que debe cargarse en el environment Localhost
.
El archivo ./serverless.yml
contiene todas las lambda function, cada una de las cuales refiere a una función correspondiente en index.ts
.
Cada una de las cuales a su vez refiere a una función dentro de services
.
Cada una de estas funciones es exactamente una lambda function en AWS.