Bem-vindo ao Charlie, a plataforma de e-commerce que permite que qualquer pessoa crie sua própria loja virtual de forma simples e personalizada. Com Charlie, você pode começar a vender seus produtos online em poucos minutos, sem precisar de conhecimentos avançados de programação ou design.
- Cadastro de Produtos: Adicione, edite e organize seus produtos com facilidade, incluindo descrições, imagens e preços.
- Gestão de Pedidos: Gerencie seus pedidos e seu estoque tendo controle das informações sobre suas vendas.
- Integração com Pagamentos: Conecte sua loja com a Stripe para transações de forma segura.
- Visão Geral: Tenha uma visualização geral das informações da sua loja, como as transações, itens do estoque e a quantidade de vendas de forma simples e compacta.
- Frontend: React.ts com Styled Components (Tailwind e Shadcn)
- Backend: Node.js e Typescript
- Banco de Dados: MySQL (Prisma)
- Autenticação: Clerk e JWT (JSON Web Token)
- Pagamentos: Integração com Stripe
- Node.js instalado
- Conta no Railway ou outros plataformas que façam conexões com o banco de dados.
- Conta do Cloudinary para hospedagem de fotos do sistema
- Conta do Clerk para autenticação de login do sistema
- Conta no Stripe para integração de pagamentos
-
Clone o repositório:
git clone https://github.com/KaueLui/Charlie.git
-
Navegue até o diretório do projeto:
cd Charlie -
Instale as dependências:
npm install
-
Crie e configure o arquivo
.envcom suas credenciais:Em charlie-admin: #Informações para conexão do Clerk NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY= CLERK_SECRET_KEY= NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up #Banco de Dados DATABASE_URL="" #Banco de Dados para imagens NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME="" #Pagamentos STRIPE_API_KEY= FRONTEND_STORE_URL= STRIPE_WEBHOOK_SECRET=
Em charlie-store: #Configurações de perfil NEXT_PUBLIC_API_URL= NEXT_BILLBOARD_API_URL="" #Configurações de perfil STORE_NAME_URL="" STORE_DESC_URL=""
Banco de Dados local (php - em desenvolvimento): CREATE DATABASE IF NOT EXISTS charlie_user; CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, email VARCHAR(100) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
-
Execute os comandos para formar os dados no banco:
npx prisma generate & npx prisma db push -
Em charlie-admin e charlie-store, execute o comando para iniciar a aplicação:
npm run dev
-
Primeiro acesse a
charlie-admine crie sua loja, logo em seguida acessecharlie-storee veja sua loja com os itens que você cadastrou