Giter Site home page Giter Site logo

baku01 / estoque_on_rails Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 57 KB

Este é um sistema simples de gerenciamento de estoque desenvolvido usando Ruby on Rails. Ele permite que empresas controlem eficientemente suas entradas, saídas e requisições de produtos, oferecendo uma solução completa para o monitoramento e controle de inventário.

Dockerfile 2.07% Ruby 88.67% JavaScript 1.41% SCSS 0.64% CSS 0.79% HTML 6.21% Shell 0.21%

estoque_on_rails's Introduction

Estoque On Rails 🛤️

O projeto "Estoque On Rails" é uma aplicação Ruby on Rails que visa gerenciar o estoque de uma empresa, permitindo o registro de entradas, saídas e requisições de produtos, além de possibilitar o controle de usuários com diferentes níveis de permissão.

Modelos

Entrada 📦

  • Associations: 🔄

    • Pertence a um estoque.
    • belongs_to :estoque
    class Entrada < ApplicationRecord
      belongs_to :estoque
  • Validations:

    • Garante a presença de diversos atributos, como data, documento, número, quantidade, preço unitário, preço total e estoque.
    validates :data, :documento, :numero, :quantidade, :preco_unitario, :preco_total, :estoque, presence: true
  • Callbacks: 🎛️

    • Após a criação de uma entrada, atualiza o preço total e realiza cálculos relacionados ao estoque.
    after_create :after_create_entrada
  • Métodos Privados: 🔒

    • Define métodos privados para os callbacks e para definir os atributos ransackáveis.
    private
    
    def after_create_entrada
      # Cálculos e atualizações relacionados ao estoque
    end
    
    def self.ransackable_attributes(auth_object = nil)
      %w[codigo conta_contabil created_at custo_medio custo_total descricao estoque_maximo estoque_minimo estoque_reposicao estoque_saldo grupo_id id id_value localizacao perecivel status tipo unidade updated_at numero]
    end

Estoque 📦

  • Associations: 🔄

    • Pertence a um grupo.
    • Tem muitas entradas e requisições.
    class Estoque < ApplicationRecord
      belongs_to :grupo
      has_many :entradas
      has_many :requisicao
  • Validations:

    • Garante a presença de diversos atributos, como tipo, descrição, unidade, estoque mínimo, estoque máximo, estoque de reposição e grupo.
    validates :tipo, :descricao, :unidade, :estoque_minimo, :estoque_maximo, :estoque_reposicao, :status, :grupo, presence: true
  • Callbacks: 🎛️

    • Não foram definidos callbacks para o modelo Estoque.
  • Métodos Privados: 🔒

    • Define métodos privados para os atributos ransackáveis.
    def self.ransackable_attributes(auth_object = nil)
      %w[codigo conta_contabil created_at custo_medio custo_total descricao estoque_maximo estoque_minimo estoque_reposicao estoque_saldo grupo_id id id_value localizacao perecivel status tipo unidade updated_at]
    end

Grupo 📦

  • Associations: 🔄

    • Tem muitos estoques.
    class Grupo < ApplicationRecord
      has_many :estoques
  • Validations:

    • Garante a presença do nome e status do grupo.
    validates :nome, :status, presence: true
  • Callbacks: 🎛️

    • Não foram definidos callbacks para o modelo Grupo.
  • Métodos Privados: 🔒

    • Define métodos privados para os atributos ransackáveis.
    def self.ransackable_attributes(auth_object = nil)
      %w[created_at id id_value nome status updated_at]
    end

Requisicao 📦

  • Associations: 🔄

    • Pertence a um estoque.
    class Requisicao < ApplicationRecord
      belongs_to :estoque
  • Validations:

    • Garante a presença de diversos atributos, como tipo, data, número, setor e estoque.
    validates :tipo, :data, :numero, :setor, :estoque, presence: true
  • Callbacks: 🎛️

    • Após a criação de uma requisição, atualiza o estoque relacionado conforme o tipo de requisição.
    after_create :after_create_requisicao
  • Métodos Privados: 🔒

    • Define métodos privados para os callbacks e para os atributos ransackáveis.
    private
    
    def after_create_requisicao
      # Lógica para atualização do estoque
    end
    
    def self.ransackable_attributes(auth_object = nil)
      %w[created_at custo_medio custo_total data estoque_id id id_value numero observacoes quantidade setor tipo updated_at]
    end

Docker 🐳

O projeto utiliza Docker para facilitar o ambiente de desenvolvimento e garantir a consistência entre diferentes sistemas.

  1. Certifique-se de ter o Docker instalado em sua máquina. Você pode encontrar instruções de instalação no site oficial do Docker.

  2. Clone o repositório do projeto para o seu ambiente local:

    git clone https://github.com/baku01/Estoque_On_Rails
  3. Navegue até o diretório raiz do projeto:

    cd Estoque_On_Rails/service/db
  4. Crie um arquivo .env com as variáveis de ambiente necessárias para o projeto. Por exemplo, você pode definir as credenciais do banco de dados neste arquivo.

  5. Inicialize os containers do Docker usando o Docker Compose:

    docker-compose up

Isso irá construir e iniciar os containers necessários para o projeto, incluindo o banco de dados PostgreSQL.

  1. Acesse a aplicação em seu navegador web através do endereço http://localhost:3000.

Com essas etapas, você terá o projeto "Estoque On Rails" em execução no ambiente Dockerizado.

Observação

Certifique-se de verificar o arquivo docker-compose.yml e ajustar as configurações conforme necessário para o seu ambiente, como as variáveis de ambiente para o banco de dados e outras dependências.

Gemas 💎

O projeto faz uso das seguintes gemas:

  • devise: Utilizada para autenticação de usuários.
  • faker: Utilizada para gerar dados fictícios para testes e desenvolvimento.
  • cancancan: Utilizada para controle de autorização baseado em papéis.
  • activeadmin: Utilizada para administração do sistema.
  • sassc-rails: Utilizada para compilar arquivos Sass para CSS.

Projeto 🚀

O projeto "Estoque On Rails" visa fornecer uma solução completa para o gerenciamento de estoque, permitindo que empresas controlem suas entradas, saídas e requisições de produtos de forma eficiente. A aplicação oferece uma interface amigável para os usuários realizarem suas operações, além de garantir segurança e controle de acesso através do sistema de autenticação fornecido pelo Devise.

Para executar o projeto localmente, certifique-se de ter o ambiente configurado corretamente e siga as instruções contidas na documentação do Rails para inicializar o servidor.

estoque_on_rails's People

Contributors

baku01 avatar

Watchers

 avatar

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.