An open API service indexing awesome lists of open source software.

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")

Awesome Lists containing this project

README

          



GitHub language count
GitHub language count
GitHub repo file count
GitHub repo size
GitHub language count

# 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.