/tsbank_api

API RESTful com autenticação de usuário, criptografia de senha e integração a banco de dados. Levando à risca os princípios de desenvolvimento utilizados.

Primary LanguageTypeScriptMIT LicenseMIT

⛰️ TSBANK API

License   Yarn version   Repository size   Pull request

🔍 Sobre o Projeto

A API TSBank é uma aplicação RESTful que oferece suporte a operações CRUD simples, gerenciamento e controle de transações, geração de extratos, saques, depósitos e transações entre contas, além de ter a capacidade de atualizar todas as informações do usuário.

🛠️ Tecnologias e Ferramentas Utilizadas

typescript nodejs postgresql jest   express   nodemon   dotenv   jsonwebtoken   cors   bcrypt   insomnia   beekeeper   swagger knex   docker

🏗 Estrutura e Arquitetura

O projeto segue os princípios da arquitetura limpa e leva em consideração os princípios do SOLID. O código foi organizado de acordo com os princípios de modularidade, reutilização e responsabilidade única.

🔏 Autenticação

Para usar a API, é necessário autenticar-se. Você deve obter um token JWT válido através do endpoint de login antes de acessar outros recursos. O token JWT deve ser incluído no cabeçalho de autorização de todas as solicitações subsequentes.

📃 Documentação da Aplicação

A seguir, temos o link da documentação oficial da nossa aplicação no Swagger:
https://tsbank-api.onrender.com/

obs: Pode ocorrer atraso no carregamento, pois se o UptimeRobot falhar, e, posteriormente, o deploy não for acessado por um certo período, uma requisição subsequente solicitará ao Render que a aplicação saia do "Modo Sleep".

🐳 Docker

Com a adição do Docker, você agora pode utilizar dos scripts fornecidos em package.json para poder construir a imagem docker e rodar os containers da aplicação e dos testes.

Para isso, segue a lista de funções de cada script:

docker-build: Constrói a imagem docker do projeto
docker-start: Sobe e roda/só roda o container tsbank_api
docker-stop: Para o container tsbank_api
docker-test: Sobe um container alternativo chamado tsbank_api_tests, roda os testes e exclui o container após a execução dos mesmos

🖋️ Contribuindo para a TSBank API

Agradecemos pelo seu interesse em contribuir para a TSBank API. Sua ajuda é valiosa para melhorar e expandir nossa aplicação. Abaixo estão as diretrizes e os passos para contribuir com nosso projeto.

💻 Como Contribuir

🌳 Forkando o Repositório

Antes de começar, você deverá forkar o repositório do projeto para seu perfil.

🖨 Clonando seu Repositório

Após o Fork, você precisará clonar o repositório forkado para seu ambiente de desenvolvimento local:

git clone https://github.com/{seu-usuario}/tsbank_api.git
cd tsbank_api

⏬ Instalando Dependências

Certifique-se de ter Node.js instalado no seu sistema. Em seguida, instale as dependências necessárias:

npm install

ou

yarn install

ou

pnpm install

🆕 Criando uma Branch

Antes de iniciar qualquer trabalho, crie uma branch separada para a sua contribuição. Use um nome descritivo para a sua branch:

git checkout -b feature/nova-funcionalidade

🔨 Fazendo Alterações

Faça as alterações necessárias no código, adicione novos recursos ou correções de bugs.

🧪 Testando

Garanta que suas alterações não quebraram nenhum recurso existente. Execute os testes e certifique-se de que todos passam:

npm run test

ou

yarn test

ou

pnpm test

📝 Documentando

Mantenha a documentação atualizada. Se você adicionou novos recursos, verifique se eles estão devidamente documentados no Swagger.

📊 Compromissos e Push

Após concluir suas alterações e testá-las, faça um commit das alterações:

git add .
git commit -m feat(nomeDoArquivo): Nova funcionalidade

Em seguida, envie suas alterações para o repositório:

git push origin feature/nova-funcionalidade

📨 Solicitando um Pull Request (PR)

Vá para o repositório no GitHub e crie um Pull Request para que sua contribuição seja revisada. Certifique-se de descrever suas alterações e fornecer informações contextuais.

👁 Revisão e Fusão

Após criar um Pull Request, nossa equipe revisará suas alterações e fornecerá feedback. Uma vez aprovado, suas alterações serão mescladas no projeto principal.

💼 Diretrizes Gerais

  • Mantenha o código limpo e legível.
  • Siga as boas práticas de desenvolvimento.
  • Respeite as convenções de nomenclatura existentes.
  • Documente adequadamente as alterações, recursos ou correções.

Agradecemos pela sua contribuição e esperamos trabalhar juntos para tornar a TSBank ainda melhor. Se você tiver alguma dúvida ou precisar de ajuda, não hesite em entrar em contato conosco. Juntos, podemos criar uma aplicação mais robusta e eficiente.