Skip to content

GabrielSMeireles/zenithfit-ecommerce-fullstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

156 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👕 ZenithFit – Plataforma de E-commerce Fullstack

HTML5 CSS3 TypeScript Node.js Prisma PostgreSQL Cypress Grok Gemini Status

Plataforma completa de e-commerce para a marca ZenithFit, especializada na venda de camisetas fitness. O sistema foi desenvolvido seguindo rigorosos padrões de arquitetura corporativa no Back-End, integração com Inteligência Artificial e testes automatizados de ponta a ponta.


📄 Sumário

  1. Visão Geral

  2. Funcionalidades Implementadas

  3. Arquitetura e Padrões de Projeto

  4. Estrutura do Projeto

  5. Tecnologias Utilizadas

  6. Como Executar

  7. Autores


🔍 Visão Geral

O ZenithFit evoluiu de um protótipo estático para uma aplicação Fullstack robusta. O sistema simula com precisão um ambiente de produção real de e-commerce, integrando um Back-End fortemente tipado em TypeScript, persistência de dados relacional com Prisma ORM e PostgreSQL, além de um assistente virtual inteligente (Chatbot) integrado aos modelos Grok e Google Gemini.


⭐ Funcionalidades Implementadas

🛒 E-Commerce & Checkout (Customer Side)

  • Gestão de Perfil & Endereços: Cadastro de clientes com múltiplos endereços associados e validações de integridade.

  • Catálogo & Carrinho Dinâmico: Navegação por categorias, detalhamento de produtos e gerenciamento do carrinho em tempo real.

  • Fluxo de Pagamento & Cupons: Aplicação de cupons de desconto e validação de múltiplas formas de pagamento.

  • Trocas e Pedidos: Acompanhamento do status dos pedidos e abertura de solicitações de troca com geração automática de cupons. ‌

💼 Painel Administrativo (Employer Side)

  • Gestão de Estoque e Produtos: Entrada de mercadorias, lançamento de novos modelos e inativação de produtos.

  • Análise de Vendas: Módulo dedicado à geração de gráficos e análise de desempenho do negócio.

  • Controle Operacional: Gestão de clientes, pedidos e aprovação ou recusa de solicitações de troca.

🤖 Inteligência Artificial (Chatbot)

  • Assistente de Atendimento: Chatbot integrado diretamente à interface do cliente, capaz de responder dúvidas, interagir e auxiliar na navegação pela plataforma utilizando estratégias dinâmicas de IA. ‌

🏗️ Arquitetura e Padrões de Projeto

O Back-End foi estruturado seguindo princípios de alta coesão e baixo acoplamento, implementando os seguintes padrões:

  • Strategy: Utilizado para encapsular validações e regras de negócio (estoque, cupons, clientes, pagamentos e IA).

  • Facade: A classe Fachada.ts centraliza a comunicação entre Controllers e regras de negócio, simplificando o fluxo da aplicação.

  • DAO (Data Access Object): Responsável por abstrair o acesso ao banco de dados através do Prisma ORM.


📂 Estrutura do Projeto

ZENITHFIT/
├── cypress/                     # Testes automatizados End-to-End
├── documentos/                  # Documentações do projeto
└── src/
    ├── Back-End/
    │   ├── prisma/
    │   │   ├── migrations/
    │   │   └── schema.prisma
    │   ├── src/
    │   │   ├── controllers/
    │   │   ├── dao/
    │   │   ├── entities/
    │   │   ├── interfaces/
    │   │   ├── notification/
    │   │   ├── routes/
    │   │   ├── services/
    │   │   └── strategies/
    │   │       ├── graficos/
    │   │       ├── ia/          # GeminiStrategy e GrokStrategy
    │   │       └── validacao/
    │   ├── db.ts
    │   ├── index.ts
    │   └── package.json
    │
    └── Front-End/
        ├── customerSide/
        └── employerSide/

🔧 Tecnologias Utilizadas

Camada Tecnologias
Front-End HTML5 • CSS3 • JavaScript (ES6)
Back-End Node.js • TypeScript • Express
Banco de Dados & ORM PostgreSQL • Prisma ORM
Inteligência Artificial Grok API • Google Gemini API
Testes Automatizados Cypress (E2E Testing)

🚀 Como Executar

1. Pré-requisitos

  • ‌Node.js instalado

  • ‌PostgreSQL em execução

2. Configuração do Back-End

Entre na pasta do servidor e instale as dependências:

cd src/Back-End
npm install

Crie um arquivo .env na raiz da pasta Back-End:

DATABASE_URL="postgresql://usuario:senha@localhost:5432/zenithfit?schema=public"
GROK_API_KEY="sua_chave_grok"
GEMINI_API_KEY="sua_chave_gemini"

Execute as migrations:

npx prisma migrate dev

Inicie o servidor:

npm run dev

3. Executando os Testes

Abra a interface do Cypress:

npx cypress open

👨‍💻 Autores

Gabriel Meireles Desenvolvedor em formação com foco em Back-end e Fullstack.

Enzo Albuquerque Desenvolvedor em formação e colaborador no desenvolvimento da plataforma.

About

Plataforma de e-commerce para camisetas fitness com autenticação, carrinho, aplicação de cupons e fluxo completo de vendas. Desenvolvida com React, Node.js, Express e PostgreSQL, incluindo testes automatizados.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages