API do meu portfolio de projetos pessoais
https://app.swaggerhub.com/apis-docs/JoaoSCoelho/Portfolio/1.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
- 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
-
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 palavraTEST
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.
- ❕ PARA QUEM ESTÁ USANDO O MONGODB ATLAS: Nas variáveis que for necessário o
-
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
🚧 Em construção... 🚧
- Testes unitários
- Testes funcionais
- Rotas
- Help
- Create project
- Get projects
- Create technology
- Get technologies
- Criar snippets
Muitos conceitos de Clean Architecture e S.O.L.I.D foram aplicados nessa aplicação
Node.JS | TypeScript | Express | MongoDB | Jest | Swagger
- 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