Code Monkey home page Code Monkey logo

vagas-api's Introduction

Badge em Desenvolvimento

Typing SVG

Visitantes:


Menu

Pre requisitos:

  • git
  • docker
  • insomnia

🛠️ Abrir e rodar o projeto

Clone o projeto na janela que abriu com o seguinte comando:

  git clone https://github.com/SouJunior/linkedin-backend.git

docker-compose up -d

O projeto vai estar rodando em:

localhost:3000

agora basta seguir para Instalando o Insomnia


📁 Acesso ao projeto

Entre na pasta do projeto pelo Visual Studio, Abra o terminal do visual Studio e vá para o diretório do projeto com o comando:

  cd vagas-api

Instale as dependências

```bash
  npm i

Feito a instalação dos pacotes basta renomear o arquivo .env.example para .env e preencher com as suas informações do banco de dados, no caso estamos usando o PostgreSQL

Arquivo .env

PORT=3000 #Porta que seu projeto vai rodar na sua maquina

# JWT
SECRET_KEY= qualquerStringAqui #Uma string qualquer, chave para gerar o JWT

# TYPEORM_CONNECTION
TYPEORM_CONNECTION=postgres
TYPEORM_HOST= #Host name do seu banco (geralmente quando esta na sua maquina fica localhost)
TYPEORM_PORT=5432 #A porta geralmente é 5432, se no seu caso for outra porta basta alterar
TYPEORM_USERNAME= # Seu usuario do banco postgress
TYPEORM_PASSWORD= # Sua senha do banco postgress
TYPEORM_DATABASE= # Sua database do banco de dados.

🌐 Rodando localmente

Inicie o servidor

  npm run start:dev

Após a instalação do Wsl, vamos até a pasta do projeto e rodar o comando

docker-compose up -d

O projeto vai estar rodando em:

localhost:3000


Stack utilizada ⚙

Linguagens: TypeScript

Frameworks: node js Nestjs

Ferramentas: Run in Insomnia Visual Studio docker


Head 🙎🏻‍♂️


Wanderson Santos

Team lead 🙎🏻


Amanda Fontes

Devs 👨‍💻👨‍💻


Amaro Francisco

Ytallo Cesar

Pedro Igor

Mentores 🙎🏻‍♂️


Thiago Rodrigues

Ex contribuidores 🙎🏻‍♂️🙎🏻


Leonardo Monteiro

Daniel Vinhas

Joana D'arc

Audinéia Carmo

Bruno

Leonardo Reis

Idealizador do projeto 🙎🏻‍♂️


Wouerner

Feedback

Se você tiver algum feedback, por favor nos deixe saber por meio do nosso fazendo uma contribuição.

Contribuição

Contribuições são sempre bem-vindas!

Usado por

Esse projeto é usado pela SouJunior.


vagas-api's People

Contributors

wandersondeve avatar vinhas93 avatar patrickotero avatar joanadarknes avatar amaro13 avatar ytallocesar2022 avatar wouerner avatar leonardoreis86 avatar bilbyc avatar ronaldmiranda avatar nandoprogrammer avatar guilhermemoraes1 avatar mikaelmelo1 avatar nalvescabrera avatar brualvess avatar

Stargazers

Vanessa Antunes avatar Gabriel Santana avatar mariana ferro avatar Otávio Reis avatar  avatar Leandro Dukievicz avatar  avatar Rafael Alexandre avatar Lucas Borges avatar Kênia Caroline avatar Samuel Alves Medeiros avatar Derli Junior avatar Héctor avatar Lucas Nobre Barbosa avatar Adriano Rodrigues avatar Victor Campelo avatar Walacy Silva avatar chaveprimaria avatar Eduardo Baldin avatar Nícolas Brandão avatar Rhuan Rodrigues avatar Igor Monteiro avatar  avatar Matt-pixel avatar Vinicius Santos avatar Everton Luiz avatar André Vitor Cuba de Miranda avatar ZaNe avatar Igor Figueiredo avatar  avatar Rafael Vasconcelos avatar Anark avatar Isac Silva avatar Tainá Isabela avatar Maiara avatar Davi Alexandre avatar Estevão Azevedo avatar Gabriel Lopes avatar Erick Neves avatar  avatar Gabriel Souza avatar Francys Rodrigues avatar RODRIGO GRILLO avatar Matheus André avatar Gabriel avatar Yang Araújo Neiva avatar praying avatar  avatar Julio Cesar avatar Ancelmo Viana Oliveira avatar Érick Santos avatar Matheus Ferro avatar Bruno Brancher avatar Márcio Rodrigo avatar Leonardo Honda avatar Daniele Karoline  avatar Raimundo Junior avatar #Daniel Ribeiro  avatar Ellen de Oliveira avatar João Victor Campos Souza Oliveira avatar Karen Kvam avatar Klinger Ferreira avatar Jessica Lemos Gomes avatar Tiago José batschke de Souza avatar Luciane Viana avatar Gabriella Martins avatar Leonardo Kepler avatar CAIO VASCONCELOS avatar Luana Leite Portezan avatar jose henrique correia paes barreto avatar Douglas dos Santos Oliveira avatar fhcs avatar Thiago Martins avatar Werick Lima avatar Ana Marques avatar Bruno Jamelli avatar Margareth Sasaki avatar Remi Azevedo avatar Edenilson Silva Mota avatar Diego Queiroz avatar Wesley aquino avatar Yrllan Brandão avatar  avatar Clara Pacheco avatar Tauani Vitória  avatar Rodrigo Lucio  avatar Lucas Mateus avatar Felipe Alves avatar Gabriel Maciel avatar Michel Kim avatar  avatar Guilherme H. de Abreu Pessoa avatar Edson Pimenta avatar Flávio Henrique avatar morph.dev avatar Guilherme Sousa avatar Isabeli Reik avatar Wallace Vilela avatar Luan Cortez avatar Nathalia Monalisa avatar

Watchers

 avatar Alessandra Souza avatar Mariana Campello avatar  avatar Otávio Reis avatar Amilton Iuri Lopes avatar GABRIEL LUCAS  avatar

vagas-api's Issues

Motor de Vagas

O objetivo desta "spike" (pico de investigação) é agrupar todas as tarefas relacionadas ao desenvolvimento do backend, a fim de realizar estudos e levantamentos necessários para a implementação do motor de busca de vagas. O propósito principal deste motor é efetuar varreduras em sistemas e sites, visando trazer vagas com a classificação de "Júnior".

Então buscar as vagas com os termos:

Júnior.
Estágio.
Trainee.

Combinadas com:

Agilista
Scrum Master
Product Owner
Product Manager
Associate Product Manager
Desenvolvedor Back-end
Desenvolvedor Front-end
UX
UI
Desenvolvedor Mobile
Analista de Negócios
RH
Analista de Dados

Critério de Aceite:

  • Um levantamento detalhado dos requisitos do motor de vagas.
  • Uma análise completa das tecnologias necessárias para a varredura de sistemas/sites em busca de vagas com a classificação "Júnior".
  • Um plano de implementação que descreve as etapas necessárias para criar o motor de busca de vagas
  • A confirmação de que o motor de busca é capaz de identificar vagas com a classificação "Júnior" com precisão.
  • A documentação técnica completa que descreve o funcionamento do motor de vagas e como a equipe pode mantê-lo e escalá-lo no futuro.

Criar Conta Candidato

US Referente:
SouJunior/products/issues/110

Definição:

Como Candidato, gostaria de criar uma conta para cadastrar meu perfil e me candidatar nas vagas disponíveis.

Descrição:

Para que o usuário tenha acesso a área logada do portal do candidato, é necessário criar uma conta e fazer o login. Assim que ele fizer o login, ele cadastrará e atualizará seu perfil para se candidatar a todas as vagas disponíveis no nosso Portal de Vagas.

Critérios de Aceite:

  • O campo "name” deve ter limite de 50 caracteres;
  • Criar um endpoint para validar se o email esta cadastrado no banco de dados, caso já exista deve retornar a mensagem de 'E-mail já cadastrado'
  • O e-mail deve ter o formato usual de e-mail "[email protected]";
  • O password e o passwordConfirmation deve conter no mínimo 8 caracteres, sendo eles letras minúsculas e maiúsculas, números e caracteres especiais.
  • Caso as senhas não sejam iguais retornar uma mensagem de erro: “as senhas precisam ser idênticas”.
  • Só será possível cadastrar senhas com os critérios informados na regra;
  • Caso o usuário digite no “campo senha” uma senha que não esteja dentro dos critérios informados, o backend deve retornar a frase “Senha inválida”.
  • Todos os campos de input listado devem ser obrigatórios para realização de cadastro;
  • O checkbox "Li e Aceito os termos e políticas de privacidade" deve ser obrigatório para a realização de cadastro, o backend deve pegar o IP na requisição e salvar no banco esse dado junto com a data do aceite dos termos
  • Quando o usuário Criar uma Conta, o sistema deve enviar um e-mail validação para o e-mail cadastrado;
  • O usuario so poderá fazer login na plataforma quando o email for validado.

2. Login - M

Definição:

Como usuário, eu gostaria de realizar o login no Portal de Vagas, para que possa dar prosseguimento às candidaturas.

Descrição:

A ideia é que com o login, o usuário possa realizar diversas ações dentro do portal de vagas, como se candidatar para vagas, ver histórico de candidatura, receber mentorias, dentre outros...

Protótipo:

Image

Critérios de Aceite: (part. Vic Knust)

  • Os dados do usuário devem ser preenchidos manualmente;
  • Quando o usuário clicar no botão Entrar, o email e a senha devem ser validados;
    • A opção só ficará disponível após preenchimento dos campos acima
  • Caso uma das informações inputadas não seja válida, deve aparecer acima do link "Esqueci minha senha" a frase “EMAIL OU SENHA INVÁLIDOS” em vermelho; *[CRIAR OPÇÃO ESQUECI MINHA SENHA]
  • Caso as informações inputadas sejam validadas, sistema deve executar US_Feed_de_Vagas
  • O checkbox "Me mantenha conectado" não é obrigatório;
  • Caso selecionado, o sistema irá salvar as credenciais do usuário, não sendo necessário refazer o login
  • Quando o usuário clicar no botão Criar Conta, o sistema deve executar US_Cadastro
  • Quando o usuário clicar no botão Saiba Mais, deve ser redirecionado para o Site Sou Júnior; [COLOCAR LINK DO SITE]
  • Quando o usuário clicar no link "Esqueci minha senha" o sistema deve executar a US_Esqueci_minha_senha

Estrutura de pastas

Criar toda estrutura de pastas do projeto, com isso vamos ter:

-Melhoras no Ambiente de desenvolvimento
-Uma instalação mais organizada de novos frameworks
-Organização Maior no ambiente de API e Banco de dados

Nessa estrutura vamos utilizar a estrutura MVC:
-Model-view-controller (MVC) é um padrão de arquitetura de software que divide a aplicação em três camadas: Model, View e Controller.

MVC – Vantagens no desenvolvimento:
O padrão de desenvolvimento de software MVC (Model view controller) traz consigo grandes vantagens para o desenvolvimento de aplicações.
Vantagens como:
-Reusabilidade de código
-Rápido Desenvolvimento
-Fácil manutenção

Atualizar o ReadMe

Adicionar todas, no github, as instruções necessárias para que todos possam rodar o backend.
Deixar o link visível para o pessoal do devops

Empresas API

O usuario com perfil admin gostaria de gerenciar uma empresa com as seguintes ações:

Cadastrar empresas.
Listar as empresas associadas a seu nome.
Editar empresas.
Excluir empresas.

Dados:

  • Nome da empresa
  • Descrição
  • data entrada no sistema.
  • data de atualização dos dados.
  • Address
  • email de contato
  • pagina do linkedin da empresa.
  • Nome do responsavel.
  • Telefone de contato.

Aceite:
O usuario só podera ver as empresas associadas ao seu nome.

4. Buscador de Vagas - M

US - Buscador de Vagas - M

Definição:

Como usuário, eu gostaria de buscar vagas cadastradas no site, para que possa me candidatar e conquistar um emprego.

Descrição:

A ideia é que no buscador o usuário possa procurar cargos ou empresas cadastrados, tendo a opção de visualizar vagas em localidades específicas

Protótipo:

Image

Critérios de Aceite:

  • Na caixa do buscador, deve haver a frase “Cargo ou empresa”
  • Na caixa da localidade, localizada ao lado do buscador, “deve haver a frase “Localidade”
  • Quando o usuário inserir um cargo no buscador, o o sistema buscará vagas do respectivo cargo e em seguida imprimirá uma lista de vagas do respectivo cargo no Feed de Vagas no local indicado pela US Feed de Vagas
  • Quando o usuário inserir uma empresa no buscador, o sistema buscará vagas da respectiva empresa no banco de dados e imprimirá uma lista de vagas da respectiva empresa no Feed de Vagas no local indicado pela US
  • O preenchimento de um cargo ou empresa não é obrigatório para que apareçam vagas no Feed de Vagas
  • Quando o usuário inserir um local em localidade, o sistema buscará vagas da respectiva localidade no banco de dados e imprimirá uma lista de vagas do respectivo local no Feed de Vagas no local indicado pela US
    • O campo localidade só aceitará cidades ou estados brasileiros como entradas
    • O campo localidade deve contar com a função autocomplete para sugerir complementos da cidade ou estado digitada pelo usuário

Readme backend

Instalação do projeto.

ferramentas padroes que usamos no projeto.

3. Feed de vagas - M

[US] - Feed de vagas

Definição:

Como usuário, eu gostaria de ter acesso ao feed de vagas, para que possa ver as vagas disponíveis no portal SouJunior.

Descrição:

A ideia é que o usuário possa ter visibilidade a um feed de vagas, em que será possível visualizar vagas juniors disponíveis no mercado.

Protótipo:

Image

Critérios de Aceite:

  • VISÃO GERAL

    • LISTA DE VAGAS
    • DETALHES DA VAGA
    • Buscador e Local de vaga (US_Buscador)
    • Filtros (US_Filtro)
    • Opção "Login"
    • Opção "Cadastro"
  • CAMPO LISTA DE VAGAS

    • O nome e logo da empresa que está com a vaga em aberto;

    • Opção “nome da vaga”;

    • local de trabalho;

    • Data da publicação da vaga;

    • Opção “Salvar vaga”;

    • Opção “Três pontinhos”;

    • Replicar esse modelos para demais cards da lista.

    • AÇÕES

      • AÇÃO NOME DA VAGA
        • Quando o usuário clicar no NOME DA VAGA, o sistema buscará as demais informações da vaga e as retornará a informação em DETALHES DA VAGA, mantendo à mostra os cards de vaga lista de vagas.
      • AÇÃO SALVAR VAGA
        • Quando o usuário clicar no botão "Salvar" o sistema deve verificar se o botão estava previamente selecionado:
          • Caso negativo, salvar a vaga em um repositório de vagas salvas pelo usuário e destacar botão
          • Caso positivo, retirar a vaga do repositório e desmarcar o botão
        • O usuário poderá acessar esse repositório na US_Página_do_Junior
      • AÇÃO TRÊS PONTINHOS
        • Quando o usuário clicar nos Três pontinhos, o sistema deve imprimir em uma mini pop-up abaixo dos três pontinhos e exibir a opção de executar a US_Denunciar_vaga
  • CAMPO DETALHES DA VAGA

    • Cabeçalho: Retângulo superior horizontal irá conter

      • O cabeçalho torna-se congelado ao rolar página descrição para baixo
      • o nome e logo da empresa que está com a vaga em aberto;
      • nome da vaga;
      • local de trabalho;
      • Opção “Candidatar-se”
      • Opção “Salvar”
    • Grande quadrado abaixo com detalhes da vaga

      • Descrição da vaga
        • Deve haver uma descrição da vaga com os dados da respectiva vaga, que foram inseridos pela empresa no momento de cadastro da vaga.
      • Opção “Mostrar mais”
      • Visão empresa
        • Na parte inferior da DETALHES DA VAGA, também congelado, a tela deve imprimir dados da empresa contratante, contendo:
          • Tamanho,
          • Setor da cia
          • Opção “Site”
    • AÇÕES

      • AÇÃO CANDIDATAR-SE
        • Executar a US_Candidatura
      • AÇÃO SALVAR
        • Quando o usuário clicar no botão "Salvar" o sistema deve salvar a vaga em um repositório de vagas salvas pelo usuário
        • Caso a vaga tenha sido favoritada anteriormente, o botão deve estar destacado
        • O usuário poderá acessar esse repositório na US_Página_do_Junior
      • AÇÃO MOSTRAR MAIS
        • Quando usuário clicar em opção “Mostrar mais”, o sistema deve expandir o descritivo da vaga e exibir mais detalhes
      • AÇÃO SITE DA EMPRESA
        • Quando o usuário clicar em “site da empresa”, deverá ser aberta uma nova aba no navegador do usuário, a qual terá como destino o site da respectiva empresa:
          • IMPORTANTE: Não direcioná-lo para a aba. Apenas abrir a página em aba ao lado
  • CAMPO BUSCADOR

    • Executar US_Buscador
  • CAMPO FILTRO

    • Executar US_Filtro
  • CAMPO LOGIN

    • Executar US_Login
      • Caso o usuário já esteja logado, no lugar da opção “Login” e “Cadastre-se” deve haver a opção “Página do Usuário”, que o redireciona para a US_Página_do_Usuário
  • CAMPO CADASTRE-SE

    • Executar US_Cadastro
      • Caso o usuário já esteja logado, no lugar da opção “Login” e “Cadastre-se” deve haver a opção “Página do Usuário”, que o redireciona para a US_Página_do_Usuário

Alinhamento Docker!

Image
Image
Image

Guia de estudo para docker

📌 Sobre o Docker :

https://docs.docker.com/get-started/overview/

🛠️ Documentação/Guia para instalação:

https://docs.docker.com/


👉Vídeo para auxiliar na instalação no Windows:

https://youtu.be/sYsIoWtS5LY
https://youtu.be/05YN8F8ajBc

👉 Vídeo para auxiliar na instalação no Mac:

https://youtu.be/ktNYPv6kfVk

👉 Vídeo para auxiliar na instalação no Linux;

https://youtu.be/2T3itw-2xkg


📁 Iniciando o Banco de Dados no Docker:

https://youtu.be/BXtKmLNJVMo


💡 Descomplicando o Docker:

https://www.youtube.com/playlist?list=PLf-O3X2-mxDn1VpyU2q3fuI6YYeIWp5rR

Comentarios nas vagas

O usuario gostaria de comentar uma vaga de trabalho:

Breve comentarios com até 500 caracteres.

Aceite:
Respeitar o limite de caracteres.
1 comentario por hora.

[Empresa] Esqueci a senha

US Referente:
SouJunior/products/issues/16

Definição:

Como empresa, eu esqueci minha senha e gostaria de redefini-la, para que eu possa acessar a área empresa e cadastrar as minhas vagas disponíveis.

Descrição:

Para que o usuário possa redefinir sua senha, caso se esqueça, ele deve ir até a área de Login, clicar em "esqueci a senha" e cadastrar uma nova. Após todos os processos de redefinição que envolverá alguns critérios de segurança, o usuário estará apto para acessar sua conta novamente.

Critérios de aceite backend:

1 - Se o e-mail inserido não for válido na plataforma SouJunior, deve retornar a mensagem: "Se o e-mail existir no nosso banco será enviado um email com o link para recuperação da senha"

2 - Ao clicar no botão "Confirmar" o candidato deve receber um e-mail para cadastrar uma nova senha.

3 -Se o e-mail for desconsiderado, o sistema manterá a senha atual.

4 - A nova senha deve ter os mesmos critérios de aceite que a criação da primeira senha.

5 - A senha deve conter no mínimo 8 caracteres, sendo eles letras minúsculas e maiúsculas, números e caracteres especiais.

6 - Caso as senhas não estejam iguais, os campos “Nova senha” e “Confirmar nova senha” enviar uma mensagem de erro: “as senhas não conferem”

7 - Quando as senhas estiverem iguais, e os demais dados estiverem compativeis com o banco de dados, a mensagem: "senha redefinida com sucesso" aparecerá na tela.

8 - Só será possível cadastrar senhas com os critérios informados na regra;

9 - Caso o usuário digite no campo "nova senha” uma senha que não esteja dentro dos critérios informados, ele será avisado quando for para o próximo campo "confirmar nova senha" e a seguinte frase aparecerá: “Inserir senha com os critérios informados”.

10 - Quando o usuário redefinir sua nova senha um e-mail será encaminhado confirmando esta alteração.

[Candidato] - Acessar o Portal

US: https://github.com/orgs/SouJunior/projects/3/views/1?pane=issue&itemId=18035190

Definição:
Como candidato, eu gostaria de fazer login ou criar conta na plataforma, para que eu tenha acesso às funcionalidades da área logada e me candidatrar as vagas disponíveis que me interessam.

Contexto: Quando o candidato acessar a área de login, direcionado pelo link na home page do site https://www.soujunior.tech/ ou da home page do site de vagas, ele deve ter acesso ao login e senha

Critérios de aceite Backend:
1 - O e-mail do candidato deve conter o formato de e-mail padrão, tipo: [email protected]
2 - Quando o usuário clicar no botão "Entrar", o e-mail e a senha devem ser validados
3 - Caso uma das informações imputadas não seja válida, deve aparecer a frase “E-mail ou Senha não conferem”

Implementar Usuario

Campos:

Nome
Email
Senha

Aceite:
Senha com criptografia.

OBS:
Não precisa confirmar email.
Não precisa criar nenhum tipo de perfil.

POC - Backend

Preciso da estrutura padrão do projeto.
Como vai ficar a estrutura do projeto.

5. Cadastro de Usuário - M

Definição:

Como usuário, eu gostaria de realizar o cadastro no Portal de Vagas, para que possa dar prosseguimento às candidaturas

Descrição:

Para que o usuário possa prosseguir a interação com a SouJunior, é necessário que o login seja feito.

Protótipo:

Image

Critérios de Aceite: (part. Vic Knust)

  • VISÃO GERAL

    • Logo estática SouJunior à esquerda
    • Dados
    • Campo “Nome completo”
    • Campo “CPF”
    • Campo “E-mail”
    • Campo “Senha”
    • Checkbox “Aceite de termos”
    • Opção “Criar conta”
    • Opção “Já tem login”
  • TODOS OS CAMPOS/CHECKBOX ABAIXO SÃO OBRIGATÓRIOS

  • CAMPO NOME COMPLETO

    • O campo “Nome completo” deve ter limite de 30 caracteres
    • O sistema não deve permitir mais do que os 30 caracteres
  • CAMPO CPF

    • Quando o usuário inserir os dados, o sistema aplicará a seguinte mascara: XXX.XXX.XXX-XX
    • O campo CPF deve ser preenchido somente com número
    • O sistema deve validar o CPF de acordo com os critérios da RF
    • Caso critério não seja cumprido, imprimir CPF inválido
  • CAMPO E-MAIL

    • Quando o usuário digitar o e-mail, o sistema só poderá aceitar a formatação [xx@domínio]
      • Caso esteja em formatação correta, o sistema deve verificar se o e-mail já se encontra na base de dados da SouJunior
      • Caso positivo, retornar a mensagem que o e-mail já foi cadastrado e solicitando que o usuário faça login
  • CAMPO SENHA

    • Quando o usuário inserir os dados, o sistema só poderá aceitar a senha que tiver:
      • Mínimo oito caracteres
      • Letras minúsculas e/ou maiúsculas
      • Números e/ou caracteres especiais
    • Caso critério não seja cumprido, imprimir mensagem de erro abaixo do campo e pintar os caracteres campo de vermelho
  • CHECKBOX ACEITE DE TERMOS

    • Ao lado de checkbox, imprimir a mensagem “Li e aceito os Termos e Política de Privacidade da SouJunior”
      • A palavra “Termos” deverá ser uma opção para o usuário, a qual o direciona para um pdf com os termos da plataforma
        • Verificar com jurídico
      • A palavra “Política de Privacidade” deverá ser uma opção para o usuário, a qual o direciona para um pdf com os termos da plataforma
        • Verificar com jurídico
    • Quando o usuário marcar o checkbox, destacar checkbox para que usuário entenda que ação foi executada e ele aceitou termos e política de privacidade.
  • OPÇÃO CRIAR CONTA

    • Caso o usuário tenha preenchido todos os campos e os mesmos estejam validados pelo sistema, disponibilizar a opção “Criar conta”
    • Caso negativo, não disponibilizar opção
    • Ao clicar na opção "Criar conta":
      • Sistema deverá executará US_Confirmação_de_e-mail
  • OPÇÃO JÁ TEM LOGIN

    • Abaixo da opção “Criar conta”, imprimir “Já tem conta? Faça login”
      • A palavra login será uma opção, que sempre ficará disponível para clique de usuário
        • Caso o usuário clique, executar US_Login

Cadastro de Usuários

  • Criar um novo usuário
  • Retornar todos os usuários
  • Atualizar um usuário
  • Deletar um usuário
  • Retornar um usuário

[Empresa] Esqueci a senha

US: https://github.com/orgs/SouJunior/projects/3/views/1?pane=issue&itemId=13416739

Cenário: Receber um email para recuperar a senha.

Abaixo segue o assunto do email e a imagem que está na documentaçaõ de US.
4.Assunto do e-mail: "Redefinição de senha - site SouJunior".

Image

Abaixo está o formato de email que foi recebido, ele está diferente do email da US acima. Pois, o front precisa criar o template e encaminhar para o backend.

Image

Após clicar no botão de recuperar a senha, fui redirecionada para uma página que ainda não está pronta. Pois, falta o pessoal do front-end encaminhar o link da página para que seja inserido no back-end.

Image

@Vanessapcs @Jacqueline2021

Implementar API Denuncias

Descrição das denuncia da vaga.

id da vaga
Id do usuário
Descrição

Critério:
Apenas uma denuncia por vaga, e por usuário.
Usuário precisa estar logado.

Crud - Vagas simples

O usuário gostaria de entrar no sistema deslogado e cadastrar vagas, visualizar, editar e apagar essa vaga, com os dados:

  • Titulo da vaga
  • descrição
  • Tipo: Estagio, Trainee ou Junior

1. Candidatura - M

US - Candidatura - M

Definição:

Como usuário, eu gostaria de me candidatar a vaga exposta no feed de vagas PARA PARTICIPAR DO PROCESSO SELETIVO E CONQUISTAR MINHA COLOCAÇÃO NO MERCADO DE TRABALHO

Descrição:

A ideia é fazer uma candidatura simples para que façamos a ponte entre o junior e seu sonho de conquistar seu emprego dos sonhos

Protótipo:

Image

Critérios de Aceite:

  • Uma vez que o usuário clique em ‘Candidatar-se” no feed de vagas, uma pop-up deve aparecer na tela. Nela deve haver:
    • Na parte superior, título da vaga e nome da empresa

    • Abaixo, checkbox com opção de compartilhar dados cadastrados na página do junior. O preenchimento é obrigatório para prosseguimento.

    • Caso usuário não marque checkbox, não habilitar seguimento do fluxo abaixo

      • Caso o usuário ainda não tenha cadastrado dados, imprimir mensagem “Antes de se candidatar, você precisa preencher seu perfil na sua página SouJunior. Clique aqui para ser redirecionado para ela.”
    • No clique aqui, inserir link para página do junior

    • Depois deve haver uma parte de diversidade, sendo essa de preenchimento opcional. O usuário deve responder cada pergunta escolhendo uma resposta dentre as opções pré-selecionadas.

      • Qual o pronome adequado para você:
        • Ela / Dela
        • Ele / Dele
        • Prefiro não responder
      • Qual sua identidade de gênero:
        • Cisgênero
          • Colocar o símbolo “i” ao lado. Uma vez que o usuário passe o mouse por cima dele, imprimir como mini pop-up
            • Cisgênero (ou cis) é a pessoa que se identifica com o gênero que lhe foi atribuído ao nascer.
        • Transgênero
          • Colocar o símbolo “i” ao lado. Uma vez que o usuário passe o mouse por cima dele, imprimir como mini pop-up
            • Transgênero (ou trans) é a pessoa cuja identidade não corresponde ao gênero que lhe foi atribuído ao nascer
        • Prefiro não responder
      • Qual sua orientação sexual:
        • Assexual
          • Colocar o símbolo “i” ao lado. Uma vez que o usuário passe o mouse por cima dele, imprimir como mini pop-up
            • Assexual: pessoa que experimenta pouca ou nenhuma atração sexual.
        • Bissexual
          • Colocar o símbolo “i” ao lado. Uma vez que o usuário passe o mouse por cima dele, imprimir como mini pop-up
            • Bissexual: é a pessoa que sente atração por dois ou mais gêneros.
        • Heterossexual
          • Colocar o símbolo “i” ao lado. Uma vez que o usuário passe o mouse por cima dele, imprimir como mini pop-up
            • Heterossexual: é a pessoa que sente atração por pessoas do gênero considerado oposto ao seu.
        • Homossexual
          • Colocar o símbolo “i” ao lado. Uma vez que o usuário passe o mouse por cima dele, imprimir como mini pop-up
            • Homossexual: é a pessoa que sente atração por pessoas do mesmo gênero.
        • Pansexual
          • Colocar o símbolo “i” ao lado. Uma vez que o usuário passe o mouse por cima dele, imprimir como mini pop-up
            • Pansexual: é a pessoa que sente atração por pessoas de todos os gêneros.
        • Prefiro não responder
      • Qual sua cor ou raça:
        • Amarela
        • Branca
        • Indígena
        • Parda
        • Preta
        • Prefiro não responder
    • No final da pop-up, inserir caixa com opção “Finalizar candidatura”. Uma vez selecionado:

      • Sistema deve enviar mensagem por e-mail para empresa contratante com link para página que com informações do usuário, colhidas a partir dos dados informados pelo usuário na US_Página_de_Usuário
      • Candidato recebe a mensagem "candidatura finalizada” em forma de pop-up por 5 segundos e após isso o usuário é redirecionado para o feed de vagas novamente.
        • Usuário deverá receber e-mail com confirmação de candidatura.
        • Sistema deverá salvar candidatura na US_Histórico_de_Vagas

[Empresa] Acessar o Portal

1 - Quando o usuário clicar no botão "Entrar", o e-mail e a senha devem ser validados

2 - Caso uma das informações imputadas não sejam válidas, deve aparecer a frase “e-mail ou senha não conferem”

3 - Caso as informações imputadas sejam validadas e identificadas no banco de dados do sistema, o backend deve retornar um token com validade de um dia

Dúvidas

Me surgiram algumas dúvidas após ver o projeto:

  1. Porque não está sendo utilizado Typescript?
  2. Porque não está sendo utilizado Nest.js + (Express.js ou Fastify)?
  3. Porque está tudo em português (arquivos, variáveis, funções)?

Alinhamento NestJS

vantagens em se utilizar NestJS, temos alguns destaques:

-Arquitetura bem estruturada, fácil de aprender e dominar;
-Utiliza TypeScript;
-Documentação bem detalhada;
-Utiliza o Express como servidor HTTP padrão (é possível substituí-lo pelo Fastify ou criar um adaptador);
-Aplicações monolíticas como padrão, mas com estrutura preparada para microsserviços (incluindo suporte à gRPC, NATS e Kafka, entre outros);
-Suporte embutido a GraphQL e OpenAPI (Swagger);
-Autenticação via Passport, rate limiting e outros recursos de segurança;
-Várias “receitas” prontas: Mongoose, Sequelize, gerador de CRUDs, Health checks, gerador de documentação, entre outras;
-Estrutura pronta para Testes) unitários, ponta a ponta (e2e), de integração etc. Integrados ao Jest e SuperTest;
-Nest CLI para criar aplicações, atualizar dependências e facilitar o dia-a-dia;

📁-Documentação(https://docs.nestjs.com/) bem detalhada;
📀-Vídeo para dar uma luz na instalação:https://youtu.be/ufSIGVs9X_8

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.