Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

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: 
o customtkinter para criar uma interface moderna com estilo 
escuro. 
o messagebox para exibir mensagens de erro de login. 
o PIL.Image para abrir e manipular imagens. 
o As classes Loja, LojaAppUsr, e LojaApp são importadas para iniciar 
as diferentes interfaces de usuário. 
2. Configurações da Interface: 
o appearance_mode e default_color_theme são configurados para 
criar uma aparência escura e tema azul escuro. 
3. Função validar_login(): 
o Verifica as credenciais do usuário. 
o Se o usuário ou senha corresponderem a “adm123”, ele abre a 
interface de administrador. 
o Se o usuário ou senha corresponderem a “usr123”, ele abre a 
interface de usuário comum. 
o Caso contrário, exibe uma mensagem de erro informando que as 
credenciais estão incorretas. 
4. Componentes de Interface: 
o Um rótulo que exibe “Fazer login” como título. 
o Dois campos de entrada para usuário e senha. 
o Um checkbox (sem funcionalidade ativa no código) que poderia ser 
usado para "Lembrar login". 
o Um botão de login que chama validar_login para verificar as 
credenciais. 
o Uma imagem que será exibida no centro da tela (se o arquivo 
acai_logo.png existir). 
5. Loop Principal: 
o 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): 
o Inicializa as listas clientes e produtos como vazias. 
2. cadastrar_clientes(self, nome_cliente, email_cliente, telefone_cliente, 
endereco_cliente): 
o 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): 
o Cadastra um produto criando um objeto Produto e adicionando-o 
à lista produtos. 
4. ver_produtos(self): 
o Retorna todos os produtos cadastrados. Se a lista estiver vazia, 
retorna uma mensagem informando que não há produtos 
cadastrados. 
5. ver_clientes(self): 
o 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: 
o Define a aparência do aplicativo como "dark" (modo escuro). 
o Cria a janela principal do aplicativo e define seu título e tamanho. 
o 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). 
o Exibe o logo da loja. 
Método janela_cadastrar_cliente(self) 
• Objetivo: Cria uma janela para o cadastro de clientes. 
• Ações: 
o Cria uma nova janela com campos de entrada para nome, telefone, 
endereço e e-mail do cliente. 
o 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: 
o Obtém as informações do cliente da interface gráfica. 
o Chama o método cadastrar_clientes da classe Loja para adicionar o 
cliente. 
o 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: 
o Cria uma nova janela com campos de entrada para nome, preço, peso, 
lote e validade do produto. 
o 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: 
o Obtém as informações do produto da interface gráfica. 
o Chama o método cadastrar_produto da classe Loja para adicionar o 
produto. 
o 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: 
o Cria uma nova janela para mostrar a lista de produtos. 
o 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: 
o Cria uma nova janela para mostrar a lista de clientes. 
o 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: 
o Define a aparência do aplicativo como "dark" (modo escuro) e o tema 
como "dark-blue". 
o Cria a janela principal do aplicativo com o título "FAST ACAÍ" e define o 
tamanho da janela para 500x500. 
o Adiciona um rótulo com o texto "Menu Inicial" no topo da janela. 
o Adiciona os botões para visualização de produtos e clientes 
cadastrados. 
o Adiciona um botão "Sair" que fecha o aplicativo quando clicado. 
Método ver_produtos(self) 
• Objetivo: Exibe uma listade produtos cadastrados na loja. 
• Ações: 
o 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 clientes cadastrados na loja. 
• Ações: 
o 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: 
o nome: Nome do cliente. 
o email: E-mail do cliente. 
o telefone: Número de telefone do cliente. 
o 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: 
o nome: Nome do produto. 
o preco: Preço do produto. 
o peso: Peso do produto em quilogramas (kg). 
o lote: Número do lote do produto. 
o 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.

Mais conteúdos dessa disciplina