Giter Club home page Giter Club logo

devs-den-api's Introduction

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Nest framework TypeScript starter repository.

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

Stay in touch

License

Nest is MIT licensed.

devs-den-api's People

Contributors

odavibatista avatar dependabot[bot] avatar

Watchers

 avatar

devs-den-api's Issues

`[TEST]` - Desenvolver testes unitários para Controller de Empresas

Descrição:

Descrição:

Desenvolver conjunto de testes unitários cobrindo as funcionalidades e tratativas de erros do controller da entidade Company, que pode ser encontrado no caminho src/modules/company/controller/company.controller.ts

RN:

  • Utilizar Provider JWT para as rotas autenticadas.

`[TEST]` - Desenvolver testes unitários para Controller de Vagas

Descrição:

Desenvolver testes unitários para o controller de vagas (src/modules/job/controller/job.controller.ts), cobrindo os casos de uso normais e alternativos.

RN:

  • Criar um usuário dummy nos testes para realizar as requisições de usuário.
  • Criar uma empresa dummy nos testes para realizar as requisições de usuário.

`[FEAT]` - Criar seeders para as UFs do banco

Descrição

  • Inserir seeders no banco para poder inserir as UFs brasileiras;
  • Inserir um comando no package.json para efetuar o seed sempre que houver drop ou criação do banco de dados;

`[TEST]` - Desenvolver testes unitários para Controller de Candidatos

Descrição:

Desenvolver conjunto de testes unitários cobrindo as funcionalidades e tratativas de erros do controller da entidade Candidate, que pode ser encontrado no caminho src/modules/candidate/controller/candidate.controller.ts

RN:

  • Utilizar Provider JWT para as rotas autenticadas.

`[FEAT]` - Desenvolver funcionalidade de trazer UFs

Descrição:

  • Desenvolver um service que traga todas as UFs (estados) existentes no sistema.
  • Desenvolver um controller que gere um endpoint do tipo GET no caminho /ufs.
  • Desenvolver os testes unitários da funcionalidade.

RN:

  • N/A

`[FEAT]` - Desenvolver funcionalidade de trazer dados do perfil do usuário

Descrição:

  • Desenvolver funcionalidade no Service de Usuários que realize a edição dos dados fornecidos de modo parcial;
  • Desenvolver funcionalidade no Controller de Usuários que espere uma requisição do tipo GET no endpoint /user/profile que traga os dados esperados na resposta.

RN:

  • Proteger endpoint exigindo um Token JWT nos Headers da Requisição
  • Trazer dados distintos para empresas e para candidatos

`[REFACTOR]` - Refatorar os HTTP Status dos endpoints e services

Descrição

Em muitos pontos da aplicação, não é preciso fazer import de HTTP Status, isto irá prejudicar o desempenho da aplicação pois está meramente importando um dado numérico que pode ser sobreposto com o próprio número.

Refatorar esses pontos existentes com seus respectivos códigos nativos.

`[FEAT]` - Desenvolver funcionalidades de trazer Skills

Descrição:

Para trazer todas

  • Desenvolver um service que traga todas as Skills existentes no sistema.
  • Desenvolver um controller que gere um endpoint do tipo GET no caminho /skills.
  • Desenvolver os testes unitários da funcionalidade.

Para trazer uma única skill

  • Desenvolver um service que traga uma skill através de seu ID.
  • Desenvolver um controller que gere um endpoint do tipo GET no caminho /skill/{id}.
  • Trazer a Skill que possua o ID passado na rota.
  • Desenvolver os testes unitários da funcionalidade.

RN:

  • N/A

`[FEAT]` - Desenvolver funcionalidade de remover Skills de Candidatos

Descrição:

  • Desenvolver um método no Service de UserSkills responsável por remover as skills de um candidato.
  • Desenvolver um método no Controller de UserSkills que receberá uma requisição do tipo DELETE no endpoint /candidate/skill, recebendo o seguinte body:
  {
  "candidate_id":  1,
  "skill_id":  1
  }

RN:

  • A requisição deve ser protegida pelo middleware de autenticação.
  • Somente usuários do tipo CANDIDATO podem utilizar este recurso.
  • Caso a skill selecionada para remoção não exista, retornar uma mensagem de erro.

`[FEAT]` - Desenvolver funcionalidade de editar Skills de Candidatos

Descrição:

  • Desenvolver um método no Service de UserSkills responsável por editar as skills de um candidato.
  • Desenvolver um método no Controller de UserSkills que receberá uma requisição do tipo PATCH no endpoint /candidate/skill/{id}, recebendo o seguinte body:
  {
  "skill_id":  1
  }

__

RN:

  • A requisição deve ser protegida pelo middleware de autenticação.
  • Somente usuários do tipo CANDIDATO podem utilizar este recurso.
  • Caso o corpo da requisição possua dados que não vão ser alterados na prática, retornar uma mensagem de erro.
  • Caso a skill selecionada para edição não exista, retornar uma mensagem de erro.

`[FEAT]` - Desenvolver funcionalidade de adicionar Skills para Candidatos

Descrição:

  • Desenvolver um método no Service de UserSkills responsável por adicionar novas skills a um candidato.
  • Desenvolver um método no Controller de UserSkills que receberá uma requisição do tipo POST no endpoint /candidate/skill, recebendo o seguinte body:
  {
  "candidate_id":    1,
  "skill_id":  1
  }

