e_aprender
Proyecto de desarrollo web de aprendizaje electrónico como parte de la graduación del sexto semestre de BCA en la Universidad VNSGU
CARACTERÍSTICAS :
Sitio de usuario
- Ejecución de código en varios idiomas.
- Videollamadas de usuario a usuario, varios usuarios pueden unirse a la llamada
- Discusión para QnA con votos a favor o en contra, etiquetado de preguntas, respuesta a preguntas, etc.
- Cursos de lectura > Programa de estudios > Sección para el aprendizaje
- Lectura de artículos con me gusta/comentarios y compartir en Whatsapp, Facebook, etc.
- tawk.to chat para soporte por chat usuario-2-administrador 24 horas al día, 7 días a la semana
- Generador automático de direcciones utilizando API de ubicación html + API de codificación geográfica inversa de Google para obtener la dirección del usuario mediante GPS
- Encuesta de usuarios para recibir comentarios o encuestas de los usuarios
- Desafío usuario-2-usuario, los usuarios se desafían entre sí durante 5 rondas de preguntas aleatorias y el ganador obtiene XP por ganar, que se agrega a la XP del usuario.
- Notificación en el sitio + correo (correo html) donde el usuario recibe notificaciones sobre preguntas y desafíos
- Perfil de usuario para ver detalles como publicaciones de QnA, encuestas, seguidores e información de contacto. etc.
- ajax para seguir/dejar de seguir, actualización de dirección
Sitio de administración
- Uso extensivo de Datatables + Ajax en cada página para enumerar X registros por página, ordenar, buscar, paginar y recuperar datos en PDF, CSV, Excel e imprimir, copiar
- administrar administradores agregando/actualizando/bloqueando/desbloqueando
- administrar Categoría -> Cursos -> Capítulos por agregar/actualizar/bloquear/desbloquear
- administrar secciones (tutorial) y artículos por bloqueo/desbloqueo, agregar/actualizar con el editor WYSIWYG + inserción instantánea de imágenes agregando imágenes a imgur.com desde el propio editor
- administrar encuestas agregando/actualizando/bloqueando/desbloqueando agregando N opciones y configurando la fecha de inicio y finalización de la encuesta
- administrar preguntas de desafío agregando/actualizando/bloqueando/desbloqueando agregando 4 opciones
- administrar usuarios por bloqueo/desbloqueo y vista detallada del perfil del usuario
- gestionar QnA mediante bloqueo/desbloqueo tanto en preguntas como en respuestas
- administrar etiquetas agregando/actualizando/bloqueando/desbloqueando
- gestionar los comentarios de los usuarios mediante el envío de correos electrónicos (correos html) al usuario en respuesta a los comentarios
- Sistema On Site + Mail (correo html) para recibir comentarios.
Otro
- Uso de cURL para ejecutar una solicitud http en el backend, por ejemplo, para invocar una solicitud API de código geográfico inverso de Google sin exponer la dirección API o la clave de autenticación a los usuarios.
- URL compatibles con SEO para una mejor clasificación de los resultados de búsqueda
- Prevención de ataques XSS mediante el filtrado de la entrada del usuario y prevención de inyección SQL mediante validación en todos los puntos de entrada.
Alcance futuro
- Ocultar la exposición de las identificaciones mediante slugs (textos fáciles de usar) que también mejora el SEO
- agregando el sistema de comentarios disquss en la sección (tutorial)
- Página web + almacenamiento en caché de base de datos para cargas de página más rápidas.
- reemplace el editor WYSIWYG con el editor de rebajas.
pila tecnológica
- Servidor - Apache 2.4.29
- Lenguaje de backend: PHP 7.2.1
- Marco - Marco Codeigniter 3.1.8 MVC
- Base de datos-MySQL
- Interfaz: HTML5, Bootstrap3
- Panel de control - XAMPP 7.2.1
- Editor - Texto Sublime
Configuración en Windows
- Instale la versión XAMPP requerida.
- Abra php.ini de Apache y establezca el valor de
upload_max_filesize
en 4M , guarde el archivo, inicie/reinicie tanto el servidor Apache como el MySQL. - Abra phpmyadmin, cree una base de datos con algún nombre como
e_learn
- Una vez creada la base de datos, seleccione la base de datos e_learn de la lista de bases de datos y vaya a la pestaña importar e importe el archivo sql ubicado en
/resources/db/db.sql
y haga clic en Ir, espere un tiempo para que finalice la importación. - Abra
/application/config/config.php
y configure $config['base_url']
en la página de inicio del proyecto, por ejemplo, en http://localhost/e_learn/ si su proyecto está dentro del directorio llamado e_learn
y guarde el archivo . - Abra
/application/config/database.php
y configure los campos de hostname
, username
, password
y database
y guarde el archivo . - Visite http://localhost/e_learn y debería aparecer la página de inicio de sesión/registro del usuario. Intente iniciar sesión utilizando las credenciales de la tabla
tbluser
en la base de datos. - De manera similar, intente visitar http://localhost/e_learn/admin y debería aparecer la página de inicio de sesión del administrador; intente iniciar sesión utilizando las credenciales de la tabla
tbladmin
en la base de datos.