# GUÍA DE INICIO RÁPIDO

## 1️⃣ Instalar dependencias

```bash
npm install
```

Esto descargará:
- `express`: Framework web
- `mongoose`: Conector para MongoDB
- `dotenv`: Variables de entorno
- `cors`: Permitir peticiones desde el navegador
- `nodemon`: Reinicio automático en desarrollo

## 2️⃣ Verificar MongoDB

**Linux:**
```bash
# Ver si está ejecutándose
sudo systemctl status mongod

# Iniciar si no está activo
sudo systemctl start mongod
```

**macOS con Homebrew:**
```bash
brew services start mongodb-community
```

**Windows:**
- Abre Services y busca "MongoDB"
- O en terminal: `net start MongoDB`

**Docker (alternativa):**
```bash
docker run -d -p 27017:27017 --name mongodb mongo
```

## 3️⃣ Iniciar la aplicación

```bash
npm run dev
```

Verás:
```
Conectado a MongoDB
Servidor ejecutándose en puerto 3000
```

## 4️⃣ Abrir en navegador

```
http://localhost:3000
```

## 5️⃣ Probar la aplicación

1. **Registra un usuario:**
   - Nombre: `Juan Pérez`
   - Grupo: `1º DAM`
   - Teléfono: `612345678`
   - Click en "Registrar"

2. **Intenta duplicar:**
   - Usa el mismo teléfono
   - Verás error: "Este teléfono ya está registrado"

3. **Visualiza registros:**
   - Aparecen en la tabla abajo
   - Se actualiza cada 5 segundos

4. **Elimina un registro:**
   - Click en botón "Eliminar"

## 📌 Estructura de MongoDB

Base de datos: `registro-app`
Colección: `usuarios`

Documento ejemplo:
```json
{
  "_id": "123abc",
  "nombre": "Juan Pérez",
  "grupo": "1º DAM",
  "telefono": "612345678",
  "fechaRegistro": "2024-01-15T10:30:00Z"
}
```

## 🔍 Ver datos en MongoDB

```bash
# Acceder a mongo
mongosh

# Seleccionar base de datos
use registro-app

# Ver colecciones
show collections

# Ver usuarios
db.usuarios.find()

# Contar documentos
db.usuarios.countDocuments()

# Buscar por teléfono
db.usuarios.findOne({ telefono: "612345678" })
```

## 🛑 Detener la aplicación

Presiona `Ctrl + C` en la terminal

## ⚙️ Configuración personalizada

Edita `.env`:

```env
MONGODB_URI=mongodb://localhost:27017/registro-app
PORT=3000
NODE_ENV=development
```

**Para MongoDB remota (Atlas):**
```
MONGODB_URI=mongodb+srv://usuario:contraseña@cluster0.mongodb.net/registro-app?retryWrites=true&w=majority
```

## 🐛 Si algo no funciona

1. **Verificar MongoDB está activo:**
   ```bash
   mongosh
   ```

2. **Verificar puerto 3000 disponible:**
   ```bash
   lsof -i:3000
   ```

3. **Ver logs de error:**
   - Abre consola (F12) en navegador
   - Busca errores en rojo

4. **Probar API directamente:**
   ```bash
   curl http://localhost:3000/api/usuarios
   ```

¡Listo! 🎉 Ya tienes tu aplicación funcionando.
