Coder Social home page Coder Social logo

api-rest-teamsoft's Introduction

API REST - TEAM SOFT

Backend em NodeJs para criar as operações básicas de Cadastro, Leitura, Alteração e Remoção de Clientes com endereço. Construir 2 entidades separadas, um cliente pode ter mais de um endereço, em uma API REST;

Executando o projeto

Abaixo seguem as instruções para executar o projeto na sua máquina.

Comece clonando o repositório e instalando suas dependências:

git clone https://github.com/Iann-rst/api-rest-teamsoft.git
cd api-rest-teamsoft
npm install

Banco de dados MySQL

Foi utilizado o banco de dados mysql e recomendo o uso do Docker para executar o banco de dados na sua máquina.

Você pode instalar o Docker seguindo a documentação oficial

Após instalar o Docker, deve configurar a variável de ambiente DATABASE_URL, subir o serviço do banco de dados e então subir o servidor HTTP.

# Copiar o arquivo com os dados de conexão e variáveis ambiente
cp .env.example .env

# Subir o serviço do Banco MySQL via docker
docker compose up -d
# ou
docker-compose up -d

# Subir o servidor HTTP
npm run start:dev

OBS: Possa ser que demore alguns minutos para o container do docker ficar pronto para uso na primeira vez (ele irá baixar a imagem mysql, configurar root e database). Enquanto ele não estiver pronto, ao tentar executar o comando abaixo, irá gerar um erro de conexão recusada.

# Em outro terminal, aberto na pasta da API, execute o comando para executar as migrations: Criação das tabelas e do relacionamento entre elas.
npx prisma migrate dev

Estrutura da API

Para entender melhor sobre os scripts e funcionamento da API você tem algumas opções:

  • Swagger: Você pode acessar a documentação da API, basta acessar a rota /api-docs;
  • Beekeeper: Para visualização dos dados no banco de dados;
  • Prisma Studio: Caso prefira outra forma de visualizar os dados do banco de dados, basta acessar a pasta da API pelo terminal e executar o comando npx prisma studio. Dessa forma, você vai conseguir ver as tabelas e registros na url http://localhost:5555/;
  • Insomnia: Caso queira interagir com a API, você pode utilizar um API Rest Client como o Insomnia;
  • Teste Unitários: Para executar os testes unitários, basta executar o comando npm run test no terminal;
  • Coverage Testes Unitários: Para visualizar o coverage dos testes unitários, basta executar o comando npm run test:coverage;
  • Vitest UI: A ferramenta de testes Vitest, permite visualizar os teste e interagir com os mesmos via interface do usuário. Basta executar no terminal o comando: npm run test:ui;

api-rest-teamsoft's People

Contributors

iann-rst avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.