Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

UNIVERSIDADE ESTÁCIO DE SÁ 
 Analise e Desenvolvimento de Sistema
 TRABALHO FINAL DE DESENVOLVIMENTO RAPIDO DE APLIÇÃOES EM PYTHON 
 Professor 
 Lazaro Oliveira 
 Alunos: Matrícula 
 Nome: David Santos da Silva 202309666081
 Nome: John Pablo Dino Ferreira de Jesus 202309067846 
 Nome: Lucas Ramos do Nascimento 202308294636
1) TEMA DO PROJETO:
 FAST AÇAÍ 
2) NOME DOS ALUNOS INTEGRANTES:
a) David Santos da Silva 
b) John Pablo Dino Ferreira de Jesus 
c) Lucas Ramos do Nascimento 
3) ALUNO RESPONSÁVEL PELAS POSTAGENS DOS DOCUMENTOS CRIADOS/ATUALIZADOS:
David Santos da Silva Matricula: 202309666081
4) DESCRIÇÃO RÁPIDA DO PROJETO:
Software de vendas, com foco em deliry açaí cadastro de clientes e controle de estoque. 
5) FUNCIONALIDADES BÁSICAS DO PROJETO:
Autenticação de dois fatores com login e senha de ADM e usuário, armazena o registro da do perfil do cliente cadastrado, adiciona produtos no estoque.
 DOCUMENTAÇÃO DO SOFTWARE
 (FASTAÇAÍ) 
