├── mercado.db ├── __pycache__ └── tools.cpython-37.pyc ├── clientes.py ├── README.md ├── produto.py ├── mercado.py └── tools.py /mercado.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fedevops/projetomercado/HEAD/mercado.db -------------------------------------------------------------------------------- /__pycache__/tools.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fedevops/projetomercado/HEAD/__pycache__/tools.cpython-37.pyc -------------------------------------------------------------------------------- /clientes.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | class Cliente: 4 | def __init__(self, nome=str, cpf=str): 5 | self.nome = nome 6 | self.cpf = cpf 7 | 8 | 9 | cliente1 = Cliente("Fulano de tal", "51488778787") 10 | print(cliente1.nome) 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Projeto de mercado 2 | Descrição: Neste projeto, cadastramos produtos, gerenciamos estoque, realizamos vendas 3 | 4 | Stack: Python3.9 e SQLite 5 | 6 | Módulos: 7 | 8 | Cadastro de Produto; 9 | Cadastro de Cliente; 10 | Venda; 11 | Estoque; -------------------------------------------------------------------------------- /produto.py: -------------------------------------------------------------------------------- 1 | 2 | from unicodedata import decimal 3 | 4 | 5 | class Produto: 6 | def __init__(self, nome=str, desc=str, preco=float): 7 | self.nome = nome 8 | self.desc = desc 9 | self.preco = preco 10 | 11 | produto1 = Produto("Playstation 5", "Console da Sony", 2500.45555) 12 | print(round(produto1.preco, 2)) -------------------------------------------------------------------------------- /mercado.py: -------------------------------------------------------------------------------- 1 | from tools import cadastra_cliente, cadastra_produto, cadastra_venda, alimenta_estoque 2 | 3 | print("============================================") 4 | print("========MERCADO DO FERNANDO=================") 5 | print("===========SEJA BEM VINDO===================") 6 | 7 | print("===========MENU=============================") 8 | print("===========DIGITE UMA OPÇÃO=================") 9 | 10 | def menu(): 11 | escolha = int(input(""" 12 | Para cadastrar cliente, digite: 1 13 | Para cadastrar produto, digite: 2 14 | Para consultar estoque, digite: 3 15 | Para alimentar estoque, digite: 4 16 | Para fazer uma venda, digite: 5 17 | Para sair do mercado, digite: 6 18 | para voltar ao menu, digite: 0 19 | 20 | Sua escolha: """)) 21 | return escolha 22 | 23 | escolha = menu() 24 | print(escolha) 25 | while escolha: 26 | 27 | if escolha == 1: 28 | print("Você escolheu cadastrar o cliente!") 29 | nome = str(input("Digite o nome do cliente: ")) 30 | cpf = str(input(f'Digite o numero do CPF do {nome}: ')) 31 | cadastra_cliente(nome, cpf) 32 | menu() 33 | 34 | if escolha == 2: 35 | pass 36 | if escolha == 3: 37 | pass 38 | 39 | if escolha == 4: 40 | pass 41 | 42 | if escolha == 5: 43 | pass 44 | 45 | if escolha == 6: 46 | break 47 | 48 | if escolha == 0: 49 | menu() 50 | print("Você escolheu sair, até logo!") 51 | 52 | else: 53 | print("Digite uma opção válida! ") 54 | 55 | escolha = int(input(""" 56 | Para cadastrar cliente, digite: 1 57 | Para cadastrar produto, digite: 2 58 | Para consultar estoque, digite: 3 59 | Para alimentar estoque, digite: 4 60 | Para fazer uma venda, digite: 5 61 | Para sair do mercado, digite: 6 62 | para voltar ao menu, digite: 0 63 | 64 | Sua escolha: """)) 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /tools.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | 3 | 4 | """ 5 | TODO 6 | - Dica da Geovanna: integrar tabelas de produtos e estoque 7 | - Dica da Ingrid: incluir chave primaria "email" em clientes 8 | - Atualizar estoque (update into estoque where (id)) 9 | 10 | """ 11 | 12 | 13 | def cadastra_produto(nome=str, desc=str, preco=float): 14 | connection = sqlite3.connect('mercado.db') 15 | cursor = connection.cursor() 16 | name = nome 17 | description = desc 18 | preco = preco 19 | try: 20 | cursor.execute(""" 21 | INSERT INTO produtos (nome, desc, preco) VALUES (?,?,?) 22 | """, (name, description, preco)) 23 | 24 | connection.commit() 25 | response = print("Seu produto foi cadastrado com sucesso") 26 | except sqlite3.IntegrityError: 27 | print("Produto não cadastrado") 28 | return False 29 | connection.close() 30 | 31 | return response 32 | 33 | 34 | 35 | def alimenta_estoque(produto=str, quantidade=int, preco=float): 36 | connection = sqlite3.connect("mercado.db") 37 | cursor = connection.cursor() 38 | nome_prod = produto 39 | qtde = quantidade 40 | valor = preco 41 | try: 42 | cursor.execute(""" 43 | INSERT INTO estoque(produto, quantidade, preco) VALUES (?, ?, ?)""", 44 | (nome_prod, qtde, valor) 45 | ) 46 | connection.commit() 47 | response = print("Seu estoque foi atualizado") 48 | except sqlite3.IntegrityError: 49 | response = print("Seu estoque não foi atualizado!") 50 | return False 51 | 52 | return response 53 | 54 | 55 | 56 | def cadastra_cliente(nome=str, cpf=str): 57 | connection = sqlite3.connect("mercado.db") 58 | cursor = connection.cursor() 59 | name = input("Qual o nome do cara: ") 60 | documento = cpf 61 | try: 62 | cursor.execute(""" 63 | INSERT INTO clientes (nome, cpf) VALUES (?, ?) """, (name, documento) 64 | ) 65 | connection.commit() 66 | response = print("Cliente cadastrado com sucesso!") 67 | except sqlite3.IntegrityError: 68 | print("Cliente não cadastrado!") 69 | return False 70 | connection.close() 71 | 72 | return response 73 | 74 | def cadastra_venda(date=str, cliente=str, produto=str, valor=float, qtde=int, total=float): 75 | connection = sqlite3.connect("mercado.db") 76 | cursor = connection.cursor() 77 | data = date 78 | nome = cliente 79 | prod = produto 80 | preco = valor 81 | quant = qtde 82 | total_venda = total 83 | try: 84 | cursor.execute(""" 85 | INSERT INTO vendas(date, cliente, produto, valor, qtde, total) 86 | VALUES (?, ?, ?, ?, ?, ?)""", (data, nome, prod, preco, quant, total_venda )) 87 | connection.commit() 88 | resposta = print("Sua venda foi registrada!") 89 | except sqlite3.IntegrityError: 90 | resposta = print("Sua venda não foi registrada!") 91 | return False 92 | 93 | connection.close() 94 | 95 | return resposta --------------------------------------------------------------------------------