Esse projeto foi desenvolvido especificamente para a minha loja mas decidi colocá-lo no GitHub pois procurei projetos parecidos e não encontrei.
É um projeto bem simples onde tive como principal objetivo ter um catálogo digital para conseguir agilizar o atendimento ao cliente que consegue visualizar todos os produtos que estão disponíveis, colocá-los no carrinho e finalizar seu pedido, assim que finalizado recebemos uma notificação de pedido finalizado no Telegram onde podemos ir direto para o pedido no site do catálogo e enviar uma mensagem com o pedido detalhado para o cliente no WhatsApp.
- Painel de controle
- Identifica se o usuário veio por outro caminho mas não estava logado para redirecionar para o mesmo caminho após logar.
- Controle de usuários
- Administrador: consegue editar usuários e todas outras funções
- Colaborador: consegue apenas ver e editar os pedidos
- Controle de dados
- Cadastrar/(des)ativar/excluir formas de pagamento
- Cadastrar/(des)ativar/excluir formas de entrega
- Cadastrar/(des)ativar/excluir descontos
- Controle de categorias de produtos
- Cadastrar/editar/(des)ativar/excluir categorias
- Controle de produtos
- Cadastrar/editar/(des)ativar/excluir produtos
- Controle de estoque (quantidade de produtos disponíveis)
- Filtro de produtos por nome, estoque, status (ativado/desativado) e categoria.
- Controle de pedidos
- 3 status de pedido:
- Novo (não foi atendido no WhatsApp)
- Botão para enviar mensagem para o WhatsApp do cliente já com o pedido detalhado com o número do pedido, nome completo do cliente, forma de pagamento, forma de entrega, produtos e valor total já com desconto caso tenha
- Atendido (foi atendido no WhatsApp mas não foi finalizado)
- O mesmo botão do status de novo.
- Finalizado (pedido finalizado/vendido)
- Botão para agradecer o cliente no WhatsApp.
- Novo (não foi atendido no WhatsApp)
- Excluir pedido
- Voltar produtos para o estoque
- Não voltar produtos para o estoque
- Filtrar pedidos por número do pedido, nome, sobrenome, status, atendente, data do pedido
- Ao pedido ser atendido ou finalizado é marcado automaticamente por quem foi feita a ação
- 3 status de pedido:
- Página inicial
- Mostra as categorias dos produtos
- Mostra todos os produtos disponíveis com paginação e filtro de busca por nome do produto
- Página de categoria
- Mostra todos os produtos disponíveis da categoria com paginação e filtro de busca por nome do produto
- Os produtos são ordenados dos mais caros para os mais baratos como uma estratégia de preços
- Página do produto
- Mostra o produto detalhadamente com todas as fotos e descrição caso tenha
- Opção de adicionar/remover mais produtos do mesmo
- Não deixa de forma alguma o valor ser menor ou igual a 0
- Não deixa de forma alguma o valor ultrapassar a quantidade que tem no estoque desse produto
- Adição ao carrinho mostra possíveis descontos caso haja um desconto bem próximo a ser aplicado para fazer o cliente comprar mais
- Caso o desconto seja aplicado induz o cliente a finalizar a compra
- Página do carrinho
- O carrinho é feito pela sessão do PHP
- Caso um desconto esteja próximo de ser aplicado mostra na tela do cliente que se ele comprar mais ganhará um desconto para induzi-lo a gastar mais
- Mostra a quantidade de produtos
- Mostra o valor total da compra e também o valor total já com desconto caso tenha
- Mostra todos os produtos do carrinho
- Opção de adicionar/remover produto pela quantidade
- Opção de excluir produto do carrinho
- Finalização de compra
- Ao finalizar uma compra a quantidade do produto já é removida automaticamente do estoque e caso o produto esgote já marca automaticamente como indisponível.
- Avisos pelo Telegram
- Erros inesperados com o banco de dados
- Pedidos novos, atendidos e excluídos
- Caso o pedido excluído com opção de retornar os produtos para o estoque é avisado quais produtos retornaram e sua nova quantidade.
- Produtos desativados por ter zerado o estoque
No arquivo app/Db/Database.php
você deverá definir as variáveis HOST, NAME, USER, PASS
para conectar ao banco de dados.
No arquivo app/Telegram/Alert.php
você deverá definir a variável TELEGRAM_BOT_TOKEN
com o token do seu robô do Telegram e TELEGRAM_CHAT_ID
com o ID do chat do Telegram onde você deseja receber os avisos.
O arquivo database.sql
contém toda a estrutura do banco de dados.
Para acessar o painel de controle vá para o diretório /fdj/index.php
e insira o usuário admin
e a senha 123
, altere o usuário e a senha para sua preferência.
Caso você for utilizar esse projeto favor mudar o nome e tudo que esteja relacionado a Fonte das Joias
, a logo, o link do Instagram que se encontra na maioria das páginas e do WhatsApp também pois a loja ainda existe e está em funcionamento ;).