Skip to content

🛒 Uma aplicação web de e-commerce desenvolvida principalmente em Typescript com Next.js e Mongodb.

License

Notifications You must be signed in to change notification settings

nalbertcerqueira/audiophile-ecommerce

Repository files navigation

🛒 Audiophile Ecommerce

TypeScript badge React Next JS Redux Mongodb badge SASS

📋 Descrição

Audiophile ecommerce se trata de um projeto desenvolvido a partir de um dos desafios encontrados na página da Frontend Mentor, tendo como principal objetivo o desenvolvimento de uma aplicação fullstack em Next.js, como também, consolidar conceitos relacionados a autenticação e autorização pelo protocolo OAuth e o uso de sessões anônimas.

⚡ Link da aplicação! 🔗 Audiophile ecommerce

Principais funcionalidades

  • 🟢 Login tradicional
  • 🟢 Cadastro de usuários
  • 🟢 OAuth login
  • 🟢 Sessão anônima
  • 🟢 Carrinho de compras (adição e remoção de produtos)
  • 🟢 Checkout do carrinho
  • 🟢 Painel do usuário

Rotas da API

Rotas privadas 🔐

Método Rota Descrição
GET /api/auth/user/profile Obtém as informações do perfil do usuário
PUT /api/auth/user/profile Atualiza as informações do perfil
GET /api/auth/user/address Obtém o atual endereço do usuário
PUT /api/auth/user/address Atualiza as informações do endereço
GET /api/auth/cart Obtém o carrinho de compras do usuário
POST /api/auth/cart/items Adiciona um novo item ao carrinho
DELETE /api/auth/cart/items Remove todos os items do carrinho
PATCH /api/auth/cart/items/[id] Atualiza as informações de um item
POST /api/auth/checkout Efetua o checkout da compra
GET /api/auth/checkout/taxes Obtém as taxas relacionadas à compra

Rotas públicas 🛤️

Método Rota Descrição
POST /api/signin Efetua o login do usuário
POST /api/signup Cadastra um usuário na aplicação
POST /api/auth/signin/google Efetua o login através do google
POST /api/auth/signin/github Efetua o login através do github

📁 Configurando o Mongodb

Como o projeto faz uso da API de transações do Mongodb, é necessário inicializar uma réplica de desenvolvimento, para isso, segue o passo a passo abaixo para o sistema Linux:

  1. Vá até /etc/mongod.conf e adicione a seguinte configuração para habilitar uma réplica: replication: replSetName: "rs0"
  2. Reinicie o processo do Mongodb via comando systemctl restart mongod ou service mongod restart;
  3. Abra o mongo bash via comando mongosh e digite os seguintes comandos: use local e rs.initiate();

🎮 Iniciando o projeto

  1. Clone este repositório;
  2. Baixe as dependências deste projeto com npm install;
  3. Crie um arquivo .env na raiz do projeto contendo as variáveis de ambiente em .env.sample com valores de sua preferência.
  4. Inicie a aplicação com npm run dev;
  5. Navegue até http://localhost:3000 para visualizar a aplicação.

🚀 Tecnologias utilizadas

  • Typescript
  • React
  • Redux
  • Next.js
  • Mongodb
  • Cloudinary
  • Next auth
  • Zod
  • React hook form
  • Sass
  • Jose
  • Bcrypt

📝 Licença

MIT License © MIT License

About

🛒 Uma aplicação web de e-commerce desenvolvida principalmente em Typescript com Next.js e Mongodb.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published