TELA DE LOGIN
Objetivo
Este código implementa uma tela de login para uma aplicação de loja. Dependendo do login, ele redireciona o usuário para a interface apropriada, seja como administrador ou como usuário comum.
Estrutura e Explicação dos Componentes
1. Importações:
· customtkinter para criar uma interface moderna com estilo escuro.
· messagebox para exibir mensagens de erro de login.
· PIL.Image para abrir e manipular imagens.
· As classes Loja, LojaAppUsr, e LojaApp são importadas para iniciar as diferentes interfaces de usuário.
2. Configurações da Interface:
· appearance_mode e default_color_theme são configurados para criar uma aparência escura e tema azul escuro.
3. Função validar_login():
· Verifica as credenciais do usuário.
· Se o usuário ou senha corresponderem a “adm123”, ele abre a interface de administrador.
· Se o usuário ou senha corresponderem a “usr123”, ele abre a interface de usuário comum.
· Caso contrário, exibe uma mensagem de erro informando que as credenciais estão incorretas.
4. Componentes de Interface:
· Um rótulo que exibe “Fazer login” como título.
· Dois campos de entrada para usuário e senha.
· Um checkbox (sem funcionalidade ativa no código) que poderia ser usado para "Lembrar login".
· Um botão de login que chama validar_login para verificar as credenciais.
· Uma imagem que será exibida no centro da tela (se o arquivo acai_logo.png existir).
5. Loop Principal:
· janela.mainloop() mantém a janela aberta e ativa, aguardando ações do usuário.
Classe Loja
A classe Loja é responsável por gerenciar os clientes e produtos de uma loja. Ela oferece funcionalidades para cadastrar, remover e visualizar clientes e produtos.
Atributos:
· clientes: uma lista que armazena os objetos da classe Cliente.
· produtos: uma lista que armazena os objetos da classe Produto.
Métodos:
1. __init__(self):
· Inicializa as listas clientes e produtos como vazias.
2. cadastrar_clientes(self, nome_cliente, email_cliente, telefone_cliente, endereco_cliente):
· Cadastra um cliente criando um objeto Cliente e adicionando-o à lista clientes.
3. cadastrar_produto(self, nome_produto, preco, peso_produto, lote_produto, validade_produto):
· Cadastra um produto criando um objeto Produto e adicionando-o à lista produtos.
4. ver_produtos(self):
· Retorna todos os produtos cadastrados. Se a lista estiver vazia, retorna uma mensagem informando que não há produtos cadastrados.
5. ver_clientes(self):
· Retorna todos os clientes cadastrados. Se a lista de clientes estiver vazia, retorna uma mensagem informando que não há clientes cadastrados.
Classe: LojaApp
Método __init__(self, loja)
· Objetivo: Inicializa a janela principal e configura a aparência do aplicativo.
· Parâmetros: Recebe um objeto loja (da classe Loja) que é usado para interagir com os dados de clientes e produtos.
· Ações:
· Define a aparência do aplicativo como "dark" (modo escuro).
· Cria a janela principal do aplicativo e define seu título e tamanho.
· Adiciona um menu inicial com botões para acessar as funcionalidades do aplicativo (cadastro de clientes, cadastro de produtos, visualização de clientes e produtos).
· Exibe o logo da loja.
Método janela_cadastrar_cliente(self)
· Objetivo: Cria uma janela para o cadastro de clientes.
· Ações:
· Cria uma nova janela com campos de entrada para nome, telefone, endereço e e-mail do cliente.
· Exibe um botão para registrar o cliente.
Método salvar_cliente(self)
· Objetivo: Salva as informações de um cliente na loja.
· Ações:
· Obtém as informações do cliente da interface gráfica.
· Chama o método cadastrar_clientes da classe Loja para adicionar o cliente.
· Exibe uma mensagem de confirmação ou erro na interface gráfica.
Método janela_cadastrar_produto(self)
· Objetivo: Cria uma janela para o cadastro de produtos.
· Ações:
· Cria uma nova janela com campos de entrada para nome, preço, peso, lote e validade do produto.
· Exibe um botão para registrar o produto.
Método salvar_produto(self)
· Objetivo: Salva as informações de um produto na loja.
· Ações:
· Obtém as informações do produto da interface gráfica.
· Chama o método cadastrar_produto da classe Loja para adicionar o produto.
· Exibe uma mensagem de confirmação ou erro na interface gráfica.
Método ver_produtos(self)
· Objetivo: Exibe uma lista de todos os produtos cadastrados na loja.
· Ações:
· Cria uma nova janela para mostrar a lista de produtos.
· Exibe todos os produtos cadastrados, ou uma mensagem caso não haja produtos.
Método ver_clientes(self)
· Objetivo: Exibe uma lista de todos os clientes cadastrados na loja.
· Ações:
· Cria uma nova janela para mostrar a lista de clientes.
· Exibe todos os clientes cadastrados, ou uma mensagem caso não haja clientes.
Método mainloop()
· Objetivo: Inicia o loop principal da interface gráfica, permitindo que a janela seja exibida e interaja com o usuário.
Resumo das Funcionalidades
1. Cadastro de Clientes: O usuário pode adicionar novos clientes fornecendo nome, telefone, endereço e e-mail.
2. Cadastro de Produtos: O usuário pode adicionar novos produtos fornecendo nome, preço, peso, lote e validade.
3. Visualização de Clientes e Produtos: O usuário pode ver as listas de clientes e produtos cadastrados.
4. Interface Gráfica: O aplicativo usa uma interface gráfica com botões e campos de entrada para interagir com o usuário.
Classe: LojaAppUsr
Método __init__(self, loja)
· Objetivo: Inicializa a interface gráfica para o usuário com a configuração inicial.
· Parâmetros: Recebe um objeto loja (da classe LojaApp) que fornece os métodos necessários para acessar os dados da loja (clientes e produtos).
· Ações:
· Define a aparência do aplicativo como "dark" (modo escuro) e o tema como "dark-blue".
· Cria a janela principal do aplicativo com o título "FAST ACAÍ" e define o tamanho da janela para 500x500.
· Adiciona um rótulo com o texto "Menu Inicial" no topo da janela.
· Adiciona os botões para visualização de produtos e clientes cadastrados.
· Adiciona um botão "Sair" que fecha o aplicativo quando clicado.
Método ver_produtos(self)
· Objetivo: Exibe uma lista de produtos cadastrados na loja.
· Ações:
· Este método é chamado quando o botão "Ver Produtos" é pressionado. Ele usa a funcionalidade da classe LojaApp (herdada) para visualizar os produtos, mas não há uma janela ou implementação detalhada no código mostrado. (A implementação está na classe LojaApp).
Método ver_clientes(self)
· Objetivo: Exibe uma lista de clientescadastrados na loja.
· Ações:
· Este método é chamado quando o botão "Ver Clientes" é pressionado. Assim como no método anterior, ele usa a funcionalidade da classe LojaApp para visualizar os clientes, mas sem uma implementação detalhada neste código.
Método mainloop()
· Objetivo: Inicia o loop principal da interface gráfica, permitindo que a janela seja exibida e interaja com o usuário.
Resumo das Funcionalidades
1. Visualização de Produtos: O usuário pode visualizar todos os produtos cadastrados na loja, mas sem funcionalidades de cadastro ou remoção.
2. Visualização de Clientes: O usuário pode visualizar todos os clientes cadastrados na loja, mas sem a capacidade de cadastrar ou remover clientes.
3. Botão de Sair: O usuário pode fechar o aplicativo clicando no botão "Sair".
Classe Cliente
A classe Cliente representa um cliente de uma loja, armazenando informações como nome, e-mail, telefone e endereço. Ela oferece métodos para inicializar o objeto e para exibir suas informações de forma formatada.
Atributos:
· nome: (str) O nome do cliente.
· email: (str) O e-mail do cliente.
· telefone: (str) O número de telefone do cliente.
· endereco: (str) O endereço do cliente.
Métodos:
· __init__(self, nome, email, telefone, endereco)
Este é o método construtor da classe, chamado sempre que um novo objeto da classe Cliente é criado. Ele inicializa os atributos do cliente com os valores passados como parâmetros.
Parâmetros:
· nome: Nome do cliente.
· email: E-mail do cliente.
· telefone: Número de telefone do cliente.
· endereco: Endereço do cliente.
Classe Produto
A classe Produto representa um produto de uma loja, contendo informações como nome, preço, peso, lote e validade. A classe oferece métodos para inicializar o objeto e exibir as informações do produto de forma formatada.
Atributos:
· nome: (str) O nome do produto.
· preco: (float) O preço do produto.
· peso: (float) O peso do produto, em quilogramas (kg).
· lote: (str) O número do lote do produto.
· validade: (str) A data de validade do produto.
Métodos:
· __init__(self, nome, preco, peso, lote, validade)
Este é o método construtor da classe, que é chamado quando um novo objeto da classe Produto é criado. Ele inicializa os atributos do produto com os valores passados como parâmetros.
Parâmetros:
· nome: Nome do produto.
· preco: Preço do produto.
· peso: Peso do produto em quilogramas (kg).
· lote: Número do lote do produto.
· validade: Data de validade do produto.
Descrição Geral
O código apresentado tem como objetivo inicializar e executar uma aplicação de uma loja, possibilitando a interação tanto de um administrador (LojaApp) quanto de um usuário comum (LojaAppUsr). O script gerencia as instâncias da classe Loja, que é responsável pelos dados da loja (clientes e produtos), e inicializa as interfaces gráficas correspondentes para cada tipo de usuário.
Estrutura do Código
1. Importações
· from mainloja import Loja
Importe a classe Lojado módulo mainloja.py, que é responsável por gerenciar a lógica de negócios da loja, como cadastrar clientes e produtos e visualizar essas informações.
· from admloja import LojaApp
Importe a classe LojaAppdo módulo admloja.py, que define uma interface gráfica para o administrador da loja. Nessa interface, o administrador pode cadastrar clientes e produtos e visualizar as listas desses itens.
· from usuarioloja import LojaAppUsr
Importe uma classe LojaAppUsrdo módulo usuarioloja.py, que define uma interface gráfica para o usuário comum. Nessa interface, o usuário pode visualizar produtos e clientes cadastrados na loja, mas não tem permissão para modificá-los.
2. Blocoif __name__ == "__main__":
Este bloco garante que o código abaixo seja executado apenas quando o script for executado diretamente, e não quando for importado como módulo em outro script.
3. Criação da Loja e Interfaces
· loja = Loja()
Instância de classe Loja, que é responsável por manter as listas de clientes e produtos. Essa instância é passada para as interfaces gráficas, tanto para o administrador quanto para o usuário comum, para que ambos possam visualizar os dados.
· LojaApp(loja)
Crie uma interface administrativa da loja. O administrador pode gerenciar os dados da loja (clientes e produtos) usando essa interface. A classe LojaAppé configurada para interagir com a instância lojapara realizar as operações de cadastro e visualização de dados.
· LojaAppUsr(loja)
Crie uma interface para o usuário comum. Essa interface permite ao usuário visualizar os dados da loja, mas sem permitir alterações. Uma aula LojaAppUsrinterage com a instância lojapara mostrar as informações de clientes e produtos.
image1.jpeg

Mais conteúdos dessa disciplina