/sd-014-b-career-blitz-challenge

O Career Blitz Challenge é uma aplicação que possibilita a pessoa usuária se organizar por meio de uma lista de tarefas.

Primary LanguageTypeScript

🚨 Career Blitz Challenge 🚨

O Career Blitz Challenge é uma aplicação que possibilita a pessoa usuária se organizar por meio de uma lista de tarefas.

Stack utilizada

React Styled Components NodeJS Express.js TypeScript Docker MongoDB Bootstrap Mocha Chai

Front-end: React, Context API, Styled-components, Bootstrap

Back-end: Node, Express, Typescript, Docker, Mongoose(MongoDB), Mocha, Chai, Sinon

Instalação

Instale o Career Blitz Challenge com npm

Obs: No tutorial de instalação, utilizo o Docker na criação de um container com uma instâcia do mongoDB, para esse processo é necessário ter um ambiente Docker configurado na sua máquina. Se você tiver uma instâcia do mongoDB instalada na sua máquina, não é necessário a utilização do Docker.

  1. Clone o projeto para um diretório do seu computador, utilizando o seguinte comando no seu terminal:
  git clone git@github.com:Ivanielson/sd-014-b-career-blitz-challenge.git
  1. Acesse o diretório do projeto:
cd sd-014-b-career-blitz-challenge/
  1. Acesse o diretório do backend:
cd back-end/
  1. Instale as dependências do projeto, executando o seguinte comando:
npm install
  1. Execute o seguinte comando para criar um container docker com uma instância do mongoDB:

Renomei o arquivo .env.example para .env e configure a variavel de ambiente com os dados do mongoDB. Ex1. MONGO_URI=mongodb://localhost:27017/BlitzChallenge. Caso você tenha uma instância do mongoDB instalada na sua máquina não é necessário executar esse comando, apenas configure a variavel de ambiente com as credenciais do seu mongoDB. Ex2. MONGO_URI=mongodb://user:password@localhost:27017/BlitzChallenge. Se não houver usuário e senha, use a as configurações do Ex1.

npm run docker:db-up

Aguarde a execução do comando.

  • Você deve receber uma saída semelhante a essa no seu terminal:
> back-end@1.0.0 docker:db-up
> docker pull mongo && docker run --name mongodb-desafio-blitz -p 27017:27017 -d mongo

Using default tag: latest
latest: Pulling from library/mongo
d5fd17ec1767: Pull complete 
b2c91407ff49: Pull complete 
05bd3555a96c: Pull complete 
49fe477b9b26: Pull complete 
61c30709c846: Pull complete 
0c74ee88dd5a: Pull complete 
77b48c757eb5: Pull complete 
8aecb2f59c4d: Pull complete 
6a1aab21c2a9: Pull complete 
e53674bec5aa: Pull complete 
Digest: sha256:82a55eb6d60997007ff390087d4e064218d477e9611a7becd78664a2ab490eff
Status: Downloaded newer image for mongo:latest
docker.io/library/mongo:latest
330150c7ed1b239620b3dc4530f6edc658568ccf59994a47ee52bddcc2516061
  1. Inicie a o backend, executando o seguinte comando:
npm start

Aguarde a execução do comando.

  • Você deve receber uma saída semelhante a essa no seu terminal:
> back-end@1.0.0 start
> ts-node-dev src/server.ts

[INFO] 19:54:19 ts-node-dev ver. 1.1.8 (using ts-node ver. 9.1.1, typescript ver. 4.6.4)
Ouvindo na porta 3001
  1. Agora abra um nova aba do seu terminal com o comando:

    crtl + shift + t

  2. Agora acesse o diretório do fron-end pelo terminal:

cd ../fron-end/
  1. Instale as dependências do projeto, executando o seguinte comando:
npm install
  1. Inicie o frontend da aplicação:
npm start

Aguarde a execução do comando.

  • A aplicação de iniciar em uma aba do seu navegador automaticamente e você deve receber uma saída semelhante a essa no seu terminal:
Compiled successfully!

You can now view front-end in the browser.

  Local:            http://localhost:3000
  On Your Network:  http://192.168.0.14:3000

Note that the development build is not optimized.
To create a production build, use npm run build.

webpack compiled successfully

Você verá a aplicação em execução:

Exibe uma imagem do tipo gif, com uma demostração da aplicação rodando

Obs: Caso a aplicação não abra no navegador automaticamente, acesse pela url(http://localhost:3000) na barra de endereço do seu navegador.

Deinstalação

  1. Para parar a execução da aplicação use o seguinte comando no terminal:

    ctrl + c

  2. Em seguida feche a aba do terminal onde está rodando o frontend. Use o seguinte comando:

    ctrl + shift + w

  3. Agora pare a execução do backend. Use o seguinte comando no terminal:

    ctrl + c

  4. Em seguida execute o comando para parar e remover o container com a instância do mongoDB:

npm run docker:db-down

Rodando os testes no backend

Primeiro acesse o diretório do backend. Caso esteja na raíz do projeto, use o seguinte comando:

cd back-end/

Para rodar os testes, rode o seguinte comando

  npm run test:unit

Para verificar a cobertura dos testes, rode o seguinte comando

npm run cover:unit

Informações sobre o tutorial de instalação e desenvolvimento do desafio

O tutorial de instalação foi criado executando os comandos na seguinte versão do Ubuntu:

Distributor ID Description Release Codename
Ubuntu Ubuntu 20.04.3 LTS 20.04 focal

Versões utilizadas no desenvolvimento do desafio:

Nodejs Docker Docker-compose npm
v14.16.1 20.10.12 1.29.2 7.18.1

Referência