Giter Site home page Giter Site logo

desenvolvendome_desafio-vaga's Introduction

Desafio Vaga

É um desafio proposto pelo mentor Marco Castro no qual temos como objetivo de preparar os mentorados aos habilidades basilares para o desenvolvedor junior.

Documentação da API

Authors routes (/authors/)

Retorna todos os autores

   GET /authors or GET /authors.json
Parâmetro Tipo Descrição
No parameters
  • Responses
Codes
200
  [
    {
      "id": 1,
      "name": "Domenico Losurdo",
      "created_at": "2016-08-29T09:12:33.001Z",
      "updated_at": "2016-08-29T09:12:33.001Z"
    },
    {
      "id": 2,
      "name": "Karl Marx",
      "created_at": "2016-08-29T09:12:33.001Z",
      "updated_at": "2016-08-29T09:12:33.001Z"
    }
  ]
Codes
400
  {
    "error": "bad input parameter" 
  }

Retorna um autor

  GET /authors/${id} or GET /authors/${id}.json
Parâmetro Tipo Descrição
id string Obrigatório. O ID do authors que você quer
  • Responses
Codes
200
   [
     {
       "id": 1,
       "name": "Domenico Losurdo",
       "created_at": "2016-08-29T09:12:33.001Z",
       "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Deletar um autor

  DELETE /authors/${id}
Parâmetro Tipo Descrição
id string Obrigatório. O ID do autor que você quer
  • Responses
Codes
200
   {
     "message": "Autor deletado com sucesso" 
   }
Codes
400
    {
      "error": "bad input parameter" 
    }

Criar um autor

  POST /authors or POST /authors.json
Parâmetro Tipo Descrição
No parameters
  • Request Body
      {
        "name": "Domenico Losurdo",
      }
    
  • Responses
Codes
200
   [
     {
       "id": 1,
       "name": "Domenico Losurdo",
       "created_at": "2016-08-29T09:12:33.001Z",
       "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Atualizar um autor

  PUT /authors/${id} or PUT /authors/${id}.json
Parâmetro Tipo Descrição
id string Obrigatório. O ID do livro que você quer
  • Request Body
      {
        "name": "Domenico Losurdo",
      }
    
  • Responses
Codes
200
   [
     {
       "id": 1,
       "name": "Domenico Losurdo",
       "created_at": "2016-08-29T09:12:33.001Z",
       "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Books routes (/books/)

Retorna todos os livros

   GET /books or GET /books.json
Parâmetro Tipo Descrição
No parameters
  • Responses
Codes
200
  [
    {
      "id": 1,
      "titulo": "Manifesto Comunista",
      "published_at": "2013-08-24T09:12:33.001Z",
      "author_id": 1,
      "created_at": "2016-08-29T09:12:33.001Z",
      "updated_at": "2016-08-29T09:12:33.001Z"
    },
    {
      "id": 2,
      "titulo": "O Estado e a Revolução",
      "published_at": "2012-05-24T09:12:33.001Z",
      "author_id": 3,
      "created_at": "2016-08-29T09:12:33.001Z",
      "updated_at": "2016-08-29T09:12:33.001Z"
    }
  ]
Codes
400
  {
    "error": "bad input parameter" 
  }

Retorna um livro

  GET /books/${id} or GET /books/${id}.json
Parâmetro Tipo Descrição
id string Obrigatório. O ID do livro que você quer
  • Responses
Codes
200
   [
     {
      "id": 1,
      "titulo": "Manifesto Comunista",
      "published_at": "2013-08-24T09:12:33.001Z",
      "author_id": 1,
      "created_at": "2016-08-29T09:12:33.001Z",
      "updated_at": "2016-08-29T09:12:33.001Z"
    }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Deletar um livro

  DELETE /books/${id}
Parâmetro Tipo Descrição
id string Obrigatório. O ID do livro que você quer
  • Responses
Codes
200
   {
     "message": "Livro deletado com sucesso" 
   }
Codes
400
    {
      "error": "bad input parameter" 
    }

Criar um livro

  POST /books or POST /books.json
Parâmetro Tipo Descrição
No parameters
  • Request Body
      {
        "titulo": "Contra-História do Liberalismo",
        "published_at": "2013-08-24T09:12:33.001Z",
        "author_id": 1
      }
    
  • Responses
Codes
200
   [
      {
        "id": 1,
        "titulo": "Manifesto Comunista",
        "published_at": "2013-08-24T09:12:33.001Z",
        "author_id": 1,
        "created_at": "2016-08-29T09:12:33.001Z",
        "updated_at": "2016-08-29T09:12:33.001Z"
      }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Atualizar um livro

  PUT /authors/${id} or PUT /authors/${id}.json
Parâmetro Tipo Descrição
id string Obrigatório. O ID do autor que você quer
  • Request Body
      {
        "titulo": "Contra-História do Liberalismo",
        "published_at": "2013-08-24T09:12:33.001Z",
        "author_id": 1
      }
    
  • Responses
Codes
200
   [
      {
        "id": 1,
        "titulo": "Manifesto Comunista",
        "published_at": "2013-08-24T09:12:33.001Z",
        "author_id": 1,
        "created_at": "2016-08-29T09:12:33.001Z",
        "updated_at": "2016-08-29T09:12:33.001Z"
      }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Accounts routes (/accounts/)

Retorna todos as contas

   GET /accounts or GET /accounts.json
Parâmetro Tipo Descrição
No parameters
  • Responses
Codes
200
  [
    {
      "id": 1,
      "account_number": "fisajhios564g56f6g5f4g5dfg54",
      "supplier_id": 1,
      "created_at": "2016-08-29T09:12:33.001Z",
      "updated_at": "2016-08-29T09:12:33.001Z"
    },
    {
      "id": 2,
      "account_number": "fisajhios564g56f6g5f4g5dfg74",
      "supplier_id": 3,
      "created_at": "2016-08-29T09:12:33.001Z",
      "updated_at": "2016-08-29T09:12:33.001Z"
    }
  ]
Codes
400
  {
    "error": "bad input parameter" 
  }

Retorna uma conta

  GET /accounts/${id} or GET /accounts/${id}.json
Parâmetro Tipo Descrição
id string Obrigatório. O ID da conta que você quer
  • Responses
Codes
200
   [
     {
        "id": 1,
        "account_number": "fisajhios564g56f6g5f4g5dfg54",
        "supplier_id": 1,
        "created_at": "2016-08-29T09:12:33.001Z",
        "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Deletar uma conta

  DELETE /accounts/${id}
Parâmetro Tipo Descrição
id string Obrigatório. O ID da conta que você quer
  • Responses
Codes
200
   {
     "message": "Conta deletada com sucesso" 
   }
Codes
400
    {
      "error": "bad input parameter" 
    }

Criar uma conta

  POST /accounts or POST /accounts.json
Parâmetro Tipo Descrição
No parameters
  • Request Body
      {
        "account_number": "a5d4f8a445d64fg56a4f564d",
        "supplier_id": 1
      }
    
  • Responses
Codes
200
   [
      {
        "id": 1,
        "account_number": "fisajhios564g56f6g5f4g5dfg54",
        "supplier_id": 1,
        "created_at": "2016-08-29T09:12:33.001Z",
        "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Atualizar uma conta

  PUT /accounts/${id} or PUT /accounts/${id}.json
Parâmetro Tipo Descrição
id string Obrigatório. O ID da conta que você quer
  • Request Body
      {
        "account_number": "a5d4f8a445d64fg56a4f564d",
        "supplier_id": 1
      }
    
  • Responses
Codes
200
   [
      {
        "id": 1,
        "account_number": "fisajhios564g56f6g5f4g5dfg54",
        "supplier_id": 1,
        "created_at": "2016-08-29T09:12:33.001Z",
        "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Accounts routes (/parts/)

Retorna todas as partes

   GET /parts or GET /parts.json
Parâmetro Tipo Descrição
No parameters
  • Responses
Codes
200
  [
    {
      "id": 1,
      "descricao": "Folhas com a gramatura 5mm",
      "name": "Folhas simples",
      "part_number": "fisajhios564g56f6g5f4g5dfg54",
      "supplier_id": 1,
      "created_at": "2016-08-29T09:12:33.001Z",
      "updated_at": "2016-08-29T09:12:33.001Z"
    },
    {
      "id": 2,
      "descricao": "Folhas com a gramatura 7.5mm",
      "name": "Folhas de destaque",
      "part_number": "fisajhios564g56f6g5f4g5dfg78",
      "supplier_id": 3,
      "created_at": "2016-08-29T09:12:33.001Z",
      "updated_at": "2016-08-29T09:12:33.001Z"
    }
  ]
Codes
400
  {
    "error": "bad input parameter" 
  }

Retorna uma parte

  GET /parts/${id} or GET /parts/${id}.json
Parâmetro Tipo Descrição
id string Obrigatório. O ID da parte que você quer
  • Responses
Codes
200
   [
     {
       "id": 1,
       "descricao": "Folhas com a gramatura 5mm",
       "name": "Folhas simples",
       "part_number": "fisajhios564g56f6g5f4g5dfg54",
       "supplier_id": 1,
       "created_at": "2016-08-29T09:12:33.001Z",
       "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Deletar uma conta

  DELETE /parts/${id}
Parâmetro Tipo Descrição
id string Obrigatório. O ID da parte que você quer
  • Responses
Codes
200
   {
     "message": "Parte deletada com sucesso" 
   }
Codes
400
    {
      "error": "bad input parameter" 
    }

Criar uma parte

  POST /parts or POST /parts.json
Parâmetro Tipo Descrição
No parameters
  • Request Body
      {
        "descricao": "Capa Dura preto e branco para livros baratos",
        "name": "Capa Dura preto e branco",
        "part_number": "s5a4fd56as4da54f54fasd",
        "supplier_id": 1
      }
    
  • Responses
Codes
200
   [
      {
         "id": 1,
         "descricao": "Capa Dura preto e branco para livros baratos",
         "name": "Capa Dura preto e branco",
         "part_number": "s5a4fd56as4da54f54fasd",
         "supplier_id": 1,
         "created_at": "2016-08-29T09:12:33.001Z",
         "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Atualizar uma parte

  PUT /parts/${id} or PUT /parts/${id}.json
Parâmetro Tipo Descrição
id string Obrigatório. O ID da parte que você quer
  • Request Body
      {
        "descricao": "Capa Dura preto e branco para livros baratos",
        "name": "Capa Dura preto e branco",
        "part_number": "s5a4fd56as4da54f54fasd",
        "supplier_id": 1
      }
    
  • Responses
Codes
200
   [
      {
        "id": 1,
        "descricao": "Capa Dura preto e branco para livros baratos",
        "name": "Capa Dura preto e branco",
        "part_number": "s5a4fd56as4da54f54fasd",
        "supplier_id": 1,
        "created_at": "2016-08-29T09:12:33.001Z",
        "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Assembly routes (/assemblies/)

Retorna todas as partes

   GET /assemblies or GET /assemblies.json
Parâmetro Tipo Descrição
No parameters
  • Responses
Codes
200
  [
    {
      "id": 1,
        "name": "Montagem do Manifesto Comunista",
        "book_id": 1,
        "created_at": "2016-08-29T09:12:33.001Z",
        "updated_at": "2016-08-29T09:12:33.001Z"
    },
    {
      "id": 2,
        "name": "Montagem do Manifesto Comunista",
        "book_id": 3,
        "created_at": "2016-08-29T09:12:33.001Z",
        "updated_at": "2016-08-29T09:12:33.001Z"
    }
  ]
Codes
400
  {
    "error": "bad input parameter" 
  }

Retorna uma montagem

  GET /assemblies/${id} or GET /assemblies/${id}.json
Parâmetro Tipo Descrição
id string Obrigatório. O ID da montagem que você quer
  • Responses
Codes
200
   [
     {
        "id": 1,
        "name": "Montagem do Manifesto Comunista",
        "book_id": 1,
        "created_at": "2016-08-29T09:12:33.001Z",
        "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Deletar uma montagem

  DELETE /assemblies/${id}
Parâmetro Tipo Descrição
id string Obrigatório. O ID da montagem que você quer
  • Responses
Codes
200
   {
     "message": "Montagem deletada com sucesso" 
   }
Codes
400
    {
      "error": "bad input parameter" 
    }

Criar uma montagem

  POST /assemblies or POST /assemblies.json
Parâmetro Tipo Descrição
No parameters
  • Request Body
      {
         "name": "Montagem do livro Contra-História do Liberalismo",
         "book_id": 2
      }
    
  • Responses
Codes
200
   [
      {
         "id": 2,
         "name": "Montagem do livro Contra-História do Liberalismo",
         "book_id": 2
         "created_at": "2016-08-29T09:12:33.001Z",
         "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Atualizar uma Montagem

  PUT /assemblies/${id} or PUT /assemblies/${id}.json
Parâmetro Tipo Descrição
id string Obrigatório. O ID da montagem que você quer
  • Request Body
      {
         "name": "Montagem do livro Contra-História do Liberalismo",
         "book_id": 2
      }
    
  • Responses
Codes
200
   [
      {
         "id": 2,
         "name": "Montagem do livro Contra-História do Liberalismo",
         "book_id": 2
         "created_at": "2016-08-29T09:12:33.001Z",
         "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Supplier routes (/suppliers/)

Retorna todas os fornecedores

   GET /suppliers or GET /suppliers.json
Parâmetro Tipo Descrição
No parameters
  • Responses
Codes
200
  [
    {
      "id": 1,
      "name": "Boitempo",
      "created_at": "2016-08-29T09:12:33.001Z",
      "updated_at": "2016-08-29T09:12:33.001Z"
    },
    {
      "id": 2,
      "name": "Amazon",
      "created_at": "2016-08-29T09:12:33.001Z",
      "updated_at": "2016-08-29T09:12:33.001Z"
    }
  ]
Codes
400
  {
    "error": "bad input parameter" 
  }

Retorna um fornecedor

  GET /suppliers/${id} or GET /suppliers/${id}.json
Parâmetro Tipo Descrição
id string Obrigatório. O ID do fornecedor que você quer
  • Responses
Codes
200
   [
     {
        "id": 2,
        "name": "Amazon",
        "created_at": "2016-08-29T09:12:33.001Z",
        "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Deletar um fornecedor

  DELETE /suppliers/${id}
Parâmetro Tipo Descrição
id string Obrigatório. O ID de um fornecedor que você quer
  • Responses
Codes
200
   {
     "message": "Fornecedor deletado com sucesso" 
   }
Codes
400
    {
      "error": "bad input parameter" 
    }

Criar um Fornecedor

  POST /suppliers or POST /suppliers.json
Parâmetro Tipo Descrição
No parameters
  • Request Body
      {
         "name": "Amazon"
      }
    
  • Responses
Codes
200
   [
      {
         "id": 2,
         "name": "Amazon",
         "created_at": "2016-08-29T09:12:33.001Z",
         "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

Atualizar um Fornecedor

  PUT /suppliers/${id} or PUT /suppliers/${id}.json
Parâmetro Tipo Descrição
id string Obrigatório. O ID do fornecedor que você quer
  • Request Body
      {
         "name": "Boitempo"
      }
    
  • Responses
Codes
200
   [
      {
         "id": 2,
         "name": "Boitempo",
         "created_at": "2016-08-29T09:12:33.001Z",
         "updated_at": "2016-08-29T09:12:33.001Z"
     }
   ]
Codes
400
    {
      "error": "bad input parameter" 
    }

desenvolvendome_desafio-vaga's People

Contributors

romuloro avatar

Watchers

 avatar

desenvolvendome_desafio-vaga's Issues

CRUD - Peças

Implement Parts in the project

  • Create Part
  • Read Part
  • Update Part
  • Delete Part
  • Linked Parts with Assemblies

CRUD - Fornecedor

Implement Suppliers in the project

  • Create suppliers

  • Read suppliers

  • Update suppliers

  • Delete suppliers

  • Linked Account with suppliers

CRUD - Conta

Implement Accounts in the project

  • Create Account
  • Read Account
  • Update Account
  • Delete Account

CRUD - Livros

Implement books in the project

  • Create books

  • Read books

  • Update books

  • Delete books

  • Linked Author with Books

CRUD - Autores

Implement authors in the project

  • Create authors
  • Read authors
  • Update authors
  • Delete authors

CRUD - Montagem

Implement Assemblies in the project

  • Create Assemblies
  • Read Assemblies
  • Update Assemblies
  • Delete Assemblies
  • Linked Assemblies with Parts thought Assemblies_Parts

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.