Sistema de punto de venta en línea integrado con un bot de Discord para gestión automatizada de compras y notificaciones.
- Node.js (versión 18 o superior)
- MySQL (versión 8.0 o superior)
- Una cuenta de Discord para crear la aplicación bot
- Una cuenta de PayPal Developer para pagos
git clone <URL_DEL_REPOSITORIO>
cd CodigoPTcd backend
npm installcd ../frontend
npm installcd ../bot
npm install- Crear una base de datos nueva:
CREATE DATABASE tienda_discord;- Importar el esquema de la base de datos:
mysql -u tu_usuario -p tienda_discord < database/schema.sqlCrear archivo .env en la carpeta backend/:
# Base de datos
DB_HOST=localhost
DB_USER=tu_usuario_mysql
DB_PASSWORD=tu_contraseña_mysql
DB_NAME=tienda_discord
DB_PORT=3306
# Discord OAuth2
DISCORD_CLIENT_ID=tu_client_id_discord
DISCORD_CLIENT_SECRET=tu_client_secret_discord
DISCORD_REDIRECT_URI=http://localhost:5000/auth/discord/callback
# PayPal (usar credenciales sandbox para desarrollo)
PAYPAL_CLIENT_ID=tu_client_id_paypal_sandbox
PAYPAL_CLIENT_SECRET=tu_client_secret_paypal_sandbox
# Configuración del servidor
PORT=5000
FRONTEND_URL=http://localhost:3000Crear archivo .env en la carpeta frontend/:
REACT_APP_BACKEND_URL=http://localhost:5000
REACT_APP_PAYPAL_CLIENT_ID=tu_client_id_paypal_sandboxCrear archivo .env en la carpeta bot/:
# Bot Discord
DISCORD_TOKEN=tu_token_del_bot
DISCORD_CLIENT_ID=tu_client_id_discord
DISCORD_GUILD_ID=tu_server_id_discord
# Base de datos (misma configuración que backend)
DB_HOST=localhost
DB_USER=tu_usuario_mysql
DB_PASSWORD=tu_contraseña_mysql
DB_NAME=tienda_discord
DB_PORT=3306- Ve a Discord Developer Portal
- Crea una nueva aplicación
- Ve a la sección "Bot" y crea un bot
- Copia el token del bot para el archivo
.env
- En la sección "OAuth2", agrega la URL de redirección:
http://localhost:5000/auth/discord/callback
- Selecciona los scopes:
identifyyemail
- En OAuth2 > URL Generator, selecciona:
- Scopes:
botyapplications.commands - Permisos:
Send Messages,Manage Channels,Create Private Threads
- Scopes:
- Usa la URL generada para invitar el bot a tu servidor
- Ve a PayPal Developer
- Crea una aplicación sandbox
- Copia el Client ID y Client Secret para los archivos
.env
cd backend
npm startEl backend se ejecutará en http://localhost:5000
cd frontend
npm startEl frontend se ejecutará en http://localhost:3000
cd bot
npm startnpm start- Inicia el servidor en modo desarrollonpm run dev- Inicia con nodemon para recarga automática
npm start- Inicia la aplicación Reactnpm run build- Construye la aplicación para producción
npm start- Inicia el bot de Discordnpm run deploy- Despliega los comandos slash al servidor
CodigoPT/
├── backend/ # Servidor Node.js/Express
├── frontend/ # Aplicación React
├── bot/ # Bot de Discord
├── database/ # Esquemas y datos de la base de datos
└── README.md
- Acceso a la tienda: Ve a
http://localhost:3000 - Iniciar sesión: Usa tu cuenta de Discord para autenticarte
- Explorar productos: Navega y filtra productos disponibles
- Agregar al carrito: Selecciona productos y cantidades
- Realizar compra: Usa PayPal para completar la transacción
- Recibir notificación: El bot enviará un mensaje en Discord con los detalles
/ticket <ticket_id>- Consultar información de un ticket de compra