Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛒 E-commerce TechStore - TechAcademy4

Mini e-commerce completo com painel administrativo desenvolvido em PHP, MySQL e arquitetura MVC.

📋 Características do Projeto

✅ Desenvolvimento Web Avançado

  • Template com Manutenibilidade: Header e Footer reutilizáveis em todas as páginas
  • Arquitetura MVC: Models, Views e Controllers bem definidos
  • Sistema de Autenticação: Login, registro e controle de sessões
  • Acesso por Sistema: Diferenciação entre Admin e Cliente
  • Site Amigável: Interface moderna e responsiva
  • Cadastro de Clientes: Sistema completo de registro e login
  • Banco de Dados: Estrutura completa com 3+ CRUDs

✅ Banco de Dados Avançado

  • Estrutura Completa: 5 tabelas principais (usuarios, produtos, categorias, pedidos, itens_pedido)
  • Trigger de Auditoria: Monitoramento de alterações de preço de produtos
  • Procedure de Inserção Massiva: inserir_produtos_massa para cadastro em lote
  • Função de Verificação: verificar_estoque para validação de disponibilidade
  • Índices Otimizados: Múltiplos índices para consultas eficientes
  • 3+ CRUDs: Produtos, Categorias, Usuários, Pedidos

📊 Dashboard Administrativo (Tech Forge)

  • Dashboard com indicadores:
    • Total de produtos ativos
    • Total de pedidos
    • Total de clientes
    • Vendas totais e do mês
    • Pedidos pendentes
    • Produtos com estoque baixo
  • CRUD completo de Produtos
  • CRUD completo de Categorias
  • Gerenciamento de Pedidos
  • Gerenciamento de Usuários

🚀 Instalação

Pré-requisitos

  • PHP 7.4 ou superior
  • MySQL 5.7 ou superior
  • Servidor web (Apache/Nginx) ou XAMPP/WAMP
  • Extensões PHP: PDO, PDO_MySQL

Passo 1: Clonar o Projeto

cd c:\Users\gabriel.rorato\OneDrive - SENIORNORTEPR\Documentos\GitHub\TechAcademy4

Passo 2: Configurar o Banco de Dados

  1. Acesse o phpMyAdmin ou MySQL
  2. Execute o arquivo database/schema.sql
  3. O banco de dados ecommerce_db será criado com:
    • Todas as tabelas
    • Triggers e Functions
    • Procedures
    • Dados iniciais (categorias e produtos de exemplo)

Passo 3: Configurar a Aplicação

Edite o arquivo config/config.php com suas credenciais:

define('DB_HOST', 'localhost');
define('DB_NAME', 'ecommerce_db');
define('DB_USER', 'root');
define('DB_PASS', ''); // Sua senha do MySQL

Passo 4: Configurar Permissões

Criar a pasta de uploads:

mkdir public/uploads/products

Passo 5: Acessar o Sistema

  • Site Público: http://localhost/TechAcademy4/public/index.php
  • Painel Admin: http://localhost/TechAcademy4/admin/index.php

🔐 Credenciais de Acesso

Administrador

Cliente

📁 Estrutura do Projeto

TechAcademy4/
├── admin/                      # Painel Administrativo
│   ├── includes/              # Header e Footer do Admin
│   ├── index.php              # Dashboard
│   ├── products.php           # CRUD de Produtos
│   ├── categories.php         # CRUD de Categorias
│   ├── orders.php             # Gerenciamento de Pedidos
│   └── users.php              # Gerenciamento de Usuários
├── config/                    # Configurações
│   ├── config.php            # Configurações gerais
│   └── Database.php          # Classe de conexão PDO
├── database/                  # Scripts SQL
│   └── schema.sql            # Estrutura completa do BD
├── includes/                  # Arquivos compartilhados
│   ├── header.php            # Header do site
│   ├── footer.php            # Footer do site
│   ├── Auth.php              # Sistema de autenticação
│   └── helpers.php           # Funções auxiliares
├── models/                    # Models (MVC)
│   ├── User.php              # Model de Usuário
│   ├── Product.php           # Model de Produto
│   ├── Category.php          # Model de Categoria
│   └── Order.php             # Model de Pedido
├── public/                    # Arquivos públicos
│   ├── assets/               # CSS, JS, imagens
│   │   ├── css/
│   │   │   ├── style.css    # Estilos do site
│   │   │   └── admin.css    # Estilos do admin
│   │   └── js/
│   │       ├── main.js      # JavaScript do site
│   │       └── admin.js     # JavaScript do admin
│   ├── uploads/              # Imagens dos produtos
│   ├── index.php             # Página inicial
│   ├── products.php          # Listagem de produtos
│   ├── product-detail.php    # Detalhes do produto
│   ├── cart.php              # Carrinho de compras
│   ├── checkout.php          # Finalização de compra
│   ├── login.php             # Login
│   ├── register.php          # Cadastro
│   └── logout.php            # Logout
└── README.md                 # Este arquivo

