Um sistema completo para gerenciamento de pedidos, desenvolvido com React.js, Node.js e PostgreSQL. Permite que clientes enviem pedidos online e administradores gerenciem todo o fluxo, com interface moderna, responsiva e suporte a temas claro/escuro.
- Site: sistema-pedidos-online.vercel.app
- API: sistema-pedidos-backend.onrender.com
- Database: Neon.tech PostgreSQL
Administrador
- Email:
admin@sistema.com - Senha:
admin123
Usuário Comum
- Crie uma conta diretamente pelo site
- Tema Dark/Light: Alternância com persistência
- Design Responsivo: Perfeito no mobile e desktop
- UI/UX Melhorado: Componentes elegantes e intuitivos
- Busca em tempo real por descrição e categoria
- Filtros múltiplos: status, categoria, orçamento, data
- Estatísticas em tempo real: Cards com métricas
- Filtros salvos: Interface intuitiva
- Gráficos de status: Visualização rápida da distribuição dos pedidos
- Métricas principais: Cards com números e tendências
- Pedidos recentes: Lista com preview rápido
- Ações rápidas: Links diretos para funções principais
- React.js 18
- Vite
- Tailwind CSS
- React Router DOM
- Axios
- Lucide React (Ícones)
- Context API
- Node.js
- Express.js
- PostgreSQL
- JWT (autenticação)
- bcryptjs (criptografia de senha)
- Zod (validação)
- CORS
- Multer (upload de arquivos, pronto para implementar)
- Neon.tech (PostgreSQL Cloud)
- Render.com (backend)
- Vercel (frontend)
- Criar conta e login
- Fazer novos pedidos com orçamento
- Visualizar histórico de pedidos
- Acompanhar status em tempo real
- Categorizar e filtrar pedidos
- Interface com tema claro/escuro
- Visualizar todos os pedidos
- Atualizar status dos pedidos
- Filtrar pedidos por múltiplos critérios
- Gerenciar usuários
- Dashboard com métricas avançadas e gráficos
| Status | Descrição | Emoji |
|---|---|---|
| Em análise | Pedido recebido | 🔍 |
| Aprovado | Pedido aceito | ✅ |
| Rejeitado | Pedido recusado | ❌ |
| Em andamento | Em produção | ⚙️ |
| Concluído | Finalizado | 🏁 |
- Node.js 18+
- PostgreSQL (local ou Neon.tech)
- npm ou yarn
git clone https://github.com/PabloG-7/sistema-pedidos.git
cd sistema-pedidoscd backend
npm install
cp .env.example .env- Edite o
.envcom suas configurações:DATABASE_URL=sua_string_conexao_neon_tech JWT_SECRET=seu_jwt_secret_super_seguro PORT=5000 NODE_ENV=development
- Execute o backend:
npm run dev
cd ../frontend
npm install
npm run dev- Execute o script
backend/database/schema.sqlno seu banco PostgreSQL.
npm run dev # Desenvolvimento com hot reload
npm start # Produçãonpm run dev # Desenvolvimento
npm run build # Build para produção
npm run preview # Preview do build| Campo | Tipo | Descrição |
|---|---|---|
| id | UUID | Identificador único |
| name | VARCHAR | Nome do usuário |
| VARCHAR | Email único | |
| password | VARCHAR | Senha criptografada |
| role | VARCHAR | admin ou user |
| created_at | TIMESTAMP | Data de criação |
| updated_at | TIMESTAMP | Data de atualização |
| Campo | Tipo | Descrição |
|---|---|---|
| id | UUID | Identificador único |
| user_id | UUID | ID do usuário |
| description | TEXT | Descrição do pedido |
| category | VARCHAR | Categoria do pedido |
| estimated_budget | DECIMAL | Orçamento estimado |
| status | VARCHAR | Status atual do pedido |
| created_at | TIMESTAMP | Data de criação |
| updated_at | TIMESTAMP | Data de atualização |
POST /api/auth/register— Criar contaPOST /api/auth/login— Fazer login
POST /api/orders— Criar pedidoGET /api/orders/my-orders— Meus pedidosGET /api/orders— Todos pedidos (admin)PATCH /api/orders/:id/status— Atualizar status
POST /api/upload/upload— Upload de arquivosGET /api/upload/files/:filename— Servir arquivos
GET /api/users/profile— Perfil do usuário
- Conecte o repositório no Render
- Configure as variáveis de ambiente:
DATABASE_URLJWT_SECRETNODE_ENV=production
- Deploy automático a cada push
- Conecte o repositório no Vercel
- Configure:
- Framework Preset:
Vite - Root Directory:
frontend - Build Command:
npm run build - Output Directory:
dist - Environment Variable:
VITE_API_URL=https://sistema-pedidos-backend.onrender.com/api
- Framework Preset:
- Deploy contínuo automático
- Crie uma conta no Neon.tech
- Crie um novo projeto PostgreSQL
- Execute o script
schema.sql
- 📱 PWA (Progressive Web App)
- 📁 Upload completo de arquivos
- 💬 Notificações em tempo real
- 📈 Relatórios PDF/Excel
- 🔐 Autenticação social (Google/GitHub)