login-app

Login App - Sistema de Control de Tareas, Premios y Castigos

Una aplicación web moderna de inicio de sesión y gestión de usuarios construida con Node.js, Express y PostgreSQL.

📋 Descripción

Esta aplicación proporciona un sistema completo de autenticación de usuarios que incluye:

🚀 Características

Seguridad

Funcionalidades de Usuario

Tecnologías

📦 Requisitos

🛠️ Instalación

1. Clonar el repositorio

git clone https://github.com/jamarbo/login-app.git
cd login-app

2. Instalar dependencias

npm install

3. Configurar la base de datos

  1. Crea una base de datos PostgreSQL
  2. Copia el archivo de configuración de ejemplo:
    cp .env.example .env
    

4. Configurar variables de entorno

Edita el archivo .env con tus datos:

# Base de datos PostgreSQL
DB_HOST=localhost
DB_PORT=5432
DB_NAME=tu_nombre_base_datos
DB_USER=tu_usuario
DB_PASSWORD=tu_contraseña

# Puerto de la aplicación
PORT=3000

# Secreto para cookies (genera una cadena aleatoria segura)
COOKIE_SECRET=tu_secreto_super_seguro_aqui

# Modo de la aplicación
NODE_ENV=development

5. Inicializar la base de datos

La aplicación creará automáticamente las tablas necesarias al iniciar por primera vez.

🎮 Uso

Desarrollo

npm run dev

Esto iniciará el servidor con nodemon para reinicio automático durante el desarrollo.

Producción

npm start

La aplicación estará disponible en http://localhost:3000 (o el puerto configurado).

📱 Interfaz de Usuario

Página Principal

Perfil de Usuario

🔧 Configuración Avanzada

Base de Datos

La aplicación utiliza dos archivos de configuración de base de datos:

Seguridad

Configuración en backend/utils/security.js:

CORS

Por defecto configurado para:

🚀 Despliegue

Despliegue en Render

  1. Conecta tu repositorio a Render
  2. Configura las variables de entorno en el panel de Render
  3. El servicio se desplegará automáticamente

Variables de entorno para producción

NODE_ENV=production
PGHOST=tu_host_postgresql
PGPORT=5432
PGDATABASE=tu_base_datos
PGUSER=tu_usuario
PGPASSWORD=tu_contraseña
COOKIE_SECRET=tu_secreto_seguro

📁 Estructura del Proyecto

login-app/
├── backend/
│   ├── public/           # Archivos estáticos (HTML, CSS, JS)
│   │   ├── index.html    # Página principal
│   │   ├── profile.html  # Página de perfil
│   │   ├── style.css     # Estilos principales
│   │   ├── script.js     # JavaScript principal
│   │   └── profile.js    # JavaScript del perfil
│   ├── utils/
│   │   └── security.js   # Utilidades de seguridad
│   ├── db.js            # Configuración de base de datos
│   └── server.js        # Servidor principal
├── .env.example         # Ejemplo de configuración
├── package.json         # Dependencias y scripts
└── README.md           # Este archivo

🔍 API Endpoints

Autenticación

Utilidades

🤝 Contribuir

  1. Fork el repositorio
  2. Crea una rama para tu característica (git checkout -b feature/nueva-caracteristica)
  3. Commit tus cambios (git commit -am 'Añade nueva característica')
  4. Push a la rama (git push origin feature/nueva-caracteristica)
  5. Crea un Pull Request

📝 Licencia

Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.

🆘 Soporte

Si encuentras algún problema o tienes preguntas:

  1. Revisa los issues existentes en GitHub
  2. Crea un nuevo issue describiendo el problema
  3. Incluye información sobre tu entorno (versión de Node.js, PostgreSQL, etc.)

🔄 Versiones