Skip to content

thalles-victor/Todo-BackEnd

 
 

Repository files navigation

Corders Advance - Todo

Organizando sua vida

Projeto open-source full-stack com intúito de trazer conhecimento aos desenvolvedores na coders advance. Este proejto é um gerenciador de tarefas que traz muitos conceitos na programação como autenticação, recuperação de senha, serviços de email, APIs, relacionamentos, micro-serviços, componentização, arquiteturas e padrões de projetos...

Stacks

Docker Prisma Swagger Jest Apache Kafka

Execução do projeto.

Para a execução do projeto é nescessário que tenho o docker junto com o docker compose instalado no sistema operacional. Para exutar basta que o terminal esteja apontado para a pasta raiz do projeto onde está o arquivo docker-compose.yml, depois rodar o comando:

docker compose up

Migrations

!!!Aviso: Se não for criar uma nova migration não precisa seguir as intruções abaixo, pois ela é apenas para caso tenha feito alguma alteração no schema do prisma. O docker compose já foi configurado para automaticamente rodar as migrations já criadas para o banco de dados.

Se deseja criar uma nova migration, basta rodar o comando para entrar no terminal bash do container do back-end:

docker exec -it coders-advanced-todo-backend /bin/bash

e depois executar a migration com o comando

npx prisma migrate dev

Funcionalidades

Autenticação e segurança

  • Autenicação e autorização com jwt.
    • testar
    • documentar
    • graphql (bônus)
  • Recuperação de senha.
    • testar
    • documentar
    • graphql (bônus)
  • Rate limit request.
    • testar
    • documentar
    • graphql (bônus)
  • Autenticação e autorização com firebase no backend.
    • testar
    • documentar
    • graphql (bônus)

Usuário

  • Troca de nome.
    • testar
    • documentar
    • graphql (bônus)
  • Recuperar informações sobre si.
    • testar
    • documentar
    • graphql (bônus)

Tarefas

  • Criar tarefa
    • testar
    • documentar
    • graphql (bônus)
  • Listar todas as tarefas
    • testar
    • documentar
    • graphql (bônus)
  • Pegar tarefa por id
    • testar
    • documentar
    • graphql (bônus)
  • Deletar tarefa por id
    • testar
    • documentar
    • graphql (bônus)
  • Filtar tarefa(s) por ordem de criação (mais recente, mais antiga).
    • testar
    • documentar
    • graphql (bônus)
  • Filtar tarefa(s) por progresso (andamento, concluida, finalizada, em atraso).
    • testar
    • documentar
    • graphql (bônus)

Mail (talvez com microserviço???)

  • Confirmação de cadastro.
  • Recuperação de senha.
  • Avisar que uma tarefa não foi concluída.

Contribuição

A contribuição somente é feita por membros do projeto e é recomendado que sigam os padrões de commits usando commits semânticos junto com emojis que representam aquele commit.

  • feat- Commits do tipo feat indicam que seu trecho de código está incluindo um novo recurso (se relaciona com o MINOR do versionamento semântico).

  • fix - Commits do tipo fix indicam que seu trecho de código commitado está solucionando um problema (bug fix), (se relaciona com o PATCH do versionamento semântico).

  • docs - Commits do tipo docs indicam que houveram mudanças na documentação, como por exemplo no Readme do seu repositório. (Não inclui alterações em código).

  • test - Commits do tipo test são utilizados quando são realizadas alterações em testes, seja criando, alterando ou excluindo testes unitários. (Não inclui alterações em código)

  • build - Commits do tipo build são utilizados quando são realizadas modificações em arquivos de build e dependências.

  • perf - Commits do tipo perf servem para identificar quaisquer alterações de código que estejam relacionadas a performance.

  • style - Commits do tipo style indicam que houveram alterações referentes a formatações de código, semicolons, trailing spaces, lint... (Não inclui alterações em código).

  • refactor - Commits do tipo refactor referem-se a mudanças devido a refatorações que não alterem sua funcionalidade, como por exemplo, uma alteração no formato como é processada determinada parte da tela, mas que manteve a mesma funcionalidade, ou melhorias de performance devido a um code review.

  • chore - Commits do tipo chore indicam atualizações de tarefas de build, configurações de administrador, pacotes... como por exemplo adicionar um pacote no gitignore. (Não inclui alterações em código)

  • ci - Commits do tipo ci indicam mudanças relacionadas a integração contínua (continuous integration).

Tipo de commit Emojis Palavra-chave
Acessibilidade :wheelchair:
Adicionando um teste :white_check_mark: test
Adicionando uma dependência :heavy_plus_sign: build
Alterações de revisão de código 👌 :ok_hand: style
Animações e transições 💫 :dizzy:
Bugfix 🐛 :bug: fix
Comentários 💡 :bulb: docs
Commit inicial 🎉 :tada: init
Configuração 🔧 :wrench: chore
Deploy 🚀 :rocket:
Documentação 📚 :books: docs
Em progresso 🚧 :construction:
Estilização de interface 💄 :lipstick: feat
Infraestrutura 🧱 :bricks: ci
Lista de ideias (tasks) 🔜 :soon:
Mover/Renomear 🚚 :truck: chore
Novo recurso :sparkles: feat
Package.json em JS 📦 :package: build
Performance :zap: perf
Refatoração ♻️ :recycle: refactor
Removendo um arquivo 🔥 :fire:
Removendo uma dependência :heavy_minus_sign: build
Responsividade 📱 :iphone:
Revertendo mudanças 💥 :boom: fix
Segurança 🔒️ :lock:
SEO 🔍️ :mag:
Tag de versão 🔖 :bookmark:
Teste de aprovação ✔️ :heavy_check_mark: test
Testes 🧪 :test_tube: test
Texto 📝 :pencil:
Tipagem 🏷️ :label:
Tratamento de erros 🥅 :goal_net:

💻 Exemplos

Comando git Resultado no GitHub
git commit -m ":tada: Commit inicial" 🎉 Commit inicial
git commit -m ":books: docs: Atualizaçao do README" 📚 docs: Atualizaçao do README
git commit -m ":bug: fix: Loop infinito na linha 50" 🐛 fix: Loop infinito na linha 50
git commit -m ":sparkles: feat: Pagina de login" ✨ feat: Pagina de login
git commit -m ":bricks: ci: Modificaçao no Dockerfile" 🧱 ci: Modificaçao no Dockerfile
git commit -m ":recycle: refactor: Passando para arrow functions" ♻️ refactor: Passando para arrow functions
git commit -m ":zap: perf: Melhoria no tempo de resposta" ⚡ perf: Melhoria no tempo de resposta
git commit -m ":boom: fix: Revertendo mudanças ineficientes" 💥 fix: Revertendo mudanças ineficientes
git commit -m ":lipstick: feat: Estilizaçao CSS do formulario" 💄 feat: Estilizaçao CSS do formulario
git commit -m ":test_tube: test: Criando novo teste" 🧪 test: Criando novo teste
git commit -m ":bulb: docs: Comentários sobre a função LoremIpsum( )" 💡 docs: Comentários sobre a função LoremIpsum( )

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.3%
  • Dockerfile 0.7%