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.
- Ruby 4.0.0
- Ruby on Rails 8.1.3
- PostgreSQL (Banco de dados relacional)
- Jbuilder (Mapeamento e customização de respostas JSON)
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_idefornecedor_id).
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).
{
"nome": "Cachaça Velho Barreiro Tradicional",
"quantidade": 50,
"preco": "15.90",
"categoria_id": 1,
"fornecedor_id": 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 - Instalar as dependências (incluindo correções de ambiente para o Ruby 4.0):
bundle install
- 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.
- Rodar as migrações:
rails db:migrate
- Iniciar o servidor do Rails:
rails server