Skip to content

fabianoleittes/mob2con-challenge

Repository files navigation

Mob2ConLabs API

Tests & Linters Maintainability

🚧 Mob2ConLabs API em construção 🚀 🚧

SobreFuncionalidadesComo executarTecnologiasAutorLicença

💻 Sobre o projeto

Mob2ConLabs - é um API Restful feita como teste para a vaga de backend engineer.


⚙️ Funcionalidades

  • RESTful API

  • JSON Schema implementation

  • RSpec testing

  • Setup scripts

  • Usage of http methods/verbs

  • Structured endpoints

  • Return appropriate status code

  • JWT Token Based Authentication

  • API versioning

  • API subdomain

  • O administrador pode gerenciar Redes Varejistas (crud) para dar entrada em novos clientes.

  • O administrador pode pesquisar redes varejistas pelo nome para ter acesso as informações.

  • O administrador pode gerenciar visiantes (crud) de cada rede para que mais pessoas utilizem o sistema.

  • O administrador pode enviar fotos dos visitantes para identificá-los.

  • O administrador pode pesquisar visitantes por nome para ter acesso as informações.

  • Usuário da rede pode se deslogar no sistema.

  • Usuário da rede pode fazer login

  • Usuário da rede pode registrar entradas e saidas de visitantes.

  • Usuário externo, não autenticado, pode ver o número total de redes e seus visitantes.


🚀 Como executar o projeto

Este projeto é uma API Restful:

  1. Backend

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: docker e docker compose

🎲 Rodando a API (servidor)

# Clone este repositório
$ git clone https://github.com/fabianoleittes/mob2con-challenge.git

# Acesse a pasta do projeto no terminal/cmd
$ cd mob2con-challenge

# Instalando as dependências e Execute a aplicação em modo de desenvolvimento
$ docker-compose up --build
# O servidor inciará na porta:3000 - acesse http://api.dev.local:3000

# Rodando dos testes
$ docker-compose run --rm api bundle exec rspec

# Criando simples dados para ambiente de development
$ docker-compose run --rm api bundle exec rake dev:prime

Endpoints

Login

URL / ENDPOINT VERB DESCRIPTION
/v1/signup POST Create user
/v1/auth/login POST Generate token

Retail Chains

URL / ENDPOINT VERB DESCRIPTION
/v1/admin/retail_chains POST Create Retail Chains
/v1/admin/retail_chains GET Return all Retail Chains
/v1/admin/retail_chains/:id PUT Update Retail Chain
/v1/admin/retail_chains/:id GET Show Retail Chain
/v1/admin/retail_chains/:id DELETE Destroy Retail Chains

Visitors

URL / ENDPOINT VERB DESCRIPTION
/v1/admin/retail_chains/:id/visitors POST Create Visitor
/v1/admin/retail_chains/:id/visitors GET Return all Visitors
/v1/admin/retail_chains/:id/visitors:id PUT Update Visitor
/v1/admin/retail_chains/:id/visitors/:id GET Show Visitor
/v1/admin/retail_chains/:id/visitors/:id DELETE Destroy Visitor

Visits

URL / ENDPOINT VERB DESCRIPTION
/v1/visitors/:id/visits POST Create Visits
/v1/visitors/:id/visits GET Return all Visits

Summaries

URL / ENDPOINT VERB DESCRIPTION
/v1/retail_chains/summaries GET Retail Chain summaries

Run in Insomnia


🛠 Tecnologias

As seguintes ferramentas foram usadas na construção do projeto:

Veja o arquivo Gemfile

Utilitários


Autor


Fabiano Leite

Twitter Badge Linkedin Badge


📝 Licença

Este projeto esta sobe a licença MIT.

Feito com ❤️ por Fabiano Leite 👋🏽 Entre em contato!