Shopfinity
Bem-vindo ao Shopfinity , um aplicativo de comércio eletrônico avançado desenvolvido com as tecnologias mais recentes. Shopfinity oferece uma solução abrangente para compras online, incluindo autenticação de usuário, gerenciamento de produtos, processamento de pagamentos e um painel de administração intuitivo.
Características
- Next.js 14 : utiliza o roteador de aplicativos mais recente e os recursos do Next.js para aplicativos da web rápidos, otimizados para SEO e renderizados no servidor.
- MongoDB : um banco de dados NoSQL para armazenamento e recuperação eficiente de dados.
- Auth.js (Next-Auth) : soluções de autenticação seguras e escalonáveis.
- Stripe : Gateway de pagamento integrado para tratamento de transações.
- Painel de administração : gerencie produtos, pedidos e usuários perfeitamente.
- Design Responsivo : Garante uma ótima experiência do usuário em todos os dispositivos.
- Coleta de endereço de entrega : colete e gerencie detalhes de remessa com facilidade.
- Tailwind CSS : para um estilo eficiente e personalizável.
Começando
Pré-requisitos
- Node.js (v14.x ou posterior)
- npm (v6.x ou posterior) ou fio (v1.x ou posterior)
- Instância MongoDB
- Stripe conta e chaves de API
Instalação
Clonar o repositório
git clone https://github.com/yourusername/shopfinity.git
cd shopfinity
Instalar dependências
npm install
# or
yarn install
Variáveis de ambiente
Crie um arquivo .env.local
no diretório raiz e adicione as seguintes variáveis de ambiente:
MONGODB_URI=your_mongodb_connection_string
AUTH_SECRET=your_auth_secret
AUTH_GITHUB_ID=your_github_client_id
AUTH_GITHUB_SECRET=your_github_client_secret
AUTH_GOOGLE_ID=your_google_client_id
AUTH_GOOGLE_SECRET=your_google_client_secret
NEXT_STRIPE_SECRET_KEY=your_stripe_secret_key
NEXT_STRIPE_PUBLIC_KEY=your_stripe_public_key
STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret
RESEND_API_KEY=your_resend_api_key
NEXT_ADMIN_EMAIL=your_admin_email
AUTH_TRUST_HOST=true
Execute o servidor de desenvolvimento
npm run dev
# or
yarn dev
Abra http://localhost:3000 com seu navegador para ver o resultado.
Estrutura do Projeto
- /app : Contém todas as rotas.
- /components : componentes React reutilizáveis.
- /lib : Configuração para MongoDB, Stripe e autenticação.
- /lib/models : modelos Mongoose para MongoDB.
- /utils : Funções utilitárias.
Uso
Autenticação
- Os usuários podem se inscrever e fazer login usando seu e-mail ou provedores terceirizados (Google, GitHub, etc.).
- Usuários autenticados podem acessar seus perfis, histórico de pedidos e muito mais.
Painel de administração
- Acessível apenas por usuários com privilégios de administrador.
- Gerenciar produtos: adicione, edite ou exclua produtos.
- Gerenciar pedidos: visualize detalhes do pedido, atualize o status do pedido.
- Gerenciar usuários: visualize informações do usuário e atribua funções administrativas.
Pagamentos
- Integrado com Stripe para processamento seguro de pagamentos.
- Os usuários podem adicionar itens ao carrinho e prosseguir para a finalização da compra.
- Coleta do endereço de entrega durante a finalização da compra.
CSS do vento favorável
- Tailwind CSS é usado para estilização. Você pode personalizar os estilos editando o arquivo
tailwind.config.js
e adicionando suas classes CSS personalizadas no arquivo styles/globals.css
.
Contribuindo
Aceitamos contribuições! Siga estas etapas para contribuir:
- Bifurque o repositório.
- Crie uma nova ramificação (
git checkout -b feature/your-feature
). - Faça suas alterações.
- Confirme suas alterações (
git commit -am 'Add new feature'
). - Envie para o branch (
git push origin feature/your-feature
). - Crie uma nova solicitação pull.
Licença
Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para obter mais detalhes.
Agradecimentos
- Próximo.js
- MongoDB
- Auth.js (próxima autenticação)
- Listra
- CSS do vento favorável
Demonstração ao vivo
Confira a demonstração ao vivo do Shopfinity aqui.
Sinta-se à vontade para personalizar este arquivo README.md
de acordo com os requisitos específicos do seu projeto. Aproveite a construção com o Shopfinity!