JoaoSCoelho / portfolio-backend

Rest API do meu portfolio pessoal de projetos

Home Page:https://portfolio-backend-v82v.onrender.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

portfolio-backend

API do meu portfolio de projetos pessoais

Tabela de conteúdos

Documentação

https://app.swaggerhub.com/apis-docs/JoaoSCoelho/Portfolio/1.0.0

Instalação

  1. Você precisa do Git e do Node.JS instalados na sua máquina (recomendo Node >=18.0.0).
# Clone este repositório
$ git clone <https://github.com/JoaoSCoelho/portfolio-backend>

# Acesse a pasta do projeto no terminal/cmd
$ cd portfolio-backend

# Instale as dependências
$ npm install
  1. Você precisa ter um servidor mongodb rodando, para isso você pode usar o MongoDB Atlas, para isso bastar seguir os passos em Usando MongoDB Atlas, ou rodar um servidor mongodb localmente na sua máquina: passo a passo para isso em Rodando MongoDB localmente

Como rodar

  1. Crie um arquivo chamado .env na raíz do projeto conforme o padrão em .env.example e defina suas variáveis de ambiente. (variáveis que começem com a palavra TEST só são necessárias se for rodar o comando de testes)

    • PARA QUEM ESTÁ USANDO O MONGODB ATLAS: Nas variáveis que for necessário o MONGO_URI, lembre-se de substituir <password> pela senha do database.
  2. Na pasta raíz do projeto, execute:

# Para rodar o servidor em modo de desenvolvimento, com re-run automático quando arquivos forem alterados
$ npm run dev

# Para criar uma build do projeto em JavaScript
$ npm run build

# Para executar a build do projeto
$ npm run start

# Para executar os testes unitários
$ npm run test:unit

# Para executar os testes funcionais
$ npm run test:e2e

# Para executar os testes do banco de dados
$ npm run test:db

# Para rodar todos os testes (exceto banco de dados)
$ npm run test:all

Agora você já pode acessar: http://localhost:{ENV.PORT}

Você pode usar algum programa para testar as requisições, como por exemplo o Insômnia.

Insômnia collection - Coleção de requisições da API no Insômnia

Status

🚧 Em construção... 🚧

Features

  • Testes unitários
  • Testes funcionais
  • Rotas
    • Help
    • Create project
    • Get projects
    • Create technology
    • Get technologies
  • Criar snippets

Licença

MIT

Tecnologias utilizadas

Muitos conceitos de Clean Architecture e S.O.L.I.D foram aplicados nessa aplicação

Node logo TypeScript logo Express logo MongoDB logo Jest logo Swagger

Node.JS | TypeScript | Express | MongoDB | Jest | Swagger

Para devs

  • Sempre fique atento ao número da versão no package.json
  • Lembre-se de atualizar a função normalizeDatabase() sempre que atualizar alguma entidade
  • Sempre que adicionar novas rotas, lembre-se de atualizar o arquivo Insômnia collection

About

Rest API do meu portfolio pessoal de projetos

https://portfolio-backend-v82v.onrender.com

License:MIT License


Languages

Language:TypeScript 99.8%Language:JavaScript 0.2%