API desenvolvida visando o desafio proposto para desenvolvedor Ruby pleno.
A API consiste no relacionamento entre dados de
- Usuário
- Serviço
- Order
// Users
GET /users //Retorna a lista de usuários
GET /users/:id //Retorna um usuário
POST /users //Cria um novo usuário
PUT /users/:id //Atualiza as informações do usuário
DELETE /users/:id //Remove um usuário
// Users
GET /servicos //Retorna a lista de serviços
GET /servicos/:id //Retorna um serviço
POST /servicos //Cria um novo serviço
PUT /servicos/:id //Atualiza as informações do serviço
DELETE /servicos/:id //Remove um serviço
// Users
GET /orders //Retorna a lista de orders
GET /user_orders/:id //Retorna as orders do usuário 'logado'
POST /orders //Cria uma nova order
DELETE /orders/:id //Remove uma order
- Baixe o projeto utilizando o seguinte comando:
git clone https://github.com/devcastrojunin/pet-anjo-api.git
-
Instalar o mongoDB: Instale o mongoDB através dos links de referência abaixo e execute a conexão:
-
Acesse a raiz do projeto e instale as gems:
bundle install
- Verifique no diretório
config/mongoid.yml
e veja se as configurações de conexão do mongo estão de acordo. - Rode o comando
rails db:seed
para popular a base com alguns usuários e serviços iniciais. - Execute a aplicação com o comando
rails s
Os testes da aplicação foram realizados utilizando RSpec para teste das models e RSpec + Rswag para testes das controllers integrada a documentação no swagger.
Para rodar os testes execute na raiz do comando: rspec
Para escrita da documentação da API foi utilizada a gem Rswag. Essa gem integra o RSpec com o swagger. Para visualizar a documentação do projeto, após a aplicação rodando acesse: http://localhost:3000/api-docs
Observação: Também estou disponibilizando a collection do postman. O arquivo Pet Anjo Checkout.postman_collection.json
está na raiz do projeto.