Este projeto contém os requisitos realizados por Anna Beatriz Garcia Trajano de Sá enquanto estudava na Trybe 🚀
Neste projeto, desenvolvi uma loja de itens medievais, no formato de uma API, utilizando TypeScript!
Para isso, foi necessário implementar todas as camadas da aplicação (Models, Service e Controllers), em que foi possível realizar as operações em um determinado banco de dados: Criação, Leitura, Atualização e Exclusão (CRUD).
Além disso, criei alguns endpoints que iriam ler e escrever em um banco de dados, utilizando o MySQL.
TrybeSmith |
---|
Após cada um dos passos, haverá um exemplo do comando a ser digitado para fazer o que está sendo pedido, caso tenha dificuldades e o exemplo não seja suficiente, não hesite em me contatar em annagarcia@id.uff.br
- Abra o terminal e crie um diretório no local de sua preferência com o comando mkdir:
mkdir projetos
- Entre no diretório que acabou de criar e depois clone o projeto:
cd projetos
git clone git@github.com:annabia95/project-trybesmith.git
- Acesse o diretório do projeto e depois utilize o comando npm i para instalar todas as dependências necessárias:
cd project-trybesmith
npm i
-
✨ Dica: Caso queira utilizar Docker para rodar os testes localmente e validar as funcionalidades, basta seguir as seguintes instruções:
⚠️ Antes de começar, seu docker-compose precisa estar na versão 1.29 ou superior. Veja aqui ou na documentação como instalá-lo. No primeiro artigo, você pode substituir onde está com1.26.0
por1.29.2
.Rode os serviços
node
edb
com o comandodocker-compose up -d
.- Lembre-se de parar o
mysql
se estiver usando localmente na porta padrão (3306
), ou adapte, caso queria fazer uso da aplicação em containers - Esses serviços irão inicializar um container chamado
trybesmith
e outro chamadotrybesmith_db
. - A partir daqui você pode rodar o container
trybesmith
via CLI ou abri-lo no VS Code.
Use o comando
docker exec -it trybesmith bash
.- Ele te dará acesso ao terminal interativo do container criado pelo compose, que está rodando em segundo plano.
Instale as dependências [Caso existam] com
npm install
⚠ Atenção ⚠ Caso opte por utilizar o Docker, TODOS os comandos disponíveis no
package.json
(npm start, npm test, npm run dev, ...) devem ser executados DENTRO do container, ou seja, no terminal que aparece após a execução do comandodocker exec
citado acima.⚠ Atenção ⚠ O git dentro do container não vem configurado com suas credenciais. Ou faça os commits fora do container, ou configure as suas credenciais do git dentro do container.
⚠ Atenção ⚠ Não rode o comando npm audit fix! Ele atualiza várias dependências do projeto, e essa atualização gera conflitos com o avaliador.
- Lembre-se de parar o
Neste projeto, desenvolvi as seguintes habilidades:
- Declarar variáveis e funções com tipagens TypeScript;
- Construir uma API Node Express utilizando o TypeScript.
Documentação Oficial - TypeScript
Documentação Oficial - Express
Node.js and TypeScript Tutorial: Build a CRUD API | auth0
Joi - powerful schema description language and data validator for JavaScript
JWT
Conventional Commits