🎯 Funcionalidades Implementadas

Site Público

  • ✅ Página inicial com produtos em destaque
  • ✅ Listagem de produtos com filtros
  • ✅ Detalhes do produto
  • ✅ Carrinho de compras completo
  • ✅ Sistema de login e registro
  • ✅ Checkout e finalização de pedidos
  • ✅ Visualização de pedidos do cliente

Painel Administrativo

  • ✅ Dashboard com estatísticas
  • ✅ CRUD completo de Produtos (Create, Read, Update, Delete)
  • ✅ CRUD completo de Categorias
  • ✅ Gerenciamento de Pedidos com alteração de status
  • ✅ Gerenciamento de Usuários
  • ✅ Upload de imagens de produtos
  • ✅ Alertas de estoque baixo
  • ✅ Relatórios de vendas

Banco de Dados

  • ✅ 5 tabelas principais + 1 de auditoria
  • ✅ Trigger para auditoria de alteração de preços
  • ✅ Function para verificação de estoque
  • ✅ Procedure para inserção massiva de produtos
  • ✅ Índices otimizados para consultas
  • ✅ Relacionamentos com Foreign Keys
  • ✅ Soft delete para produtos e usuários

📊 Critérios da Rubrica Atendidos

Desenvolvimento Web Avançado (0,5)

  • ✅ Template com manutenibilidade (header/footer reutilizáveis)

MVC (0,8)

  • ✅ Arquitetura MVC implementada corretamente

Sistema de Acesso (0,3)

  • ✅ Usuários possuem sistema de acesso com diferenciação Admin/Cliente

Banco de Dados e CRUDs (1,0)

  • ✅ Ao menos 3 CRUDs implementados (Produtos, Categorias, Usuários, Pedidos)

Site Funcional (0,7)

  • ✅ Site amigável mostrando produtos e permitindo compras

Cadastro de Clientes (0,7)

  • ✅ Sistema completo de cadastro e login

Estrutura do Banco (0,5)

  • ✅ Banco de dados bem estruturado com múltiplas tabelas

Trigger de Auditoria (1,0)

  • ✅ Trigger para auditoria de alteração de valor de produto

Procedure de Inserção Massiva (1,0)

  • ✅ Procedure para inserir dados em massa (pelo menos uma tabela)

Índices para Otimização (0,5)

  • ✅ Índices em tabelas com grande volume de dados

Função de Verificação de Estoque (1,0)

  • ✅ Função para verificar disponibilidade antes da finalização

Dashboard com Indicadores (4,0)

  • ✅ Dashboard completo incorporado no site

🛠️ Tecnologias Utilizadas

  • Backend: PHP 7.4+ (OOP)
  • Banco de Dados: MySQL 5.7+
  • Frontend: HTML5, CSS3, JavaScript
  • Arquitetura: MVC (Model-View-Controller)
  • Segurança: PDO com Prepared Statements, password_hash, sanitização de dados
  • Ícones: Font Awesome 6.4.0

📝 Observações

  • O sistema usa Singleton Pattern para conexão com banco de dados
  • Todas as senhas são criptografadas com password_hash()
  • Upload de imagens com validação de tipo e tamanho
  • Sistema de carrinho baseado em sessões
  • Soft delete para produtos e usuários
  • Mensagens de feedback (success/error) em todas as operações
  • Layout totalmente responsivo

🎓 Desenvolvido por

TechAcademy4 - Projeto Final de Desenvolvimento Web Avançado


About

Projeto Módulo 4

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages