https://github.com/rafa-kozand/ignite_node.js_challenge_09
Node JS challenge done with 'Rocketseat' Ignite course. ("Desafio 09 - Construindo com serverless")
https://github.com/rafa-kozand/ignite_node.js_challenge_09
ignite ignite-nodejs ignite-rocketseat javascript nodejs rocketseat typescript
Last synced: 7 months ago
JSON representation
Node JS challenge done with 'Rocketseat' Ignite course. ("Desafio 09 - Construindo com serverless")
- Host: GitHub
- URL: https://github.com/rafa-kozand/ignite_node.js_challenge_09
- Owner: Rafa-KozAnd
- Created: 2023-02-21T14:06:28.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-04-20T19:08:29.000Z (over 2 years ago)
- Last Synced: 2025-01-10T20:17:15.629Z (9 months ago)
- Topics: ignite, ignite-nodejs, ignite-rocketseat, javascript, nodejs, rocketseat, typescript
- Language: TypeScript
- Homepage:
- Size: 8.79 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![]()
![]()
![]()
![]()
![]()
![]()
# Ignite_Node.js_Challenge_09
Node JS challenge done with 'Rocketseat' Ignite course. ("Desafio 09 - Construindo com serverless")
## 💻 Sobre o desafio
Nesse desafio você irá recriar uma parte da API de *todos* que foi desenvolvida no desafio [Conceitos do Node.js](https://www.notion.so/Desafio-01-Conceitos-do-Node-js-59ccb235aecd43a6a06bf09a24e7ede8) mas dessa vez deverá ser usado o framework [Serverless](https://www.serverless.com/).
Cada funcionalidade deverá ser criada em um arquivo de função separada de acordo com o que foi visto nesse último módulo.
As rotas que deverão existir são:**POST -** `/todos/{userid}`
**GET-** `/todos/{userid}`
### Sobre as rotas
- **POST -** `/todos/{userid}`
Essa rota deve receber o `id` de um usuário pelo `pathParameters` (você pode criar esse id manualmente apenas para preencher o campo) e os seguintes campos no corpo da requisição: `title` e `deadline`, onde `deadline` é a data limite para o *todo*.
O *todo* deverá ser salvo com os seguintes campos no DynamoDB:
{
id: 'uuid', // id gerado para garantir um único todo com o mesmo id
user_id: 'uuid' // id do usuário recebido no pathParameters
title: 'Nome da tarefa',
done: false, // inicie sempre como false
deadline: new Date(deadline)
}
- **GET-** `/todos/{userid}`
Essa rota deve receber o `id` de um usuário pelo `pathParameters` (o mesmo id que foi usado para criar algum *todo*).
A rota deve retornar os *todos* que possuÃrem o `user_id` igual ao `id` recebido pelos parâmetros.