Skip to content

aceleradora-TW/descarte-certo

Repository files navigation

Descarte Certo

CircleCI

Projeto que visa a criação de uma plataforma com implementações back e frontend com intenção de facilitar a busca e contratação do serviço das 5 marias. Consta uma página, efetua o orçamento o envia por email para as proprietárias, e envia dados para o banco cujo apenas elas tem acesso.

Esse projeto foi a ideia vencedora do Creathon de 2019 e posteriormente se juntou com a equipe da aceleradora ágil para desenvolver a plataforma, o time de POs é composto por 5 mulheres: Marcia Castro (empresária), Fernanda Sequeira (publicitária), Sonia Fagundes (engenheira ambiental), Edna Menegaz (engenheira agronoma) e Daniely Votto (advogada).

Executando o projeto

Instalar o Java SDK 11

Configure o banco de dados volatil

Em um terminal, execute o comando:

./docker-db.sh run-volatile
./docker-db.sh  create

Inicie o backend

Em um terminal, execute o comando:

[email protected] MAILGUN_PASSWORD=senhalocal [email protected] LOGIN_PASSWORD=senhalocal LOGIN_JWT_SECRET=testsecret ./gradlew bootrun
  • Este comando iniciará a execução do backend do projeto.
  • Perceba que ele continuará executando até ser parado manualmente,
  • O que pode ser feito pressionando as teclas ctrl + c.
  • As variaveis do MAILGUN devem ser preenchidas com as informações do Heroku caso queira testar o email

Inicie o frontend

Abra uma nova janela de terminal, já que o backend estará bloqueando a primeira janela.

É necessário executar yarn install caso seja a primeira vez que você esteja executando o projeto no computador, ou quando uma nova biblioteca for adicionada ao projeto (yarn add):

cd frontend
yarn install

Com as dependências instaladas, execute o comando:

# Voce precisa estar dentro da pasta frontend
yarn start;

Assim como o backend, este comando seguirá executando até ser parado manualmente. Ele também atualizará o front-end a cada mudança feita no código, portanto, não é necessário executá-lo novamente para ver as mudanças aplicadas.

Pipeline

Como ver os logs da aplicação

Stage

heroku logs --app descartecerto --tail

Prod

heroku logs --app descartecerto-prod --tail

Backend testes

Usando https://httpie.org/

http GET http://localhost:8080/solicitcaoOrcamentoDescarte/1
http POST http://localhost:8080/solicitcaoOrcamentoDescarte/create < backend/src/test/resources/createSolicitacaoRequest.json

Tecnologias:

Template

Este repositório serve como um template para criar um novo projeto utilizando as tecnologias aplicadas nos projetos da Aceleradora Ágil. Templates são uma funcionalidade do Github, para entendê-la em mais detalhes, visite esta página.

Este template foi baseado no projeto Easy Beasy e em tudo que aprendemos durante seu desenvolvimento. Para saber mais sobre as decisões tomadas na construção desse repositório, dê uma olhada no Kanban e nas issues.

Como contribuir?

1) Escolha uma card no Kanban

2) Crie um branch novo com a nomeclarura numero_do_card/nome_do_card

  • Exemplo: 4/adiciona-botao-envio-email
git checkout master
git pull
git checkout -b 4/adiciona-botao-envio-email

3) Faça os commits necessários seguindo nomeclatura:numero_do_card/@nome_aluna @nome aluna: o que o commit faz para commit 

  • Exemplo: #4/ @Maria @Joao: Adiciona o CSS para o botão de envio de email
  • Exemplo: #4/ @Maria @Joao: Adcionar o layout do botão de envio de email
git commit -m "#4/ @Maria @Joao: Adiciona o CSS para o botão de envio de email"

4) Rodar os testes locais e garantir que estão passando

  • ./gradlew buildForProduction

5) Realize o push do branch

  • git push --set-upstream origin <NOME DO BRANCH>

6) Abra um Pull Request no GitHub com o Branch

7) Após revisado e testado pode mergear com a master

  • O branch precisa estar revisado e aprovado
  • O branch não pode ter conflitos
  • O branch precisa rodar os testes de integração com sucesso (CircleCI)

8) Garantir que o build+deploy da master rodou com sucesso e pedir para outra dupla fazer o QA

Ferramentas recomendadas (não obrigatórias)

Algumas recomendações de ferramentas para trabalhar com este template. Embora recomendadas, elas não são obrigatórias para o funcionamento do projeto: