Este é um projeto de ecommerce fullstack que engloba a implementação de um aplicativo de loja online, incluindo recursos como autenticação de usuário, pagamento, listagem de produtos e gerenciamento de carrinho. O projeto utiliza uma variedade de tecnologias no frontend e no backend para criar uma experiência de compra completa.
O Ecommerce Fullstack é uma aplicação de ecommerce completa com as seguintes funcionalidades:
- Frontend em React com Next.js 13, incluindo o uso de API Routes para criar rotas de backend.
- Autenticação de usuário fornecida pelo serviço Clerk.
- Pagamentos e listagem de produtos implementados usando Strepi.
- Banco de dados Vercel Postgres para armazenamento de dados.
- Controle de estado do carrinho e outros recursos usando Zustand.
- Estilo e layout responsivos com Tailwind CSS.
- Linter configurado com ESLint e Prettier usando o pacote de configuração personalizado @snarloff/eslint-config.
O projeto faz uso de diversas tecnologias e pacotes:
- React: Biblioteca de JavaScript para criar interfaces de usuário.
- Next.js: Framework React para aplicativos web.
- Tailwind CSS: Estrutura de estilo utilitário.
- Clerk: Serviço de autenticação.
- Strepi: Plataforma de ecommerce.
- Prisma: Camada de acesso a dados para Node.js e TypeScript.
- Vercel Postgres: Banco de dados Postgres hospedado na Vercel.
- Zustand: Biblioteca para gerenciamento de estado.
- ESLint: Linter para JavaScript/TypeScript.
- Prettier: Formatador de código.
Para executar o projeto em sua máquina, siga os passos abaixo:
-
Clone este repositório:
git clone https://github.com/Snarloff/next-commerce.git
-
Navegue até o diretório do projeto:
cd ecommerce-fullstack
-
Instale as dependências:
npm install
-
Inicie o servidor de desenvolvimento:
npm run dev
O aplicativo estará disponível em http://localhost:3000
.
Certifique-se de configurar corretamente as variáveis de ambiente necessárias para a autenticação com o serviço Clerk, as informações de pagamento com Strepi, bem como as configurações de acesso ao banco de dados Vercel Postgres.
Contribuições são bem-vindas! Se você deseja contribuir para este projeto, siga as diretrizes de contribuição e envie um pull request.
Se você encontrar problemas ou tiver sugestões para melhorar este projeto, por favor, abra uma issue neste repositório.