O SemeiaRS é uma plataforma de marketplace C2C (Consumer-to-Consumer) desenvolvida em Next.js, projetada inicialmente como um MVP genérico de e-commerce e que evoluirá para atender especificamente agricultores familiares do Rio Grande do Sul, Brasil.
- ✅ Autenticação Completa: Registro, login, logout com NextAuth.js
- ✅ Catálogo de Produtos: Listagem, busca, filtros por categoria
- ✅ Gerenciamento de Produtos: CRUD completo para vendedores
- ✅ Carrinho de Compras: Persistente no banco de dados
- ✅ Gestão de Pedidos: Para compradores e vendedores
- ✅ Sistema de Status: Timeline completa de pedidos (7 status)
- ✅ Design System: Interface responsiva com Tailwind CSS
- ✅ Localização: Interface completa em Português Brasileiro
- ⏳ Upload de Imagens: Em desenvolvimento
- 📋 Pagamentos: Planejado (AbacatePay + PagSeguro)
| Tecnologia | Descrição |
|---|---|
| Next.js 16 | Framework React fullstack com App Router |
| TypeScript | Tipagem estática para confiabilidade |
| Prisma | ORM para PostgreSQL |
| NextAuth.js | Sistema de autenticação |
| Tailwind CSS | Framework de estilização |
| Zod | Validação de dados |
- PostgreSQL
- Prisma ORM para modelagem e acesso
- Node.js 18+
- PostgreSQL (local ou cloud)
- npm ou yarn
- Clone o repositório
git clone https://github.com/felipeselau/semeiars-marketplace.git
cd semeiars-marketplace- Instale as dependências
npm install- Configure as variáveis de ambiente
cp .env.example .env
# Edite o arquivo .env com suas configurações- Configure o banco de dados
# Gere o Prisma Client
npx prisma generate
# Rode as migrações
npx prisma migrate dev
# (Opcional) Seed com dados de teste
npm run db:seed- Inicie o servidor de desenvolvimento
npm run dev- Acesse
http://localhost:3000
# Banco de dados
DATABASE_URL="postgresql://user:password@localhost:5432/semeiars"
# NextAuth
NEXTAUTH_SECRET="sua-chave-secreta-aqui"
NEXTAUTH_URL="http://localhost:3000"Após rodar o seed, você terá acesso a:
| Senha | Cidade | |
|---|---|---|
| joao.silva@email.com | senha123 | Pelotas |
| maria.santos@email.com | senha123 | Caxias do Sul |
| pedro.oliveira@email.com | senha123 | Bagé |
| ana.ferreira@email.com | senha123 | Canela |
| Senha | |
|---|---|
| comprador@email.com | senha123 |
src/
├── app/ # Next.js App Router
│ ├── api/ # API Routes
│ │ ├── auth/ # NextAuth endpoints
│ │ └── seller/ # Seller API
│ ├── cart/ # Carrinho
│ ├── login/ # Login
│ ├── orders/ # Pedidos (comprador)
│ ├── products/ # Catálogo de produtos
│ ├── profile/ # Perfil do usuário
│ ├── register/ # Registro
│ └── seller/ # Área do vendedor
│ └── orders/ # Pedidos recebidos
├── actions/ # Server Actions
├── components/ # Componentes React
├── lib/ # Utilitários
│ ├── auth.ts # Configuração NextAuth
│ ├── messages.ts # Mensagens localized
│ └── prisma.ts # Cliente Prisma
└── types/ # Definições TypeScript
- Autenticação
- Catálogo de produtos
- Carrinho de compras
- Gestão de pedidos
- Design system
- Localização pt-BR
- Upload de imagens
- Integração de pagamentos (AbacatePay + PagSeguro)
- Sistema de split entre vendedores
- Validação de agricultores
- Dashboard para produtores
- Relatórios de vendas
- Sistema de avaliações
- Chat entre comprador/vendedor
- Sistema de mensagens
- Nota fiscal
- Project Overview - Visão geral do projeto
- Checkout Integration Plan - Plano de integração de pagamentos
- Design System - Sistema de design
- Fork o projeto
- Crie sua branch (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -m 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Felipe Selau
- GitHub: @felipeselau
Desenvolvido com ❤️ para a agricultura familiar do Rio Grande do Sul