Giter Site home page Giter Site logo

desafio-auto-trybe-back's Introduction

Bem-vindos ao Auto Trybe Backend

Contexto


Esse projeto foi desenvolvido para uma vaga de backend na empresa XYZ Automóveis.

A proposta era desenvolver uma aplicação backend para uma concessionária de automóveis, abrangindo carros, motos e caminhões.

Poucos detalhes foram dados sobre a forma para abordar o projeto. As únicas informações fornecidas foram os campos minimos que a aplicação deveria abordar, sendo elas:

Tipo Marca Model Versão Ano Quilometragem
string string string string Number Number


Como instalar

Pre-requisitos para rodar o projeto:

  • mongoDB
  • NPM

Copie o ssh do projeto [email protected]:pauloricardoz/desafio-auto-trybe-back.git

  • Abra um terminal no seu computador e utilize os comandos a baixo na ordem que são apresentados:

    • git clone [email protected]:pauloricardoz/desafio-auto-trybe-back.git
    • cd desafio-auto-trybe-back
    • npm install
    • npm start

    A aplicação está configurada para rodar na porta local 3000. Caso deseje utilizar outra porta utilize o arquivo .env.example para trocar para a porta desejada. Após a alteração renomeie o arquivo para .env


Modo de utilização

A API consta com 2 rotas:

  • / => caso alguém acesse via brower [GET]
  • /cars => Para as demais funcionalidades
    • / [GET] Pegar todas os carros cadastrados
    • /properties [POST] Filtra carros pelas properties passadas no body da requisição
    • / [POST] Insere um novo carro
    • / [PUT] Edita dados de um carro já cadastrado no banco
    • / [DELETE] Deleta um carro cadastrado no banco

Modo de desenvolvimento


O projeto foi desenvolvido utilizando TDD, inicialmente com testes unitários, e posteriormente foi implementado um teste de integração.

Tecnologias


Foi utilizado para o desenvolvimento desse projeto o NodeJS com Express para a criação básica, Mocha/Chai para a criação dos teste unitários e de integração.


Dados

Segue abaixo os atributos de um automóvel utilizados, os tipos de dados de cada um e a forma que foram armazenados no banco:

cobertura de testes unitários

Banco de dados

O banco escolhido para a aplicação foi Mongodb, pela agilidade no desenvolvimento, facilidade de adição de novas informações sem necessitar re-estruturar toda a estrutura e pela robustes para lidar com grande volume de requisições.


Cobertura de teste

A atual cobertura de testes é de:

  • 98% das linhas;

cobertura de testes unitários


Próximos passos

  • Implementação do Swagger para documentação da API
  • Implementação de Token de acesso
  • Deplay no Heroku
  • Implementação de transmissão de dados in real time através do SocketIO

Contatos

Paulo Ricardo Zambelli (Zambs)

LinkedIn /in/paulo-ricardo-zambelli-taveira


Email: [email protected]
LinkedIn

desafio-auto-trybe-back's People

Contributors

pauloricardoz 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.