RN:

  • A requisição deve ser protegida pelo middleware de autenticação.
  • Somente usuários do tipo CANDIDATO podem utilizar este recurso.
  • Não deve ser possível inserir a mesma Skill mais de uma vez por usuário. A API deve verificar se a relação N:N já existe no banco antes de tomar qualquer medida de criar registros.

`[FEAT]` - Desenvolver funcionalidade de edição de dados de usuários

Descrição:

Para candidatos

  • Desenvolver funcionalidade no Service de Candidatos que realize a edição dos dados fornecidos de modo parcial;
  • Desenvolver funcionalidade no Controller de Candidatos que espere uma requisição do tipo PATCH no endpoint /candidate/profile que apenas altere os dados fornecidos e distintos em relação aos atuais

Para empresas

  • Desenvolver funcionalidade no Service de Empresas que realize a edição dos dados fornecidos de modo parcial;
  • Desenvolver funcionalidade no Controller de Empresas que espere uma requisição do tipo PATCH no endpoint /company/profile que apenas altere os dados fornecidos e distintos em relação aos atuais

RN:

  • Exigir o fornecimento de um token JWT nos Headers da requisição para o acesso ao endpoint;

`[FEAT]` - Desenvolver funcionalidade de edição de dados de Vagas

Descrição:

  • Desenvolver funcionalidade no Service de Vagas que realize a edição dos dados fornecidos de modo parcial;
  • Desenvolver funcionalidade no Controller de Vagas que espere uma requisição do tipo PATCH no endpoint /job/{id}/edit que apenas altere os dados fornecidos e distintos em relação aos atuais.

RN:

  • Exigir o fornecimento de um token JWT nos Headers da requisição para o acesso ao endpoint

`[FEAT]` - Desenvolver funcionalidade de pesquisar Vagas por Categoria

Descrição:

  • Desenvolver um método no Service de Vagas responsável por buscar vagas pelo seu tipo (Front, Back, DevOps, etc);
  • Desenvolver um método no Controller de Vagas que receberá uma requisição do tipo GET no endpoint /jobs/findByCategory/{id}, recebendo o ID da Categoria.

RN:

  • A requisição não deve ser protegida pelo Middleware de Autenticação, sendo um endpoint público.

`[BUG]` - Consertar relação entre Endereços e UFs

Informações

A relação entre endereços e UFs está com o Join faltando, fazendo com que a configuração fique bugada e não seja possível retornar a UF no endereço via requisições GET. Inserir o JoinColumn para consertar esse bug.

Prints

image

`[FEAT]` - Desenvolver funcionalidade de pesquisar Vagas por Regime de Contratação

Descrição:

  • Desenvolver um método no Service de Vagas responsável por buscar vagas pelo seu regime de contratação (Estágio, Temporário, CLT, PJ, etc);
  • Desenvolver um método no Controller de Vagas que receberá uma requisição do tipo GET no endpoint /jobs?hiring={TIPO}, recebendo o nome do regime como um query param.

RN:

  • A requisição não deve ser protegida pelo Middleware de Autenticação, sendo um endpoint público.

`[FIX]` - Conserto nas relações da entidade Address

Descrição:

A entidade Address estava com más relações e problemas no seu repositório de criação. Suas colunas estavam com problemas de geração e ordem. Foi preciso resolver este erro adicionando Decorators na sua entity.

RN:

  • N/A

`[FEAT]` - Desenvolver funcionalidade de pesquisar Vagas pelo seu título

Descrição:

  • Desenvolver um método no Service de Vagas responsável por buscar vagas pelo seu título (ex: Desenvolvedor Back-End Java, e por aí vai);
  • Desenvolver um método no Controller de Vagas que receberá uma requisição do tipo GET no endpoint /jobs?title={NOME_DA_VAGA}, recebendo o texto como query param.

RN:

  • N/A

`[FEAT]` - Criar funcionalidade de trazer Vagas da Empresa

Descrição:

  • Desenvolver um método no Service de Vagas que seja responsável por trazer as Vagas abertas pela empresa.
  • Desenvolver um método no Controller de Vagas que receberá uma requisição do tipo GET no endpoint /company/jobs

RN:

  • Recurso só pode ser acessado por usuários do tipo Empresa
  • Recurso deve ser protegido por um middleware de autenticação

`[FEAT]` - Desenvolver funcionalidade de trazer Candidaturas do Candidato

Descrição:

  • Desenvolver um método no Service de Candidaturas responsável por buscar as candidaturas realizadas pelo usuário.
  • Desenvolver um método no Controller de Vagas que receberá uma requisição do tipo GET no endpoint /candidate/my-jobs, trazendo os dados das vagas que o usuário está candidatado, com uma paginação de 20 por vez.

RN:

  • Recurso somente deve ser acessado por usuários do tipo Candidato;
  • O recurso deve estar protegido pelo Middleware de Autenticação.

`[FEAT]` - Criar o controller de categorias

Requisitos

Criar um controller do Nest que possua somente um endpoint do tipo GET (por enquanto) para trazer todas as categorias de vagas existentes no sitema no endpoint /categories.

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.