El Portal de Eventos Comunitarios es una plataforma web desarrollada en PHP, con MySQL como base de datos, junto con HTML y JavaScript para crear una interfaz de usuario interactiva y dinámica. El objetivo principal de este portal es facilitar la organización y participación en eventos comunitarios, proporcionando una experiencia fluida tanto para los usuarios regulares como para los administradores.
-
Página de Inicio: Muestra los eventos destacados y facilita el acceso rápido a las principales funcionalidades del portal.
-
Registro y Autenticación: Permite a los usuarios crear una cuenta, iniciar sesión y gestionar su perfil.
-
Gestión de Eventos: Los administradores tienen acceso a un panel donde pueden añadir, editar y eliminar eventos.
-
Comentarios y Calificaciones: Los usuarios pueden dejar reseñas y calificar los eventos con un sistema de estrellas.
-
Inscripción a Eventos: Los usuarios pueden inscribirse y gestionar los eventos a los que desean asistir.
-
Buscador y Filtros: Permite buscar eventos por fecha, categoría y ubicación.
-
Panel de Control para Administradores: Herramientas para gestionar usuarios, eventos y comentarios.
- PHP: Para la lógica del servidor.
- MySQL: Base de datos relacional que almacena los eventos, usuarios, comentarios e inscripciones.
- HTML y CSS: Para estructurar y estilizar la interfaz del usuario.
- Bootstrap: Framework utilizado para crear un diseño responsivo y atractivo.
- JavaScript: Para añadir interactividad en la interfaz de usuario.JavaScript: Para añadir interactividad en la interfaz de usuario.
- XAMPP https://www.apachefriends.org/index.html (incluye Apache y MySQL)
- Navegador web (Chrome, Firefox, etc.) Instalación
• Clona el repositorio del proyecto en tu máquina local con el siguiente comando:
bash git clone <URL_DEL_REPOSITORIO>
-
Copia o mueve la carpeta
portal-de-eventosa la carpetahtdocsde tu instalación de XAMPP. La ruta típica es:C:\xampp\htdocs\portal-de-eventos
- Abre XAMPP y asegúrate de que Apache y MySQL estén en ejecución.
- Abre tu navegador y ve a
http://localhost/phpmyadmin. - Crea una nueva base de datos llamada
portal_evento. - Haz clic en la pestaña "Importar".
- Selecciona el archivo SQL de la base de datos que se incluye en el proyecto y haz clic en "Continuar".
Abre el archivo de configuración de la base de datos (db_connection.phpde la carpeta PHP) y asegúrate de que los datos de conexión a la base de datos sean correctos. Por defecto, deberías usar: Asegúrate de que la configuración de conexión en tus archivos PHP sea correcta. Por defecto, el usuario esroot` y no hay contraseña.
**Host**: `localhost`
**Usuario**: `root`
**Contraseña**: (dejar vacío, si no has establecido una contraseña)
**Base de datos**: `portal_evento`
- Ve a
http://localhost/portal-de-eventosen tu navegador.
-Registro de usuarios: Los nuevos usuarios pueden registrarse desde la página de registro. -Inicio de sesión:Los usuarios registrados pueden iniciar sesión para acceder a sus perfiles y funciones. -Gestión de eventos: Los administradores pueden crear, editar y eliminar eventos. -Comentarios y calificaciones: Los usuarios pueden dejar comentarios y calificaciones en los eventos a los que se inscriben.
La base de datos portal_evento contiene las siguientes tablas:
-
usuarios
id: INT, PRIMARY KEY, AUTO_INCREMENTnombre: VARCHAR(50), NOT NULLemail: VARCHAR(50), NOT NULLcontrasena: VARCHAR(255), DEFAULT NULLrol: ENUM('usuario', 'admin'), DEFAULT 'usuario'reg_date: TIMESTAMP, NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
-
eventos
id: INT, PRIMARY KEY, AUTO_INCREMENTtitulo: VARCHAR(100), NOT NULLdescripcion: TEXT, NOT NULLfecha: DATE, NOT NULLubicacion: VARCHAR(100), NOT NULLcategoria: VARCHAR(50), NOT NULLvaloracion_promedio: FLOAT, DEFAULT 0fecha_creacion: TIMESTAMP, NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPhora: TIME, NOT NULL
-
comentarios
id: INT, PRIMARY KEY, AUTO_INCREMENTevento_id: INT, UNSIGNED, NOT NULL (FOREIGN KEY referencia aeventos.id)usuario_id: INT, UNSIGNED, NOT NULL (FOREIGN KEY referencia ausuarios.id)comentario: TEXT, NOT NULLvaloracion: INT(1), NOT NULLfecha_comentario: TIMESTAMP, NOT NULL DEFAULT CURRENT_TIMESTAMPcalificacion: INT(11), DEFAULT NULL
-
inscripciones
id: INT, PRIMARY KEY, AUTO_INCREMENTevento_id: INT, UNSIGNED, NOT NULL (FOREIGN KEY referencia aeventos.id)usuario_id: INT, UNSIGNED, NOT NULL (FOREIGN KEY referencia ausuarios.id)fecha_inscripcion: TIMESTAMP, NOT NULL DEFAULT CURRENT_TIMESTAMP
-
consultas
id: INT, PRIMARY KEY, AUTO_INCREMENTnombre: VARCHAR(100), NOT NULLemail: VARCHAR(100), NOT NULLmensaje: TEXT, NOT NULLrespondido: TINYINT(1), DEFAULT 0fecha: TIMESTAMP, NOT NULL DEFAULT CURRENT_TIMESTAMP