Este proyecto es una app PHP (ToolBank) con:
- Autenticación (registro/login) con contraseñas cifradas.
- Catálogo de herramientas y gestión de préstamos (carrito, devolución, renovaciones).
- Capacitaciones (inscripción y progreso).
- Perfil de usuario con avatar.
- Reportes (préstamos, cursos, herramientas, ahorros).
- XAMPP/WAMP/MAMP o servidor web con PHP 7.4+ y MySQL 5.7+ / MariaDB.
- Extensiones PHP comunes habilitadas (mysqli, json, fileinfo).
- Copia la carpeta del proyecto dentro de
C:\xampp\htdocs\toolbank(o tu ruta preferida del DocumentRoot). - Crea la base de datos e importa el esquema:
- Abre phpMyAdmin:
http://localhost/phpmyadmin. - Crea BD
toolbank_db(collationutf8mb4_general_ci). - Importa
db/toolbank_db.sql(estructura) y opcionalmentedb/toolbank_db_datos.sql(datos de ejemplo).
- Abre phpMyAdmin:
- Ajusta la conexión en
conexion.phpsi tu usuario/clave no esroot/"":$host = "localhost"; $user = "root"; $pass = ""; $db = "toolbank_db";
- Asegura permisos de escritura para los avatares (si es Windows basta con que exista la carpeta):
- Carpeta:
img/avatars/(se crea automáticamente al subir un avatar).
- Carpeta:
- Inicia Apache y MySQL desde el panel de XAMPP.
- Navega a
http://localhost/toolbank/login.php. - Regístrate y accede. Explora: herramientas, carrito, préstamos, capacitaciones y reportes.
login.php/registro.php: autenticación conpassword_hash/password_verify.index.php: panel de usuario y navegación (herramientas, préstamos, carrito, capacitaciones, reportes, cuenta).script.js: lógica de UI (catálogo, carrito, reportes, perfil, cursos).api/*: endpoints REST (herramientas, préstamos, cursos, perfil, reportes).
- Tras el login se regenera el ID de sesión (mitiga fijación).
- Subida de avatar valida tamaño (≤ 2 MB), tipo real (finfo) y que sea imagen válida (getimagesize).
- Registro valida unicidad de email.
Recomendaciones adicionales (opcionales):
- Habilitar
session.cookie_httponly=1ysession.cookie_secure=1(si usas HTTPS) en php.ini. - Considerar token CSRF si se agregan formularios sensibles adicionales.
index.php
login.php
registro.php
logout.php
conexion.php
styles.css
script.js
api/
herramientas.php
prestamos.php
solicitar_prestamo.php
devolver_prestamo.php
renovar_prestamo.php
cursos_disponibles.php
cursos_inscribirse.php
mis_cursos.php
actualizar_progreso.php
perfil.php
reportes.php
ping.php
db/
toolbank_db.sql
toolbank_db_datos.sql
img/
avatars/
utils/
images_map.php
- Registro y Login.
- Subir avatar en Cuenta (JPG/PNG ≤ 2 MB).
- Agregar herramientas al carrito desde Inicio/Herramientas, pagar y confirmar que aparezcan en Préstamos.
- Inscribirse a cursos y avanzar progreso.
- Generar reportes.
Si algo falla, confirma en el navegador/devtools la respuesta JSON del endpoint correspondiente y revisa el log de Apache/PHP.