Skip to content

HelloAVega/Proyecto-ToolBank

Repository files navigation

ToolBank – Guía de instalación y ejecución

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).

Prerrequisitos

  • XAMPP/WAMP/MAMP o servidor web con PHP 7.4+ y MySQL 5.7+ / MariaDB.
  • Extensiones PHP comunes habilitadas (mysqli, json, fileinfo).

Configuración rápida (Windows con XAMPP)

  1. Copia la carpeta del proyecto dentro de C:\xampp\htdocs\toolbank (o tu ruta preferida del DocumentRoot).
  2. Crea la base de datos e importa el esquema:
    • Abre phpMyAdmin: http://localhost/phpmyadmin.
    • Crea BD toolbank_db (collation utf8mb4_general_ci).
    • Importa db/toolbank_db.sql (estructura) y opcionalmente db/toolbank_db_datos.sql (datos de ejemplo).
  3. Ajusta la conexión en conexion.php si tu usuario/clave no es root/"":
    $host = "localhost"; $user = "root"; $pass = ""; $db = "toolbank_db";
  4. 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).

Ejecutar

  • 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.

Funcionalidades clave

  • login.php / registro.php: autenticación con password_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).

Notas de seguridad

  • 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=1 y session.cookie_secure=1 (si usas HTTPS) en php.ini.
  • Considerar token CSRF si se agregan formularios sensibles adicionales.

Estructura

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

Pruebas rápidas

  • 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.

Soporte

Si algo falla, confirma en el navegador/devtools la respuesta JSON del endpoint correspondiente y revisa el log de Apache/PHP.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors