Giter Site home page Giter Site logo

newschoolapp / newschool-backend Goto Github PK

View Code? Open in Web Editor NEW
119.0 8.0 73.0 6.37 MB

Plataforma de ensino para pessoas carentes

Home Page: https://www.newschool.app

License: Apache License 2.0

Dockerfile 0.70% TypeScript 93.35% Shell 0.29% Handlebars 0.20% CSS 1.69% JavaScript 2.67% HTML 1.11%
javascript nodejs nestjs mysql typeorm oauth2 jest github-actions typescript

newschool-backend's Introduction

@NewSchool/back

Backend da NewSchool, desenvolvido em NodeJS Banco de Dados MySQL

Como rodar o projeto

Você pode rodar o projeto direto da sua máquina.

1 - Tenha a versão 12 do Node.js instalada em sua máquina.

2 - Faça uma cópia do arquivo .env.example para .env

3- Instale as depedências do projeto

npm install

4- Inicie a aplicação

npm run start:dev

5- Veja o swagger pelo navegador

http://localhost:8080/swagger

Docker

Ou, você pode optar por rodar o projeto via Docker. Para isso precisamos que você tenha instalado o Docker na sua máquina. Após isso basta rodar o seguinte comando:

docker-compose up

E o ambiente de desenvolvimento estará rodando localmente para você. Lembrando que estamos com o hot reloading no Docker também, ou seja, você não precisará ficar parando o container e subindo ele novamente a cada mudança que você fizer. Isso acontecerá automaticamente.

5- Para executar os teste E2E execute o script abaixo

npm run test:e2e

Guidelines

Como contribuir passo-a-passo

1 - CONHEÇA O PROJETO New School

https://youtu.be/u4O8wE0gYO0

2 - ENTRE NO SLACK

https://join.slack.com/t/newschoolgrupo/shared_invite/enQtODQ4NjUyMjAzNTUzLTg3NTJiNmQ1ODE3YzYzMjcyYzVhYTNkZjIzYjViMjI4NTBjYzFiYTc3Njg0ZWI3YTk2MjE5NDY3MDlkYzViOGI

2.1 - LÁ NO SLACK, ENTRE NO CANAL #BACKEND

  • Se apresente. Nome, cidade, profissão, e principais habilidades.
  • Pergunte sobre as tarefas em aberto.
  • Troque uma ideia com o time técnico. Comente como planeja solucionar. Ouça os conselhos dos devs mais experientes. Esse alinhamento é super importante pra aumentar significativamente as chances do seu PULL REQUEST ser aprovado depois.

3 - FAÇA PARTE DA EQUIPE NO TRELLO

https://trello.com/invite/b/2MHuWn0C/b1a15b7112ea11b856cfa78174a6f72d/projeto-new-school-app

3.1 - PEGUE UMA TAREFA NO TRELLO.

4 - GITHUB

4.1 FAÇA UM FORK DO REPOSITÓRIO

https://github.com/NewSchoolBR/newschool-backend

4.2 ESCREVA CÓDIGO

Hora de colocar a mão na massa. A parte mais divertida, trabalhar no código-fonte. Depois de concluir e testar, envie e aguarde o PULL REQUEST ser aprovado.

5 MISSÃO CUMPRIDA. VC AJUDOU O PROJETO. ❤️

🤝 Como contribuir

Nós precisamos muito de contribuidores! Não importa o seu nível, o que importa é nos ajudar nessa causa.

Se você quer participar, veja nosso Guia de contribuição.

newschool-backend's People

Contributors

ahcamargo avatar andrelsflor avatar andrews-felipe avatar bredacoder avatar davidecarvalho avatar dependabot[bot] avatar douglaseleuterio avatar eduardobatistadev avatar ericguim avatar evertoncabral avatar felinto-dev avatar filipefelice avatar guimalonso avatar izzysalles avatar joaogabriel1702 avatar kalilventura avatar kerimdzhanov avatar leonard0x00 avatar liammaricato avatar lucascardosopsd avatar murilosrj1990 avatar oliveirabalsa avatar pethersonmoreno avatar rafaelvnunes avatar raffacabofrio avatar renovate-bot avatar thii777 avatar toshiossada avatar wantero avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

newschool-backend's Issues

Método advance on course está retornando User entity ao invés de UserDTO

