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
- 🟢 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
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 |
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 |
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:
- Vá até /etc/mongod.conf e adicione a seguinte configuração para habilitar uma réplica:
replication: replSetName: "rs0"
- Reinicie o processo do Mongodb via comando
systemctl restart mongod
ouservice mongod restart
; - Abra o mongo bash via comando
mongosh
e digite os seguintes comandos:use local
ers.initiate()
;
- Clone este repositório;
- Baixe as dependências deste projeto com
npm install
; - Crie um arquivo
.env
na raiz do projeto contendo as variáveis de ambiente em.env.sample
com valores de sua preferência. - Inicie a aplicação com
npm run dev
; - Navegue até
http://localhost:3000
para visualizar a aplicação.
- Typescript
- React
- Redux
- Next.js
- Mongodb
- Cloudinary
- Next auth
- Zod
- React hook form
- Sass
- Jose
- Bcrypt
MIT License © MIT License