Sobre • Funcionalidades • Como executar • Tecnologias • Autor • Licença
Mob2ConLabs - é um API Restful feita como teste para a vaga de backend engineer.
-
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.
Este projeto é uma API Restful:
- Backend
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: docker e docker compose
# 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
URL / ENDPOINT | VERB | DESCRIPTION |
---|---|---|
/v1/signup | POST | Create user |
/v1/auth/login | POST | Generate token |
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 |
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 |
URL / ENDPOINT | VERB | DESCRIPTION |
---|---|---|
/v1/visitors/:id/visits | POST | Create Visits |
/v1/visitors/:id/visits | GET | Return all Visits |
URL / ENDPOINT | VERB | DESCRIPTION |
---|---|---|
/v1/retail_chains/summaries | GET | Retail Chain summaries |
As seguintes ferramentas foram usadas na construção do projeto:
API (Ruby on Rails + PostgreSQL)
Veja o arquivo Gemfile
Fabiano Leite
Este projeto esta sobe a licença MIT.
Feito com ❤️ por Fabiano Leite 👋🏽 Entre em contato!