You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Gestión de Pedidos - CRM Minimalista
Sistema completo de gestión de pedidos para emprendimientos, desarrollado con React, Node.js y SQLite.
## ✨ Características
- **Autenticación segura** con JWT
- **Gestión de clientes** completa
- **Creación y edición de pedidos** con múltiples artículos
- **Seguimiento de estado** de pedidos
- **Panel CRM** con estadísticas en tiempo real
- **Exportación de pedidos a PDF**
- **Búsqueda y filtrado** avanzado
- **Diseño minimalista y responsive**
- **Tipografía Sora** elegante
- **Accesibilidad WCAG** completa
- **Seguridad** sanitización de datos y validaciones
## 🚀 Requisitos
- Node.js 16+
- npm o yarn
- SQLite3 (incluido en el proyecto)
## 📦 Instalación
### 1. Clonar el repositorio
```bash
git clone
cd "Gestion de pedidos"
```
### 2. Instalar dependencias del Backend
```bash
cd backend
npm install
```
### 3. Instalar dependencias del Frontend
```bash
cd ../frontend
npm install
```
## ⚙️ Configuración
### Backend
1. Ir a la carpeta backend:
```bash
cd backend
```
2. El archivo `.env` ya está configurado con valores por defecto. Si necesitas cambiar algo:
```env
PORT=5000
JWT_SECRET=tu_clave_secreta_cambiar_en_produccion
NODE_ENV=development
DB_PATH=./database.db
FRONTEND_URL=http://localhost:5173
```
3. La base de datos se crea automáticamente al iniciar el servidor.
### Frontend
El frontend está configurado para conectarse al backend en `http://localhost:5000` por defecto.
## 🎯 Uso
### Iniciar el Backend
```bash
cd backend
npm run dev
```
El servidor correrá en `http://localhost:5000`
### Iniciar el Frontend
En otra terminal:
```bash
cd frontend
npm run dev
```
La aplicación estará disponible en `http://localhost:5173`
## 🔐 Credenciales de Prueba
Primero debes registrarte creando una cuenta con:
- Email
- Contraseña
- Nombre
## 📋 Rutas Disponibles
### Frontend
- `/login` - Página de login/registro
- `/dashboard` - Panel CRM
- `/orders` - Listado de pedidos
- `/new-order` - Crear nuevo pedido
- `/order/:id` - Detalles del pedido
- `/customers` - Gestión de clientes
### Backend API
- `POST /api/auth/register` - Registro de usuario
- `POST /api/auth/login` - Login
- `POST /api/orders` - Crear pedido
- `GET /api/orders` - Listar pedidos
- `GET /api/orders/:id` - Obtener pedido
- `PATCH /api/orders/:id/status` - Cambiar estado
- `DELETE /api/orders/:id` - Eliminar pedido
- `GET /api/orders/:id/pdf` - Descargar PDF
- `POST /api/customers` - Crear cliente
- `GET /api/customers` - Listar clientes
- `PUT /api/customers/:id` - Actualizar cliente
- `DELETE /api/customers/:id` - Eliminar cliente
- `GET /api/dashboard/stats` - Estadísticas
## 🎨 Diseño
La aplicación utiliza:
- **Color primario**: #4F46E5 (Indigo)
- **Tipografía**: Sora (Google Fonts)
- **Tema**: Claro y minimalista
- **Paleta**: Colores armoniosos respetando teoría del color
## 🔒 Seguridad
- Contraseñas hasheadas con bcryptjs
- Autenticación JWT con expiración
- Validación en cliente y servidor
- Sanitización de datos
- CORS configurado
- Headers de seguridad
## ♿ Accesibilidad
- Cumple con WCAG 2.1 Nivel AA
- Navegación por teclado completa
- ARIA labels en elementos interactivos
- Contraste de colores adecuado
- Textos alternativos en iconos
- Focus indicators visibles
## 📱 Responsive
La aplicación es totalmente responsive:
- Desktop (1200px+)
- Tablet (768px - 1199px)
- Mobile (< 768px)
## 🛠️ Tecnologías
### Backend
- Express.js
- SQLite3
- bcryptjs
- jsonwebtoken
- pdfkit
- date-fns
- CORS
### Frontend
- React 18
- Vite
- React Router
- Axios
- CSS3 (módulos y media queries)
## 📝 Licencia
Este proyecto es de código abierto.
## 🤝 Contribuciones
Las contribuciones son bienvenidas. Por favor:
1. Fork el proyecto
2. Crea una rama para tu feature
3. Commit tus cambios
4. Push a la rama
5. Abre un Pull Request
## 📞 Soporte
Para reportar problemas o sugerencias, crea un issue en el repositorio.
## ✅ Checklist de Funcionalidades
- [x] Autenticación y registro
- [x] Gestión de clientes
- [x] Creación de pedidos
- [x] Edición de estado de pedidos
- [x] Eliminación de pedidos
- [x] Búsqueda y filtrado
- [x] Panel CRM con estadísticas
- [x] Exportación a PDF
- [x] Diseño minimalista
- [x] Tipografía Sora
- [x] Accesibilidad WCAG
- [x] Seguridad básica
- [x] Responsive design
- [x] Base de datos SQLite
- [x] API REST completa
---
**¡Listo para gestionar tus pedidos de forma fácil y elegante!**
# Optativa_gestionPedidos
# Optativa_gestionPedidos