GDauer / PHP-Ecommerce

Pequeno projeto de e-commerce para testar conhecimento na linguagem php7.0

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Implementação E-Commerce

Um pequeno projeto de implementação de um site de e-commerce para testar conhecimentos na linguagem php. Esse projeto está sendo feito em conjunto com o "curso completo de php7" da hcodebr para o treinamento do novo time de estagiários da WebJump!

Site da empresa:

http://www.webjump.com.br/

Instalação

É recomendado que você tenha um ambiente de testes para validar alterações e atualizações antes de atualizar sua loja em produção.

Existem algumas lib e recursos que ainda não foram adicionadas ao composer.json, elas são: cURL, openssl e a GD library.

A instalação do módulo é feita utilizando o Composer. Para baixar e instalar o Composer no seu ambiente acesse https://getcomposer.org/download/

Pré-requisitos

  • Php 7.x
  • Virtual host (apache ou nginx)
  • Banco MySQL
  • OS Unix (de preferencia, alguns recursos podem não funcionar corretamente no windows)
  • Composer

Estágio Webjump!

Este projeto está sendo desenvolvido para o treinamento do time de estagiários da WebJump! Mas, sinta-se livre para o usar o código fonte e sugerir melhorias :)


Linkedin

https://www.linkedin.com/in/gustavo-vicente-dauer/


Classes

Este projeto utiliza a forma DAO para organização das classes e seus respectivos métodos. As classes são:

  • Vendor -> Hcodebr -> php-classes -> src -> DB -> Sql.php

A classe SQL é responsável pela comunicação com o banco de dados, e, fazer o bind params de forma dinâmica. A diferença entre os métodos "query" e "select" está no retorno de dados, visto que o método "query" é um método void

  • Vendor -> Hcodebr -> php-classes -> src -> Model.php

Essa é uma classe abstrata, responsável por conter os métodos setData que carrega seus filhos com um array de valores. Também é responsável por fazer os métodos set e get de forma dinâmica.

  • Vendor -> Hcodebr -> php-classes -> src -> Mailer.php

Classe responsável pelo envio de e-mail da rota forgot

  • Vendor -> Hcodebr -> php-classes -> src -> Page.php

Classe responsável por fazer o merge entre o views e views cache atráves da classe pai raintpl

  • Vendor -> Hcodebr -> php-classes -> src -> PageAdmin.php

Mesma função da page, mudando apenas o tipo de template a ser carregado. Extende da classe pai Page.php

  • Vendor -> Hcodebr -> php-classes -> src -> Model -> Address.php

Essa classe é responsável por se comunicar com o webservice "Via CEP", fazer o carregamento do cep informado aplicando o frete com o webservice da Sedex (a comunicação com o webservice da sedex é feita pela classe Cart.php)

  • Vendor -> Hcodebr -> php-classes -> src -> Model -> Category.php

Classe responsável por gerenciar os CRUD da categoria, e, atribuir n produtos a mesma. Possui métodos para paginação.

  • Vendor -> Hcodebr -> php-classes -> src -> Model -> Order.php

Classe responsável por gerenciar o carrinho e pedidos dos usuários cadastrados. Possui métodos para paginação.

  • Vendor -> Hcodebr -> php-classes -> src -> Model -> OrderStatus.php

Possui apenas um método, é uma classe final que serve apenas para gerenciar os status dos pedidos (EM ABERTO, AGUARDANDO PAGAMENTO, PAGO, ENTREGUE)

  • Vendor -> Hcodebr -> php-classes -> src -> Model -> Product.php

Classe responsável pelo CRUD de produtos, traser a wishlist atrelado ao usuário, categoria e o carrinho. Possui métodos para paginação, OBSERVAÇÃO: Essa classe necessita de uma tabela contendo as relações entre REVIEW n-1 PRODUTOS.

  • Vendor -> Hcodebr -> php-classes -> src -> Model -> User.php

Classe responsável pelo CRUD de usuários e validação de login (admin ou não). Possui método para paginação, forgot password via classe Mailer.php, get Orders e o captch do google.

  • Vendor -> Hcodebr -> php-classes -> src -> Model -> Wishlist.php

Classe responsável pelo CRUD da lista de desejos OBSERVAÇÃO: Essa classe necessita de uma tabela contendo as relações entre USUÁRIO 1-n PRODUTOS.

  • Vendor -> Hcodebr -> php-classes -> src -> Model -> Cart.php

É a classe responsável por manipular o cart do usuário, seja um usuário cadastrado ou não (via $_SESSION) e por se comunicar com o webservice da sedex através do

"http_build_query"

E

"simplexml_load_file"

Telas:


Login Admin

la

Login Usuário

lu

Index

i1 i2

Produtos

p

Wishlist

w

Cart

ca

Checkout

ch1 ch2

Painel Admin

pa

Detalhe de Pedidos Admin

dpa dpa2

Detalhe de Pedidos Usuários

dpu

Detalhe de Produto

dp

Forgot Password

fp fpa

About

Pequeno projeto de e-commerce para testar conhecimento na linguagem php7.0


Languages

Language:HTML 56.1%Language:JavaScript 33.1%Language:CSS 7.8%Language:PHP 2.9%Language:PLpgSQL 0.1%Language:SQLPL 0.0%