Una aplicación web moderna de inicio de sesión y gestión de usuarios construida con Node.js, Express y PostgreSQL.
Esta aplicación proporciona un sistema completo de autenticación de usuarios que incluye:
git clone https://github.com/jamarbo/login-app.git
cd login-app
npm install
cp .env.example .env
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
La aplicación creará automáticamente las tablas necesarias al iniciar por primera vez.
npm run dev
Esto iniciará el servidor con nodemon para reinicio automático durante el desarrollo.
npm start
La aplicación estará disponible en http://localhost:3000
(o el puerto configurado).
La aplicación utiliza dos archivos de configuración de base de datos:
backend/db.js
: Configuración principalbackend/db_fixed.js
: Configuración alternativa con inicialización de tablasConfiguración en backend/utils/security.js
:
Por defecto configurado para:
http://localhost:3000
https://login-app-nd1m.onrender.com
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
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
POST /login
- Iniciar sesiónPOST /register
- Registrar nuevo usuarioGET /profile
- Obtener perfil del usuarioPOST /api/upload-avatar
- Subir avatarGET /
- Página principal (redirige a index.html)GET /check-connection
- Verificar conexión a la base de datosgit checkout -b feature/nueva-caracteristica
)git commit -am 'Añade nueva característica'
)git push origin feature/nueva-caracteristica
)Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE
para más detalles.
Si encuentras algún problema o tienes preguntas: