Inventory Management System – Using Python with MySQL Database and PySimpleGui

Posted by


Gerenciamento de estoque é uma atividade fundamental para qualquer empresa que lida com a venda de produtos físicos. Ter um controle adequado sobre o estoque pode ajudar a evitar perdas, garantir que os produtos certos estejam disponíveis quando necessário e aprimorar a gestão financeira da empresa.

Neste tutorial, vou mostrar como criar um sistema simples de gerenciamento de estoque usando Python, MySQL e PySimpleGui. O Python será usado para a lógica do aplicativo, o MySQL para armazenar os dados do estoque e o PySimpleGui para criar uma interface gráfica para o usuário interagir com o sistema.

Passo 1: Configuração do ambiente

Antes de começar, certifique-se de ter o Python e o MySQL instalados em seu computador. Você também precisará instalar a biblioteca PyMySQL para se conectar ao banco de dados MySQL e a biblioteca PySimpleGui para criar a interface gráfica do aplicativo.

Você pode instalar o PyMySQL e o PySimpleGui executando os seguintes comandos em seu terminal:

pip install PyMySQL
pip install PySimpleGui

Passo 2: Criando o banco de dados MySQL

Agora, vamos criar um banco de dados MySQL para armazenar os dados do estoque. Você pode fazer isso executando os seguintes comandos no terminal do MySQL:

CREATE DATABASE estoque;
USE estoque;
CREATE TABLE produtos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(255),
    quantidade INT,
    preco FLOAT
);

Isso criará um banco de dados chamado "estoque" com uma tabela chamada "produtos" que armazenará o nome, a quantidade e o preço de cada produto.

Passo 3: Criando o aplicativo de gerenciamento de estoque

Agora, vamos criar o aplicativo de gerenciamento de estoque em Python. Abaixo está o código para o aplicativo:

import PySimpleGUI as sg
import pymysql

# Conectando ao banco de dados
db = pymysql.connect("localhost", "usuario", "senha", "estoque")
cursor = db.cursor()

# Função para adicionar um novo produto ao estoque
def adicionar_produto(nome, quantidade, preco):
    sql = "INSERT INTO produtos (nome, quantidade, preco) VALUES (%s, %s, %s)"
    cursor.execute(sql, (nome, quantidade, preco))
    db.commit()

# Função para listar todos os produtos no estoque
def listar_produtos():
    cursor.execute("SELECT * FROM produtos")
    produtos = cursor.fetchall()
    return produtos

# Interface gráfica
sg.theme('DarkAmber')
layout = [
    [sg.Text('Nome do produto'), sg.InputText(key='nome')],
    [sg.Text('Quantidade'), sg.InputText(key='quantidade')],
    [sg.Text('Preço'), sg.InputText(key='preco')],
    [sg.Button('Adicionar produto')],
    [sg.Output(size=(50, 10))]
]

window = sg.Window('Gerenciamento de Estoque', layout)

while True:
    event, values = window.read()

    if event == sg.WIN_CLOSED:
        break

    if event == 'Adicionar produto':
        nome = values['nome']
        quantidade = int(values['quantidade'])
        preco = float(values['preco'])
        adicionar_produto(nome, quantidade, preco)
        window['nome'].update('')
        window['quantidade'].update('')
        window['preco'].update('')
        print(f'Produto {nome} adicionado ao estoque')

window.close()
cursor.close()
db.close()

Neste código, importamos as bibliotecas necessárias, conectamos ao banco de dados, definimos as funções para adicionar produtos e listar produtos, criamos a interface gráfica usando o PySimpleGui e, finalmente, iniciamos o loop principal do aplicativo.

Passo 4: Testando o aplicativo

Agora, você pode executar o aplicativo de gerenciamento de estoque e começar a adicionar produtos ao estoque. Basta executar o código Python em seu terminal e a interface gráfica será aberta.

Você pode adicionar um novo produto inserindo o nome, a quantidade e o preço do produto nos campos de entrada e clicando no botão "Adicionar produto". O produto será adicionado ao banco de dados e uma mensagem será exibida na tela confirmando o sucesso da operação.

Além disso, você pode modificar o código para adicionar mais funcionalidades, como editar ou excluir produtos do estoque, listar produtos com base em critérios específicos, entre outras opções.

Com este tutorial, você aprendeu como criar um sistema simples de gerenciamento de estoque usando Python, MySQL e PySimpleGui. Espero que este tutorial seja útil e inspire você a desenvolver soluagões mais avançadas para seu negágio.