Skip to content

Projeto desenvolvido durante o processo seletivo da XP Inc exclusivo para a turma XP em parceria com a Trybe na data de 24/07/22.

Notifications You must be signed in to change notification settings

SrTonn/desafio-xp

Repository files navigation

Desafio Técnico BackEnd - Processo Seletivo XP Inc.

wakatime

Projeto desenvolvido durante o processo seletivo da XP Inc exclusivo para a turma XP em parceria com a Trybe na data de 24/07/22.

Descrição do desafio: Foi solicitado a criação de uma API de investimentos em ações simulando um dia de um desenvolvedor BackEnd.

Desafios

Meu maior desafio foi gerado por min mesmo, quando optei por deixar os testes para o final e ter desenvolvido toda a aplicação sem ao menos configurar o ambiente dos mesmos. Ao inicia-los percebi que precisaria de mais tempo para a implementação.

Cedi muito tempo para a configuração do sequelize com typescript, nunca antes tinha utilizado ambos em conjunto.

Gerenciar o tempo com o desafio técnico do processo seletivo junto com o curso da trybe e seus projetos me exigiu uma grande gestão do meu tempo com qualidade.

Aprendizados

Durante o desenvolvimento desse projeto tive que separar um tempo para estudar sobre o mercado de investimentos e ações para então começar a planejar a estrutura do meu banco de dados.

Após ter tido a experiência de desenvolver uma aplicação com o Sequelize junto ao TypeScript, aprendi que é essencial pesquisar sobre cada ferramenta, documentação das mesmas e suas compatibilidades antes de começar a implementa-las no projeto para que não haja tantos imprevistos na hora do desenvolvimento.

Criei um diagrama no DRAWSQL que me permitiu ter uma melhor visualização do banco de dados que foi fundamental para me conduzir durante a criação da aplicação. Percebi o quanto é fundamental a utilização de metodologias ágeis para o gerenciamento e desenvolvimento de projetos.

Stack utilizada

Back-end: Node, Express, TypeScript, Docker, Docker-Compose, JWT, Sequelize, MySQL, joi.

Testes: Jest, SUPERTEST.

Variáveis de Ambiente

Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env

PORT MYSQL_HOST MYSQL_DATABASE MYSQL_USERNAME MYSQL_PASSWORD MYSQL_PORT JWT_SECRET

Rodando localmente

Clone o projeto

  git clone [email protected]:SrTonn/desafio-xp.git

Entre no diretório do projeto

  cd desafio-xp

Instale as dependências

  yarn install
Em caso de docker Suba o container
docker-compose up -d

Acesse o terminal do container

  docker exec -it app-investimentos bash

⚠️ o container node do docker está configurado na porta 3000, lembre-se disso na hora de fazer requisição ⚠️

⚠️ caso necessário instale as dependencias novamente e inicie o servidor ⚠️

  yarn install
Inicie o servidor
yarn dev

Rodando os testes

Para rodar os testes, rode o seguinte comando

  yarn test

Para rodar os testes com coverage, rode o seguinte comando

  yarn test-coverage

Cobertura dos testes:

coberturaDeTeste-desafioXP

Documentação

Durante o desenvolvimento da aplicação priorizei a criação de outras rotas além das exigidas, pois de acordo com a regra de negócio são fundamentais para uma aplicação mais completa. Não tive tempo de qualidade para estudar a fundo uma ferramenta de documentação apropriada, como o swagger. Por isso utilizei dos meus conhecimentos em markdown para gerar uma documentação própria.

Documentação

Autor

About

Projeto desenvolvido durante o processo seletivo da XP Inc exclusivo para a turma XP em parceria com a Trybe na data de 24/07/22.

Topics

Resources

Stars

Watchers

Forks