O endpoint advance-on-course está retornando o seguinte JSON:
e por motivos de segurança, não podemos retornar User Entity, as informações de senha estão sendo retornadas.
{
"user": {
"createdAt": "2020-01-20T00:06:33.555Z",
"updatedAt": "2020-01-20T00:06:33.555Z",
"version": 1,
"id": "b936b1d0-08fa-4567-b247-c04c4fec1336",
"name": "Eric Azevedo Guimarães",
"email": "[email protected]",
"password": "a3652904c01db964a15298d2e840f97233ffaeffc295428002c36065c19344a096a4ec2c885f868861a35ed62ef6b2d106cfb0cc235d20efc479cdde8bc71bc8",
"urlFacebook": null,
"urlInstagram": null,
"salt": "e79acebfed92b237bd90f3d812299798"
},
"course": "22ac03ac-e0f7-4a8c-9dbb-f39db799eeff",
"currentLesson": {
"createdAt": "2020-01-19T19:03:25.080Z",
"updatedAt": "2020-01-19T19:03:25.080Z",
"version": 1,
"id": "7bbce4d9-ec13-441d-bf97-00d2b6d77bde",
"title": "Aula teste do Curso teste",
"description": "teste de e2e",
"sequenceNumber": 1
},
"currentPart": {
"createdAt": "2020-01-20T01:44:29.491Z",
"updatedAt": "2020-01-20T01:44:29.491Z",
"version": 1,
"id": "cccf81dc-ee8f-4f27-8b6e-010eb18399fa",
"title": "Parte teste 63011234",
"description": "Parte eeeee teste",
"vimeoUrl": "bla",
"youtubeUrl": "bla",
"sequenceNumber": 2
},
"currentTest": {
"createdAt": "2020-01-20T01:45:22.555Z",
"updatedAt": "2020-01-20T01:45:22.555Z",
"version": 1,
"id": "a38c4111-a080-42b8-9fdf-b437907bbced",
"title": "Testee testeAAC :V",
"correctAlternative": "D",
"firstAlternative": "Alternativa Aa",
"secondAlternative": "Alternativa Bb",
"thirdAlternative": "Alternativa Cc",
"fourthAlternative": "Alternativa Dd",
"sequenceNumber": 2
},
"completition": 38,
"status": "TAKEN"
}

Fixes para adicionar part

  • Body está como PartDTO e não como NewPartDTO
  • Atributo lesson no NewPartDTO está com o tipo Lesson invés de string
  • Atributo lesson no NewPartDTO deve se chamar lessonId para refletir o que realmente é
  • Precisamos dar um findById no lesson para saber se é de uma lesson que existe

Erro na endpoint /api/v1/course

Ao logar na plataforma, está ocorrendo o seguinte erro nos ambiente de QA e DEV:

Screenshot from 2020-01-19 06-49-22

