/projeto-POO

Este é projeto de Programação Orientada a Objetos (POO). Onde o príncipio dele é "gerenciar" um ecommerce.

Primary LanguageCSS

E-commerce

Sistema de e-commerce de uma loja.

Este foi o meu projeto proposto na matéria de POO na faculdade que se baseia num ecommerce. Ademais, não há interface gráfica e há alguns problemas que não foram testados, além disso, não foram atentido todas as funcionadlidades estabelecidas pelo professor.

Algumas das Implementações

Login

Para o usuário iniciar, ele deve inserir um email e uma senha, caso seja um novo usuário é criado uma conta para o mesmo. Tem dois possíveis logs, onde o seu acesso dá ao determinado funcionalidades. O login do controlodar do estoque deve ter uma email que contenha "e-EMPRESA@gmail.com" e sua senha deve ser adminadmin. Já o login do usuário, o email deve conter "hotmail.com" ou "gmail.com", caso seja novo, é lido o seu nome e CPF. Se for um usuário já existente, mostra sua conta.

Menu

Antes de mostrar os seus respectivos menus, é mostrado o estoque e os produtos contidos neles...

  • Usuário - (No menu do usuário há 5 opções)

    • 1 - Adicionar um produto no carrinho de compras
    • 2 - Remover um produto do carrinho
    • 3 - Visualizar seus pedidos
    • 4 - Finalizar pedido
    • 5 - Sair

    1.Para adicionar um produto no carrinho, o usuário terá que inserir o nome dele e quantidade que quer inserir, caso o nome esteja errado ou não tenha quantidade que ele quer adicionar de produtos disponível, o usuário terá que tentar novamente;

    2.Para remover um produto do carrinho o usuário deve inserir o nome e valor do produto. Caso não haja produto, é retornado uma mensagem;

    3.Se houver algum produto no seu carrinho, é mostrado como pedido (Isso não é de fato um pedido, mas eu não tinha tanto tempo para entregar, então não o fiz bem feito, uma gambiarra em outras palavras);

    4.Para finalizar um pedido, deve conter pelo menos um produto no carrinho. Se houver, então é lido o seu endereço completo e a forma de pagamento (À vista ou Cartão) e no final é mostrado um pequeno recibo da compra;

    5.Volta para a página de login;

  • Controlador do Estoque - (No menu do controlador tem 3 oções)

    • 1 - Adicionar um produto no estoque
    • 2- Remover um produto do estoque
    • 3 - Sair

    1.Para o controlador inserir um produto no estoque ele deve inserir o nome, valor e quantidade do produto. No estoque, é verificado se já existe um produto com essas mesmas especificações, se houver é apenas incrementada a quantidade, se não então é adicionado um novo produto no estoque;

    2.Para remover um produto do estoque basta o controlador inserir o nome e valor do produto, se houver um produto com essas especificações ele é removido, caso contrário uma mensagem de erro é mostrado;

    3.Volta para a página de login;

Funcionalidades & Pretensões

  • Das funcionalidades pedidas, não consegui implementar a interface "Comparable", onde deveria definir a forma de ordenação das instâncias. E, também não implementei a persistência de dados em texto ou binário, mesmo após encerrar a "aplicação".

  • Além de alguns erros de verificações eu não consegui implementar varias outras funções que ao meu ver seria ideal para a aplicação e para cumprir com o que seria esperado, como:

    • Alteração de senha (Usuário)
    • Data e hora da compra (Usuário)
    • Verificar cartão (Usuário)
    • Exclusão de conta (Usuário e Controlador)
    • Descrição do produto (Controlador)

Aprendendo

Foi algo bem desafiador, por perder parte da aula e era um pouco difícil de entender mesmo aula sendo boa. No ínicio eu queria fazer um jogo, onde o usuário desenhava e os demais tentariam acertar o desenho, mas desperdicei tempo querendo fazer o que iria parecer muito bonito de se ver. Depois pensei em fazer um ecommerce, e ainda pensava em usar GUI para ficar "bonitinho", mas repensei e desistir de usar GUI.

Agora eu estou com uma visão de começar pelo essencial, que ao meu ver é a parte lógica e ser bem "tratada", claro que é bastante difícil fazer isso em uma aplicação maior, mas deve-se sempre repensar no que pode ser implementado ou modificado, e a parte visual deve se levar em conta no fim de tudo. Não que eu achasse que ter GUI no meu projeto iria deixar ele legal, mas achava que seria algo bacana fazer isso para no meu primeiro projeto, só agora percebi a tolisse que foi pensar isso.