Skip to content

API Rest utilizando TypeScript, Express, JSON Web Token e MySQL, para gerenciar uma loja de itens medievais.

Notifications You must be signed in to change notification settings

andre-usf/trybesmith-project

Repository files navigation

Projeto TrybeSmith

O Trybesmith é uma API RESTful em TypeScript para o gerenciamento de uma loja de itens medievais. A API possibilita criar e logar usuários e cadastrar e listar produtos e pedidos. A API foi desenvolvida seguindo a arquitetura em camadas MSC e utiliza o MySQL como banco de dados.

O projeto foi desenvolvido durante o módulo de back-end na Trybe.

Tecnologias e ferramentas utilizadas

NPM Docker NodeJS TypeScript Express.js MySQL JWT

Implementações

  • Desenvolvido com TypeScript;
  • Commits seguindo a prática de Conventional Commits;
  • Utilização do Docker para criar o ambiente de desenvolvimento;
  • Criação de endpoints utilizando o framework Express.JS e a aplicação do padrão REST;
  • Aplicação da arquitetura em camadas - model, service e controller;
  • Validações de campos de usuários, produtos e pedidos utilizando a biblioteca Joi;
  • Utilização do JSON Web Token para geração de token ao efetuar login e criar usuário;
  • Middleware para a autenticação do token do usuário para permitir acesso às rotas;
  • Conexão e gerenciamento do banco de dados com MySQL.

Instalação com Docker:

  1. Clone o repositório:
git clone git@github.com:andre-usf/trybesmith-project.git
  1. Entre no diretório criado:
cd trybesmith-project
  1. Inicie o docker compose:
docker-compose up -d
  1. Acesse o terminal dentro do container:
docker exec -it trybesmith bash
  1. Instale as dependências:
npm install
  1. Inicie a aplicação:
npm run restore && npm run dev

Instalação local (sem Docker):

Obs.: Para rodar a aplicação sem Docker, você deverá garantir acesso ao MySQL e configurar as variáveis de ambiente.


  1. Siga os passos 1 e 2 da seção anterior.
  2. Instale as dependências:
npm install
  1. Inicie a aplicação:
npm run restore && npm run dev

Sobre mim

Linkedin

About

API Rest utilizando TypeScript, Express, JSON Web Token e MySQL, para gerenciar uma loja de itens medievais.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published