0% acharam este documento útil (0 voto)
33 visualizações9 páginas

Software de Vendas Fast Açaí em Python

Enviado por

davidsantos14k
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
33 visualizações9 páginas

Software de Vendas Fast Açaí em Python

Enviado por

davidsantos14k
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

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 [Link] 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.
oUma imagem que será exibida no centro da tela (se o arquivo
acai_logo.png existir).
5. Loop Principal:
o [Link]() 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 lista de 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 [Link], 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 [Link], 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 [Link], 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.

Você também pode gostar