Clique aqui para conversar comigo no Telegram!
Se não conseguir me encontre pelo meu username é @OLudumBot
Ah! Eu também possuo uma versão de homologação é @ludumdev_bot
Encarregado de armazenar o Microsserviço de Materiais do Ludum. Este microsserviço se comunica com o Ludum e o Webclient e trata de todos os aspectos relacionados aos materiais do Ludum.
O Ludum é um chatbot que propõe-se a auxiliar em diversos aspectos as pessoas que desejam desenvolver jogos utilizando a biblioteca PyGame.
Neste microsserviço foi utilizado NodeJS com express e MongoDB (Mongoose). Tudo que é necessário para o desenvolvimento está dentro do docker, então, para desenvolver, deve-se seguir os seguintes passos:
- Modifique a linha 24 do arquivo index.js localizado na pasta raíz do projeto de:
mongoose.connect(process.env.MONGODB_URI);
para:
mongoose.connect('mongodb://localhost/ludum-duvida');
- Após, abra um terminal na pasta raíz do projeto e execute o comando:
docker build -t guilhermesiqueira/ludum-materiais .
- Em seguida:
docker-compose up
Pronto, o seu ambiente de desenvolvimento está pronto!
Para mais informações e maiores esclarecimentos, visite o nosso repositório principal, clicando aqui
A URL para qualquer requisição possui a url base api: https://ludum-materiais.herokuapp.com/api/{resource}
Os endpoints são:
São os endpoints relacionados aos links pesquisados.
Retorna todas os links pesquisados.
- Exemplo de JSON retornado:
{
"status":"success",
"message":"Links recuperados com sucesso!",
"data": [
{
"_id":"5cec9b7a52788600243b3738",
"title":"Página oficial da Pygame",
"type":"Site",
"link":"https://www.pygame.org/news",
"status":null,
"create_date":"2019-05-28T02:22:50.483Z",
"__v":0
},
{
"_id":"5ced56a12fae920024d95831",
"title":"Criando um Snake do zero com Pygame em 5 minutos (ou mais)",
"type":"Vídeo",
"link":"https://www.youtube.com/watch?v=H4TXHI9BRCQ",
"status":null,
"create_date":"2019-05-28T15:41:21.916Z",
"__v":0
}
]
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
Retorna apenas um link.
Parametro | Tipo | Descricao | Obrigatorio? |
---|---|---|---|
id | string | id do link | sim |
- Exemplo de JSON retornado:
{
"message":"Carregando detalhes da dúvida",
"data": {
"_id":"5cec9b7a52788600243b3738",
"title":"Página oficial da Pygame",
"type":"Site",
"link":"https://www.pygame.org/news",
"status":null,
"create_date":"2019-05-28T02:22:50.483Z","__v":0
}
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
Retorna todos os links aprovados ou não.
Parametro | Tipo | Descricao | Obrigatorio? |
---|---|---|---|
status | string('S' ou 'N') | 'S' para links aprovados e 'N' para links recusados | sim |
- Exemplo de JSON retornado:
{
"status":"success",
"message":"Links pendentes recuperados com sucesso!",
"data": [
{
"_id":"5d0bc36f0e6e1d0024d4767d",
"title":"Página oficial da Pygame",
"type":"Site",
"link":"https://www.pygame.org/news",
"status":"S",
"create_date":"2019-06-23T04:13:21.513Z"
},
{
"_id":"5d0bc36f0e6e1d0024d4767e",
"title":"Criando um Snake do zero com Pygame em 5 minutos (ou mais)",
"type":"Vídeo",
"link":"https://www.youtube.com/watch?v=H4TXHI9BRCQ",
"status":"S",
"create_date":"2019-06-23T04:13:21.513Z"
}
]
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
Retorna todos os links pendentes de aprovação.
- Exemplo de JSON retornado:
{
"status":"success",
"message":"Links pendentes recuperados com sucesso!",
"data": [
{
"_id":"5d0bc36f0e6e1d0024d4767d",
"title":"Página oficial da Pygame",
"type":"Site",
"link":"https://www.pygame.org/news",
"status":null,
"create_date":"2019-06-23T04:13:21.513Z"
},
{
"_id":"5d0bc36f0e6e1d0024d4767e",
"title":"Criando um Snake do zero com Pygame em 5 minutos (ou mais)",
"type":"Vídeo",
"link":"https://www.youtube.com/watch?v=H4TXHI9BRCQ",
"status":null,
"create_date":"2019-06-23T04:13:21.513Z"
}
]
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
Cadastra um novo link
Body | Tipo | Descricao | Obrigatorio? |
---|---|---|---|
title | string | Título do link | sim |
type | string | Tipo do link | sim |
link | string | Link | sim |
- Exemplo de JSON retornado:
{
"message": "Material adicionado!",
"data": {
"_id": "5d0f03691110220024601688",
"title": "Criando um Snake do zero com Pygame em 5 minutos (ou mais)",
"type": "Vídeo",
"link": "https://www.youtube.com/watch?v=H4TXHI9BRCZ",
"status": null,
"create_date": "2019-06-23T04:43:21.504Z",
"__v": 0
}
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
Aprova um determinado link
Parametro | Tipo | Descricao | Obrigatorio? |
---|---|---|---|
id | string | id do link | sim |
aprovação | string ('S' ou 'N') | 'S' para aprovar um link e 'N' para recusar | sim |
- Exemplo de JSON retornado:
{
"message": "Link modificado!",
"data": {
"_id": "5d0f03691110220024601688",
"title": "Criando um Snake do zero com Pygame em 5 minutos (ou mais)",
"type": "Vídeo",
"link": "https://www.youtube.com/watch?v=H4TXHI9BRCZ",
"status": "S",
"create_date": "2019-06-23T04:43:21.504Z",
"__v": 0
}
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
Edita um link cadastrado
Parametro | Tipo | Descricao | Obrigatorio? |
---|---|---|---|
id | string | id do link | sim |
Body | Tipo | Descricao | Obrigatorio? |
---|---|---|---|
title | string | Título do link | sim |
type | string | Tipo do link | sim |
link | string | Link | sim |
- Exemplo de JSON retornado:
{
"message": "Link modificado!",
"data": {
"_id": "5d0f03691110220024601688",
"title": "Criando um Snake do zero com Pygame em 10 minutos (ou mais)",
"type": "Vídeo",
"link": "https://www.youtube.com/watch?v=H4TXHI9BRCZ",
"status": null,
"create_date": "2019-06-23T04:43:21.504Z",
"__v": 0
}
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
São os endpoints relacionados aos tutoriais pesquisados.
Retorna todas os tutoriais pesquisados.
- Exemplo de JSON retornado:
{
"status": "success",
"message": "Tutoriais recuperados com sucesso!",
"data": [
{
"_id": "5cef1fa2bd3303002420035c",
"title": "Nome do tutorial",
"description": "Passo 1... Passo 2...",
"status": null,
"create_date": "2019-05-30T00:11:14.546Z",
"__v": 0
},
{
"_id": "5cef2b56ea278c002446b0af",
"title": "Nome do tutorial 2",
"description": "Passo 1... Passo 2...",
"status": null,
"create_date": "2019-05-30T01:01:10.489Z",
"__v": 0
}
]
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
Retorna todos os tutoriais aprovados ou não.
Parametro | Tipo | Descricao | Obrigatorio? |
---|---|---|---|
status | string('S' ou 'N') | 'S' para tutoriais aprovados e 'N' para tutoriais recusados | sim |
- Exemplo de JSON retornado:
{
"status": "success",
"message": "Tutoriais pendentes recuperados com sucesso!",
"data": [
]
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
Retorna todos os tutoriais pendentes de aprovação.
- Exemplo de JSON retornado:
{
"status": "success",
"message": "Tutoriais pendentes recuperados com sucesso!",
"data": [
{
"_id": "5cef1fa2bd3303002420035c",
"title": "Nome do tutorial",
"description": "Passo 1 Passo 2",
"status": null,
"create_date": "2019-05-30T00:11:14.546Z",
"__v": 0
},
{
"_id": "5cef2b56ea278c002446b0af",
"title": "Nome do tutorial 2",
"description": "Passo 1 Passo 2",
"status": null,
"create_date": "2019-05-30T01:01:10.489Z",
"__v": 0
}
]
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
Retorna apenas um tutorial.
Parametro | Tipo | Descricao | Obrigatorio? |
---|---|---|---|
id | string | id do tutorial | sim |
- Exemplo de JSON retornado:
{
"message": "Carregando detalhes da dúvida",
"data": {
"_id": "5cef1fa2bd3303002420035c",
"title": "Nome do tutorial",
"description": "Passo 1... Passo 2...",
"status": null,
"create_date": "2019-05-30T00:11:14.546Z",
"__v": 0
}
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
Cadastra um novo tutorial
Body | Tipo | Descricao | Obrigatorio? |
---|---|---|---|
title | string | Título do tutorial | sim |
description | string | Descrição do tutorial | sim |
- Exemplo de JSON retornado:
{
"message": "Tutorial adicionado!",
"data": {
"_id": "5d0f0cd9111022002460168a",
"title": "Criando um Snake do zero com Pygame em 10 minutos (ou mais)",
"description": "Descrevendo tutorial",
"status": null,
"create_date": "2019-06-23T05:23:37.571Z",
"__v": 0
}
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
Aprova um determinado tutorial
Parametro | Tipo | Descricao | Obrigatorio? |
---|---|---|---|
id | string | id do tutorial | sim |
aprovação | string ('S' ou 'N') | 'S' para aprovar um tutorial e 'N' para recusar | sim |
- Exemplo de JSON retornado:
{
"message": "Tutorial modificado!",
"data": {
"_id": "5d0f0cd9111022002460168a",
"title": "Criando um Snake do zero com Pygame em 10 minutos (ou mais)",
"description": "Descrevendo tutorial",
"status": "S",
"create_date": "2019-06-23T05:23:37.571Z",
"__v": 0
}
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.
Edita um link cadastrado
Parametro | Tipo | Descricao | Obrigatorio? |
---|---|---|---|
id | string | id do tutorial | sim |
Body | Tipo | Descricao | Obrigatorio? |
---|---|---|---|
title | string | Título do tutorial | sim |
description | string | Descrição do tutorial | sim |
- Exemplo de JSON retornado:
{
"message": "Tutorial modificado!",
"data": {
"_id": "5d0f0cd9111022002460168a",
"title": "Criando um Snake do zero com Pygame em 51 minutos (ou mais)",
"description": "Descrevendo tutorial",
"status": null,
"create_date": "2019-06-23T05:23:37.571Z",
"__v": 0
}
}
- Retorno:
HTTP Status 200
e json retornado e armazenado no banco.