Minha Logomarca
InícioSobreExperiênciaProjetosContato
Perfil

Gam3r Store

    Imagem do projeto
    Imagem do projeto
    Imagem do projeto
    Imagem do projeto
    Imagem do projeto
  • Framework web moderno da Google para SPAs.
    Angular
  • Sistema de controle de versão distribuído.
    Git
  • Framework de testes para JavaScript.
    Jest
  • Framework Node.js escalável com TypeScript.
    NestJS
  • Banco de dados relacional avançado de código aberto.
    PostgreSQL
  • Framework CSS utilitário para construção rápida de interfaces.
    Tailwind CSS
  • Superset do JavaScript com tipagem estática.
    TypeScript

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.
  • : Adicionar e remover itens do carrinho.
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.