2020-01-19T09:47:46.549314+00:00 heroku[router]: at=info method=GET path="/api/v1/course" host=newschoolbrapi-qa.herokuapp.com request_id=a5a99997-0b03-41e0-b701-3f2f3e254328 fwd="189.110.170.166" dyno=web.1 connect=1ms service=204ms status=500 bytes=310 protocol=https 2020-01-19T09:47:46.549046+00:00 app[web.1]: �[31m[Nest] 70 - �[39m01/19/2020, 9:47:46 AM �[38;5;3m[ExceptionsHandler] �[39m�[31mER_BAD_FIELD_ERROR: Unknown column 'Course.authorName' in 'field list'�[39m�[38;5;3m +1011ms�[39m 2020-01-19T09:47:46.549106+00:00 app[web.1]: QueryFailedError: ER_BAD_FIELD_ERROR: Unknown column 'Course.authorName' in 'field list' 2020-01-19T09:47:46.549109+00:00 app[web.1]: at new QueryFailedError (/app/node_modules/typeorm/error/QueryFailedError.js:11:28) 2020-01-19T09:47:46.549111+00:00 app[web.1]: at Query.<anonymous> (/app/node_modules/typeorm/driver/mysql/MysqlQueryRunner.js:170:45) 2020-01-19T09:47:46.549114+00:00 app[web.1]: at Query.<anonymous> (/app/node_modules/mysql/lib/Connection.js:525:10) 2020-01-19T09:47:46.549116+00:00 app[web.1]: at Query._callback (/app/node_modules/mysql/lib/Connection.js:491:16) 2020-01-19T09:47:46.549118+00:00 app[web.1]: at Query.Sequence.end (/app/node_modules/mysql/lib/protocol/sequences/Sequence.js:83:24) 2020-01-19T09:47:46.549120+00:00 app[web.1]: at Query.ErrorPacket (/app/node_modules/mysql/lib/protocol/sequences/Query.js:90:8) 2020-01-19T09:47:46.549122+00:00 app[web.1]: at Protocol._parsePacket (/app/node_modules/mysql/lib/protocol/Protocol.js:291:23) 2020-01-19T09:47:46.549124+00:00 app[web.1]: at Parser._parsePacket (/app/node_modules/mysql/lib/protocol/Parser.js:433:10) 2020-01-19T09:47:46.549126+00:00 app[web.1]: at Parser.write (/app/node_modules/mysql/lib/protocol/Parser.js:43:10) 2020-01-19T09:47:46.549129+00:00 app[web.1]: at Protocol.write (/app/node_modules/mysql/lib/protocol/Protocol.js:38:16)

Fixes para checar o test

  • o id deve vir antes do checkTest, ou seja, /:id/checkTest/
  • Adicionar alternative a url antes do id da alternative, ficando /:id/checkTest/alternative/:chosenAlternative
  • usar hifen invés de camel case no checkTest, ficando check-test
  • Retirar ? true : false, ficando só test.correctAlternative === chosenAlternative
  • Usar método existente findById que está no service invés de chamar o repositório novamente

Verificar se o curso já foi iniciado pelo usuário

A tela do curso na visão do aluno é essa

image

porém precisamos de alguma forma verificar se o curso já está em andamento, então podemos criar um endpoint pra fazer essa verificação, antes do carregamento da tela, assim eu faria um UI dinâmica pra ele ter a opção de continuar

Problema endpoint PUT /Lesson

Conforme analisado na imagem a API está retornando sucesso ao enviar um PUT de Lesson porém eu alterei a descrição da aula e ela me retornou a descrição antiga, não alterando as informações.

error_put_lesson

Fixes para adicionar test

  • O Body está como TestDTO e não como NewTestDTO
  • Atributo part dentro do NewTestDTO está com tipo Part e não string
  • Atributo part deve se chamar partId para refletir o que realmente é
  • Validar se realmente existe uma part com esse partId antes de salvar no banco

Testes e2e retornando Error: getaddrinfo EAI_AGAIN mysql.newschoolapp.com.br

Não estou conseguindo rodar os testes e2e. Apenas executei "npm run test:e2e" depois de clonar o projeto e copiar o arquivo .env.example para .env

Existe alguma configuração adicional que precisa ser feita?

emers@DESKTOP-VKD8FTV MINGW64 ~/Documents/newschool-backend (master)
$ yarn test:e2e
yarn run v1.22.5
$ jest --config ./test/jest-e2e.config.js --runInBand
[Nest] 8956   - 10/02/2021 05:44:21   [ExceptionHandler] Unable to connect to the database. Retrying (1)...
Error: connect ETIMEDOUT
    at PoolConnection.Object.<anonymous>.Connection._handleConnectTimeout (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Connection.js:409:13)
    at Object.onceWrapper (events.js:421:28)
    at Socket.emit (events.js:315:20)
    at Socket.EventEmitter.emit (domain.js:467:12)
    at Socket._onTimeout (net.js:483:8)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
    --------------------
    at Protocol.Object.<anonymous>.Protocol._enqueue (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\protocol\Protocol.js:144:48)
    at Protocol.handshake (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\protocol\Protocol.js:51:23)
    at PoolConnection.connect (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Connection.js:116:18)
    at Pool.Object.<anonymous>.Pool.getConnection (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Pool.js:48:16)
    at C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:894:18
    at new Promise (<anonymous>)
    at MysqlDriver.Object.<anonymous>.MysqlDriver.createPool (C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:891:16)
    at MysqlDriver.<anonymous> (C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:344:36)
    at step (C:\Users\emers\Documents\newschool-backend\node_modules\tslib\tslib.js:141:27)
    at Object.next (C:\Users\emers\Documents\newschool-backend\node_modules\tslib\tslib.js:122:57)
[Nest] 8956   - 10/02/2021 05:44:34   [ExceptionHandler] Unable to connect to the database. Retrying (2)... +13032ms
Error: connect ETIMEDOUT
    at PoolConnection.Object.<anonymous>.Connection._handleConnectTimeout (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Connection.js:409:13)
    at Object.onceWrapper (events.js:421:28)
    at Socket.emit (events.js:315:20)
    at Socket.EventEmitter.emit (domain.js:467:12)
    at Socket._onTimeout (net.js:483:8)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
    --------------------
    at Protocol.Object.<anonymous>.Protocol._enqueue (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\protocol\Protocol.js:144:48)
    at Protocol.handshake (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\protocol\Protocol.js:51:23)
    at PoolConnection.connect (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Connection.js:116:18)
    at Pool.Object.<anonymous>.Pool.getConnection (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Pool.js:48:16)
    at C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:894:18
    at new Promise (<anonymous>)
    at MysqlDriver.Object.<anonymous>.MysqlDriver.createPool (C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:891:16)
    at MysqlDriver.<anonymous> (C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:344:36)
    at step (C:\Users\emers\Documents\newschool-backend\node_modules\tslib\tslib.js:141:27)
    at Object.next (C:\Users\emers\Documents\newschool-backend\node_modules\tslib\tslib.js:122:57)
[Nest] 8956   - 10/02/2021 05:44:37   [ExceptionHandler] Unable to connect to the database. Retrying (3)... +3008ms
Error: getaddrinfo EAI_AGAIN mysql.newschoolapp.com.br
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)
    --------------------
    at Protocol.Object.<anonymous>.Protocol._enqueue (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\protocol\Protocol.js:144:48)
    at Protocol.handshake (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\protocol\Protocol.js:51:23)
    at PoolConnection.connect (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Connection.js:116:18)
    at Pool.Object.<anonymous>.Pool.getConnection (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Pool.js:48:16)
    at C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:894:18
    at new Promise (<anonymous>)
    at MysqlDriver.Object.<anonymous>.MysqlDriver.createPool (C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:891:16)
    at MysqlDriver.<anonymous> (C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:344:36)
    at step (C:\Users\emers\Documents\newschool-backend\node_modules\tslib\tslib.js:141:27)
    at Object.next (C:\Users\emers\Documents\newschool-backend\node_modules\tslib\tslib.js:122:57)
[Nest] 8956   - 10/02/2021 05:44:50   [ExceptionHandler] Unable to connect to the database. Retrying (4)... +13017ms
Error: connect ETIMEDOUT
    at PoolConnection.Object.<anonymous>.Connection._handleConnectTimeout (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Connection.js:409:13)
    at Object.onceWrapper (events.js:421:28)
    at Socket.emit (events.js:315:20)
    at Socket.EventEmitter.emit (domain.js:467:12)
    at Socket._onTimeout (net.js:483:8)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
    --------------------
    at Protocol.Object.<anonymous>.Protocol._enqueue (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\protocol\Protocol.js:144:48)
    at Protocol.handshake (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\protocol\Protocol.js:51:23)
    at PoolConnection.connect (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Connection.js:116:18)
    at Pool.Object.<anonymous>.Pool.getConnection (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Pool.js:48:16)
    at C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:894:18
    at new Promise (<anonymous>)
    at MysqlDriver.Object.<anonymous>.MysqlDriver.createPool (C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:891:16)
    at MysqlDriver.<anonymous> (C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:344:36)
    at step (C:\Users\emers\Documents\newschool-backend\node_modules\tslib\tslib.js:141:27)
    at Object.next (C:\Users\emers\Documents\newschool-backend\node_modules\tslib\tslib.js:122:57)
[Nest] 8956   - 10/02/2021 05:44:53   [ExceptionHandler] Unable to connect to the database. Retrying (5)... +3018ms
Error: getaddrinfo EAI_AGAIN mysql.newschoolapp.com.br
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)
    --------------------
    at Protocol.Object.<anonymous>.Protocol._enqueue (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\protocol\Protocol.js:144:48)
    at Protocol.handshake (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\protocol\Protocol.js:51:23)
    at PoolConnection.connect (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Connection.js:116:18)
    at Pool.Object.<anonymous>.Pool.getConnection (C:\Users\emers\Documents\newschool-backend\node_modules\mysql\lib\Pool.js:48:16)
    at C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:894:18
    at new Promise (<anonymous>)
    at MysqlDriver.Object.<anonymous>.MysqlDriver.createPool (C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:891:16)
    at MysqlDriver.<anonymous> (C:\Users\emers\Documents\newschool-backend\src\driver\mysql\MysqlDriver.ts:344:36)
    at step (C:\Users\emers\Documents\newschool-backend\node_modules\tslib\tslib.js:141:27)
    at Object.next (C:\Users\emers\Documents\newschool-backend\node_modules\tslib\tslib.js:122:57)

Fixes para adicionar lesson

  • Tipar o Body explicitamente com NewLessonDTO
  • O atributo course dentro do NewLessonDTO deve se chamar courseId para refletir o que ele realmente é
  • O atributo course dentro do NewLessonDTO está como Course, e não como string
  • Precisamos validar se o courseId é de um curso que está com enabled true

Discussão sobre base de dados

Fala galera, resolvi criar essa issue para discutirmos o armazenamento de dados.

Vamos de Relacional ou NoSQL?

Eu geralmente uso Postgres para tudo, nunca tive problemas e eu ainda consigo armazenar "documentos" se necessário.

Fechando esse assunto, eu posso me responsabilizar em subir um Vagrant ou Docker para termos a base localmente para todos os devs.

Autor do curso não é retornado

retorno do get_by_slug
image

Tabela no banco, única informação do usuário é a forignkey
image

Essa propriedade foi definida no protótipo
image

Criação do campo de enunciado para Teste

Atualmente o usuário não sabe qual o enunciado do teste que ele precisa responder, se deixarmos o título da questão como enunciado vai dar problemas de overflow e complicador para questões longas, como problemas de matemática, interpretação e história, por exemplo.

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Error type: undefined. Note: this is a nested preset so please contact the preset author if you are unable to fix it yourself.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Warning

These dependencies are deprecated:

Datasource Name Replacement PR?
npm @types/dotenv Unavailable

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • chore(deps): update dependency @types/jest to v26.0.24
  • chore(deps): update dependency @types/multer to v1.4.12
  • chore(deps): update dependency @types/mysql to v2.15.26
  • chore(deps): update dependency @types/node to v13.13.52
  • chore(deps): update dependency @types/passport-jwt to v3.0.13
  • chore(deps): update dependency @types/secure-password to v3.1.1
  • chore(deps): update dependency @types/supertest to v2.0.16
  • chore(deps): update mysql docker tag to v5.7.44
  • chore(deps): update node.js to v12.22.12
  • fix(deps): update dependency @nestjs/swagger to v4.8.2
  • fix(deps): update dependency pubsub-js to v1.9.4 (pubsub-js, @types/pubsub-js)
  • chore(deps): update dependency eslint to v7.32.0
  • chore(deps): update dependency tsconfig-paths to v3.15.0
  • chore(deps): update dependency typescript to v4.9.5
  • fix(deps): update dependency cache-manager to v3.6.3
  • fix(deps): update dependency class-transformer to v0.5.1
  • fix(deps): update dependency dotenv-flow to v3.3.0
  • fix(deps): update dependency pusher to v5.2.0
  • fix(deps): update dependency reflect-metadata to v0.2.2
  • fix(deps): update dependency swagger-ui-express to v4.6.3
  • fix(deps): update sentry-javascript monorepo to v6.19.7 (@sentry/node, @sentry/tracing)
  • chore(deps): update actions/setup-node action to v4
  • chore(deps): update dependency @nestjs/cli to v10
  • chore(deps): update dependency @types/secure-password to v4
  • chore(deps): update dependency eslint to v9
  • chore(deps): update dependency eslint-config-prettier to v9
  • chore(deps): update dependency husky to v9
  • chore(deps): update dependency prettier to v3
  • chore(deps): update dependency supertest to v6.3.4 (supertest, @types/supertest)
  • chore(deps): update dependency supertest to v7
  • chore(deps): update dependency ts-node to v10
  • chore(deps): update dependency tsconfig-paths to v4
  • chore(deps): update dependency typescript to v5
  • chore(deps): update jest monorepo to v29 (major) (@types/jest, jest, ts-jest)
  • chore(deps): update mysql docker tag to v9
  • chore(deps): update node.js to v20 (node, @types/node)
  • chore(deps): update typescript-eslint monorepo to v8 (major) (@typescript-eslint/eslint-plugin, @typescript-eslint/parser)
  • fix(deps): update dependency @nestjs/config to v3
  • fix(deps): update dependency @nestjs/jwt to v10
  • fix(deps): update dependency @nestjs/schedule to v4
  • fix(deps): update dependency @nestjs/swagger to v7
  • fix(deps): update dependency @nestjs/typeorm to v10
  • fix(deps): update dependency cache-manager to v5
  • fix(deps): update dependency dotenv to v16
  • fix(deps): update dependency dotenv-flow to v4
  • fix(deps): update dependency nest-raven to v10
  • fix(deps): update dependency passport-jwt to v4.0.1 (passport-jwt, @types/passport-jwt)
  • fix(deps): update dependency rimraf to v6
  • fix(deps): update dependency swagger-ui-express to v5
  • fix(deps): update dependency uuid to v10
  • fix(deps): update nest monorepo to v10 (major) (@nestjs/common, @nestjs/platform-express, @nestjs/schematics, @nestjs/testing)
  • fix(deps): update sentry-javascript monorepo (major) (@sentry/node, @sentry/tracing)
  • 🔐 Create all rate-limited PRs at once 🔐

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

docker-compose
docker-compose.yml
  • mysql 5.7.34
dockerfile
.gitpod.Dockerfile
Dockerfile
  • node 12.22.1-alpine
github-actions
.github/workflows/ci.yml
  • actions/setup-node v1
npm
package.json
  • @nest-modules/mailer 1.3.22
  • @nestjs/common 7.6.15
  • @nestjs/config 0.6.3
  • @nestjs/core 7.6.15
  • @nestjs/jwt 7.2.0
  • @nestjs/platform-express 7.6.15
  • @nestjs/schedule 0.4.3
  • @nestjs/swagger 4.8.0
  • @nestjs/typeorm 7.1.5
  • @sentry/node 6.3.0
  • @sentry/tracing 6.3.0
  • aws-sdk 2.889.0
  • cache-manager 3.4.3
  • class-transformer 0.3.1
  • class-validator 0.13.1
  • dotenv 8.2.0
  • dotenv-flow 3.2.0
  • export-from-json 1.3.5
  • mysql 2.18.1
  • nest-raven 7.2.0
  • nodemailer 6.5.0
  • passport-facebook-token 4.0.0
  • passport-jwt 4.0.0
  • pubsub-js 1.9.3
  • pusher 5.0.0
  • reflect-metadata 0.1.13
  • remove 0.1.5
  • rimraf 3.0.2
  • rxjs 6.6.7
  • secure-password 4.0.0
  • slugify 1.5.0
  • swagger-ui-express 4.1.6
  • typeorm 0.2.32
  • typeorm-transactional-cls-hooked 0.1.20
  • uuid 8.3.2
  • @nestjs/cli 7.6.0
  • @nestjs/schematics 7.3.1
  • @nestjs/testing 7.6.15
  • @types/dotenv 8.2.0
  • @types/express 4.17.11
  • @types/jest 26.0.22
  • @types/multer 1.4.5
  • @types/mysql 2.15.18
  • @types/node 13.13.50
  • @types/nodemailer 6.4.1
  • @types/passport-jwt 3.0.5
  • @types/pubsub-js 1.8.2
  • @types/secure-password 3.1.0
  • @types/supertest 2.0.11
  • @typescript-eslint/eslint-plugin 4.22.0
  • @typescript-eslint/parser 4.22.0
  • axios 0.21.1
  • eslint 7.24.0
  • eslint-config-prettier 8.2.0
  • husky 6.0.0
  • jest 26.6.3
  • prettier 2.2.1
  • supertest 6.1.3
  • ts-jest 26.5.5
  • ts-loader 9.0.2
  • ts-node 9.1.1
  • tsconfig-paths 3.9.0
  • typescript 4.2.4

  • Check this box to trigger a request for Renovate to run again on this repository

Resposta incompleta para listagem aulas

Na tela de listagem de aulas a seguir
image
podemos ver que ela apresenta o nome do curso com a descrição(ao invez da descrição poderia vir o nome do author mesmo) nesse caso também é preciso uma flag concluido por enquanto, pra o front poder mostrar as aulas já concluídas.

resposta atual

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.