workspace/projects/gamilit/docs/95-guias-desarrollo/DEV-SERVERS.md
rckrdmrd ea1879f4ad feat: Initial workspace structure with multi-level Git configuration
- Configure workspace Git repository with comprehensive .gitignore
- Add Odoo as submodule for ERP reference code
- Include documentation: SETUP.md, GIT-STRUCTURE.md
- Add gitignore templates for projects (backend, frontend, database)
- Structure supports independent repos per project/subproject level

Workspace includes:
- core/ - Reusable patterns, modules, orchestration system
- projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.)
- knowledge-base/ - Reference code and patterns (includes Odoo submodule)
- devtools/ - Development tools and templates
- customers/ - Client implementations template

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 10:44:23 -06:00

248 lines
4.9 KiB
Markdown

# 🚀 GAMILIT - Guía de Servidores de Desarrollo
Guía rápida para iniciar y detener los servidores de desarrollo Frontend y Backend.
---
## 📦 Configuración de Puertos
| Servidor | Puerto | URL |
|----------|--------|-----|
| **Frontend** (Vite + React) | **3005** | http://localhost:3005 |
| **Backend** (NestJS) | **3006** | http://localhost:3006 |
| **Backend API Docs** | **3006** | http://localhost:3006/api/docs |
---
## 🚀 Inicio Rápido
### Opción 1: Usar Scripts Helper (Recomendado)
```bash
# Iniciar ambos servidores (Frontend + Backend)
./start-dev.sh
# Iniciar solo Frontend
./start-dev.sh frontend
# Iniciar solo Backend
./start-dev.sh backend
```
### Opción 2: Manual
```bash
# Terminal 1 - Backend
cd apps/backend
npm run dev
# Terminal 2 - Frontend
cd apps/frontend
npm run dev
```
---
## 🛑 Detener Servidores
### Opción 1: Usar Script Helper (Recomendado)
```bash
# Detener ambos servidores
./stop-dev.sh
# Detener solo Frontend
./stop-dev.sh frontend
# Detener solo Backend
./stop-dev.sh backend
```
### Opción 2: Manual
```bash
# Presionar Ctrl+C en cada terminal donde esté corriendo el servidor
# O matar procesos por puerto
lsof -ti:3005 | xargs kill -9 # Frontend
lsof -ti:3006 | xargs kill -9 # Backend
```
---
## 📋 Ver Logs
```bash
# Ver logs Frontend en tiempo real
tail -f /tmp/gamilit-frontend.log
# Ver logs Backend en tiempo real
tail -f /tmp/gamilit-backend.log
# Ver últimas 50 líneas
tail -50 /tmp/gamilit-frontend.log
tail -50 /tmp/gamilit-backend.log
```
---
## 🔍 Verificar Estado
```bash
# Verificar qué servidores están corriendo
lsof -i:3005 -i:3006 | grep LISTEN
# Verificar procesos
ps aux | grep "vite\|nest"
# Verificar PIDs guardados
cat /tmp/gamilit-frontend.pid
cat /tmp/gamilit-backend.pid
```
---
## 🌐 URLs Importantes
### Frontend
- **Aplicación:** http://localhost:3005
- **Dashboard:** http://localhost:3005/dashboard
- **Progreso:** http://localhost:3005/progress
- **Achievements:** http://localhost:3005/achievements
- **Leaderboard:** http://localhost:3005/leaderboard
### Backend
- **API Base:** http://localhost:3006/api
- **API Docs (Swagger):** http://localhost:3006/api/docs
- **Auth:** http://localhost:3006/api/auth
- **Educational:** http://localhost:3006/api/educational
- **Progress:** http://localhost:3006/api/progress
- **Social:** http://localhost:3006/api/social
- **Gamification:** http://localhost:3006/api/gamification
- **Admin:** http://localhost:3006/api/admin
---
## 🔧 Configuración CORS
El Backend está configurado para aceptar requests desde:
**Desarrollo:**
- `http://localhost:3005` (Frontend principal)
- `http://localhost:5173` (Vite default - fallback)
**Producción:**
- `http://74.208.126.102:3005`
- `http://74.208.126.102:5173`
- `http://74.208.126.102`
- `https://gamilit.com`
- `https://www.gamilit.com`
Para cambiar orígenes permitidos, editar:
- **Desarrollo:** `apps/backend/.env``CORS_ORIGIN`
- **Producción:** `apps/backend/.env.production``CORS_ORIGIN`
---
## 🐛 Solución de Problemas
### Error: Puerto en uso
```bash
# Liberar puertos manualmente
./stop-dev.sh
# O manualmente
lsof -ti:3005 | xargs kill -9
lsof -ti:3006 | xargs kill -9
```
### Error: Dependencias faltantes
```bash
# Reinstalar dependencias Frontend
cd apps/frontend
rm -rf node_modules package-lock.json
npm install
# Reinstalar dependencias Backend
cd apps/backend
rm -rf node_modules package-lock.json
npm install
```
### Error: Tailwind CSS no compila
```bash
# Limpiar cache de Vite
cd apps/frontend
rm -rf node_modules/.vite
npm run dev
```
### Error: Backend no conecta a Base de Datos
```bash
# Verificar que PostgreSQL esté corriendo
sudo systemctl status postgresql
# Verificar credenciales en .env
cat apps/backend/.env | grep DB_
```
---
## 📝 Variables de Entorno
### Frontend (`apps/frontend/.env`)
```bash
VITE_API_URL=http://localhost:3006
VITE_JWT_SECRET=IksGn8fpggQ2MlhAG3/dlzpIOrx+cNyAgEBmYF3nIYs=
```
### Backend (`apps/backend/.env`)
```bash
# Server
PORT=3006
NODE_ENV=dev
# Database
DB_HOST=localhost
DB_PORT=5432
DB_NAME=gamilit_platform
DB_USER=gamilit_user
DB_PASSWORD=ULwSaMu5uTNQYTaJTelPY3gGFMTKNOqo
# CORS
CORS_ORIGIN=http://localhost:3005,http://localhost:5173
# JWT
JWT_SECRET=IksGn8fpggQ2MlhAG3/dlzpIOrx+cNyAgEBmYF3nIYs=
JWT_REFRESH_SECRET=GXhorH2FV6M/kbXItZRcKGmPATRAb56rFNgwhtaqCDs=
```
---
## ✅ Checklist Antes de Desarrollar
- [ ] PostgreSQL corriendo (`sudo systemctl status postgresql`)
- [ ] Base de datos `gamilit_platform` creada
- [ ] Variables de entorno configuradas (`.env`)
- [ ] Dependencias instaladas (`npm install` en ambos proyectos)
- [ ] Puertos 3005 y 3006 libres
- [ ] Scripts helper tienen permisos de ejecución (`chmod +x *.sh`)
---
## 🎯 Next Steps
1. Iniciar servidores: `./start-dev.sh`
2. Abrir navegador: http://localhost:3005
3. Verificar API Docs: http://localhost:3006/api/docs
4. Happy coding! 🚀
---
**Última actualización:** 2025-11-02
**Versión:** 1.0.0