Skip to content

dihegomartins/ruby-supply-api

Repository files navigation

💎 Ruby Supply API

Uma API REST robusta e modular desenvolvida em Ruby on Rails para gerenciamento de cadeia de suprimentos (Supply Chain), controle de estoque e relacionamento de produtos com categorias e fornecedores.

O projeto simula um cenário real de mercado, preparado para o processamento de entradas de estoque (como notas fiscais eletrônicas) e integração com tabelas nativas e legadas no banco de dados.


🚀 Tecnologias Utilizadas

  • Ruby 4.0.0
  • Ruby on Rails 8.1.3
  • PostgreSQL (Banco de dados relacional)
  • Jbuilder (Mapeamento e customização de respostas JSON)

📐 Arquitetura do Banco de Dados

O sistema conta com um modelo relacional que conecta produtos a categorias e fornecedores:

  • Categoria (categoria): Gerenciada por convenções e inflections customizadas em português.
  • Fornecedor (fornecedores): Tabela integrada diretamente a partir de uma estrutura legada via SQL puro no PostgreSQL.
  • Produto (produtos): Tabela central que unifica os relacionamentos através de chaves estrangeiras (categoria_id e fornecedor_id).

🔌 Endpoints da API

Produtos

  • GET /produtos.json - Lista todos os produtos com seus respectivos blocos de Categoria e Fornecedor aninhados.
  • POST /produtos.json - Cadastra um novo produto no estoque (Camada protegida por Strong Parameters).

Exemplo de Payload (POST):

{
  "nome": "Cachaça Velho Barreiro Tradicional",
  "quantidade": 50,
  "preco": "15.90",
  "categoria_id": 1,
  "fornecedor_id": 1
}

🛠️ Como Executar o Projeto Localmente

  1. Clonar o repositório:
    git clone [https://github.com/dihegomartins/ruby-supply-api.git](https://github.com/dihegomartins/ruby-supply-api.git)
    cd ruby-supply-api
  2. Instalar as dependências (incluindo correções de ambiente para o Ruby 4.0):
    bundle install
  3. Configurar o Banco de Dados (config/database.yml): Certifique-se de que o seu serviço do PostgreSQL está ativo e configurado com as credenciais corretas da sua máquina.
  4. Rodar as migrações:
    rails db:migrate
  5. Iniciar o servidor do Rails:
    rails server

About

🚀 API REST em Ruby on Rails para gerenciamento de produtos, categorias e fornecedores em cenários reais de logística.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors