Skip to content

devLuanPaiva/Gam3rStore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

397 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gam3r Store 🕹️



Turborepo Angular NestJS React Native Prisma PostgreSQL Tailwind CSS Jest TypeScript GitFlow Karma Cypress Jasmine HTML5 CSS3

Gam3r Store é um projeto de e-commerce voltado para a venda de aparelhos eletrônicos.

🚀 Visão Geral do Projeto

  • Status: Em desenvolvimento
  • Versão Atual: 3.0
  • Tecnologias Principais: Turborepo, Angular, NestJS, React Native, Prisma, Tailwind CSS, Jest, TypeScript, GitFlow, Karma, Cypress, Jasmine

🔧 Funcionalidades Implementadas

Até o momento, foram desenvolvidas e testadas:

Regras de Negócio:

  • Produtos: Criação e gestão de produtos.
  • Carrinho: Adicionar e remover itens do carrinho.
  • Parcelamentos: Definir e calcular diferentes formas de pagamento.
  • Pedido: Regras para finalizar a compra e definir os detalhes de envio.

Endpoins:

  • Cadastrar Produto: Cadastrar novo produto ao banco.
  • Listar Produtos: Listagem de todos os produtos cadastrados.
  • Listar Produto por Id: Retornar produto após busca por Id.
  • Deletar Produto: Deletar produto por Id.
  • Criar Pedido: Cadastrar um novo pedido para entrega.
  • Listar Pedidos: Listar todos os Pedidos.
  • Listar Pedidos por Id: Retornar um pedido após busca por id.
  • Deletar Pedidos por Id: Deletar um pedido após busca por id.

Interfaces:

  • Listar Produtos: Listagem de todos os produtos, onde cada card contém o nome, estrelas, foto, preço e descrição.
  • Filtrar Produtos: Friltragem de todos os produtos, onde o usuário insere o nome do produto no campo de busca e assim é filtrado.
  • Carrinho: O usuário pode inserir quantos produtos quiser no carrinho, aumentar e diminuir a quantidade, e remover produto.
  • Pagamento: Após fechar o carrinho, o usuário vai para a tela de pagamento, onde preenche os dados de entrega e a forma de , e finaliza o pedido.
  • Especificações do Produto: O usuário pode visualizar mais detalhes de um produto em especifico, como descição, especificações, metragem de preço, avaliações de usuários e uma avaliação em video sobre o mesmo.

🧪 Testes

As funcionalidades implementadas foram testadas utilizando Jest, Jasmine e Cypress, com um total de 45 testes aprovados até o momento, sendo:

  • Core: 11 testes para as regras de negócio
  • Front-end: 23 testes, sendo 16 unitários e de integração, e 7 testes E2E.
  • Backend: 9 testes para todas as operações.

📦 Estrutura do Projeto

O Gam3r Store está sendo desenvolvido utilizando uma arquitetura monorepo, facilitada pelo Turborepo, com as seguintes tecnologias:

  • Frontend:
    • Angular (em desenvolvimento)
  • Mobile
    • React Native (planejado)
  • Backend:
    • NestJS (em desenvolvimento)
    • Prisma (para interações com o banco de dados)
  • Estilo: Tailwind CSS
  • Testes: Jest, Cypress, Jasmine
  • Linguagem: TypeScript

🌐 Deploy

A aplicação está disponivel na Vercel, podendo ser acessado em: Gam3er

📂 Como Executar o Projeto Localmente

Pré-requisitos

  • Node.js (versão recomendada: 18.x.x ou superior)
  • Yarn ou NPM

Instalação e execução

  1. Clone o repositório:
git clone https://github.com/devLuanPaiva/Gam3rStore.git
  1. Navege até a pasta do projeto:
cd GamerStore
  1. Instale as dependências:
npm install
# ou 
yarn install
  1. Inicie o servidor de desenvolvimento:
    turbo dev
    # ou
    npm run dev
    # ou
    yarn dev
    # ou
    pnpm dev
    # ou
    bun dev
  1. Abra o navegador e acesse http://localhost:3000, ou baixe o app ExpoGo para acessar a versão mobile em seu smartphone.

🎲 Tutorial de Uso

Adicionar Produto ao Carrinho

  • Na tela inicial, cada card de produto possui um botão "Adicionar". Basta clicar nesse botão para adicionar o produto ao carrinho.

Visualizar Carrinho

  • No cabeçalho do site, há um ícone de carrinho. Clique nesse ícone para acessar a página do carrinho e visualizar os itens adicionados.

Página de Pagamento

  • Na página do carrinho, há um passo (step) com a opção de "Pagamento". Nesse passo, um card mostra o preço total e um botão "Continuar". Clique no botão para prosseguir para o pagamento.

Especificações do Produto

  • Para visualizar as especificações do produto, clique no título do produto. Esse recurso está disponível tanto nos cards da tela inicial quanto nos cards da página do carrinho.

🌌 Interfaces

Tela Inicial

Home

Buscar Produto

Busca

Carrinho

Carrinho

Pagamento

Carrinho

Sucesso

Carrinho

Especificações do Produto

Especificações

🧾 License

Esse README fornece uma visão clara do estado atual do projeto, tecnologias utilizadas, desafios e funcionalidades planejadas, além de guiar outros desenvolvedores sobre como executar o projeto localmente.

About

Utilização de arquitetura limpa para o desenvolvimento de um projeto e-commerce voltado para a venda de aparelhos eletrônicos.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors