USB OπNIONS es una plataforma diseñada con el fin de ofrecer a la comunidad uesebista un espacio para la comunicación estudiantil, estableciendo un lugar para Anuncios, Discusiones Generales, Denuncias y Quejas, y Noticias. Además, se busca brindar a los estudiantes espacios particulares para cada materia con el fin de que puedan esteblecerse foros de Preguntas y Respuestas entre el curso y el profesor de la misma.
- Manten tu sistema actualizado
sudo apt update; sudo apt upgrade -y - Instala Node.js en su versión LTS
-
Primero instalamos
nvmcurl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash - -
Instala Node
sudo apt-get install -y nodejs
-
Verifica versiones instaladas
Idealmente v18.x o v20.x para NODE
node -v
Idealmente 9.x o superior para NPM
npm -v
-
- Instala GitHub
Verifica la version instalada con
sudo apt install git -y
git -v. - Instala Redis-Server
sudo apt-get install redis
- Inicia el servidor de Redis
NOTA: En caso de tener problemas con el servidor de Redis debido a puerto en uso, se tienen dos opciones.
redis-server
- (Opción 1) Cambiar el puerto por defecto en la configuración
sudo nano /etc/redis/redis.conf
- Busca la linea que dice
port 6379y cambiala porport 6380por ejemplo o cualquier otro puerto que sepas que este disponible. - Luego de cambiar el puerto, reinicia Redis
sudo systemctl restart redis
- Verifica en que puerto esta ejecutandose Redis
sudo netstat -tuln | grep redis
- Busca la linea que dice
- (Opción 2) Dile directamente a Redis en que puerto debe correr para la sección actual, donde dice
<port>coloca el numero de puerto preferido y disponible, como por ejemplo6380.redis-server --port <port>
- (Opción 1) Cambiar el puerto por defecto en la configuración
- Inicia el servidor de Redis
-
Clonar el repositorio
git clone https://github.com/USB-CI3715/nodebb-usb-24-dummy.git
-
Estando en la raíz del proyecto, realiza el siguiente comando
./nodebb install
Este instalará las dependencias del proyecto y, posteriormente, solicitará dirigirse a
http://localhost:4567/Para continuar la instalación. Una vez allí, debe ingresar:
- Nombre de usuario administrador
- Clave para el usuario administrador. Esta debe ser una contraseña que incluya caracteres alfanumérico, como por ejemplo
admin1234! - Seleccionar la Base de Datos para el proyecto. Asegúrese de seleccionar
rediscomo base de datos.
El resto de los campos solicitados deben dejarse sin modificación a menos que haya cambiado el puerto de redis.
-
Iniciar Sesión con su cuenta de administrador. Una vez hecho esto se desplegará la aplicación, mostrando la siguiente vista:
Note
La página de NodeBB se crea con cuatro categorías por defecto, estas se adaptaron para que nuestra implementación universitaria contara con foros de uso general relacionados al tema
Caution
Para poder utilizar todas estas funcionalidades es necesario dejar el tema por defecto de la aplicación (Theme Harmony)
Esto quiere decir que un administrador desde el dashboard no puede cambiar el tema por defecto de los siguientes mostrados puesto que de hacerlo se pierden las funcionalidades implementadas
La aplicación permite el registro de usuarios con rol de Profesor. En este registro se incluyen los campos Nombre Completo y la casilla de marcar como profesor.
En concreto, este rol permite:
- Crear y gestionar una materia. En detalle:
- Invitar a estudiantes al curso.
- Aceptar y rechazar solicitudes de aquellos estudiantes que quieran registrarse en la materia.
- Completa personalización de la materia.
- Eliminación de la materia.
- Ampliar la cantidad de categorias que pueden verse en el curso. Por defecto, al crear una materia solo se podrán ver los post realizados en la categoría asociada al curso (para más información, leer Utilización de las Categorías de las Materias).
Important
- Se asume que cualquier usuario que se registre y NO marque la casilla
Profesores un estudiante. - Todo usuario registrado tiene habilitado el mostrado de su nombre completo como configuración por defecto.
- A nivel de Adminitrador, los usuarios
Teachersse encuentran en el grupo correspondienteTeachers
-
La creación de materias se realiza mediante la siguiente vista modal, para la cual es necesario el rellenado de los campos
Course ID,Course NameyTrimester.Los demás campo tienen como valores por defecto el año actual y la primera sección. Sin embargo de ser necesario se puede hacer la selección manual de los mismos.
-
Para el campo
Trimesterse tiene un desplegable con las siguientes opciones correspondientes al sistema trimestral ofrecido por la USB. -
Para el campo
Yearse tiene un desplegable de los años disponibles, tomando el actual y mostrando los 9 próximos.
-
Para el campo
Sectionse tiene un desplegable con 10 sección disponibles.
Una vez hecho esto, se crea la materia con el nombre mostrado en la imagen siguiente, donde cabe aclarar que el nombre del Profesor, a pesar de ser mostrado en el titulo, NO forma parte del nombre de la materia. Este solo es mostrado con fines estéticos.
Note
Esta funcionalidad genera un espacio de comunicación entre profesor y estudiante mediante una categoría.
Para más información leer el posterior inciso.
Cuando una materia es creada, esta genera una categoría que posee el mismo nombre del curso creado. Para visualizarla debemos dirigirnos al apartado "Categorías" ubicado en la barra lateral izquierda.
Es gracias a esta categoría que los profesores y estudiantes pueden entablar discusiones mediante tópicos relacionados a la materia.
Acá se muestra un ejemplo de la interacción entre un estudiante y su profesor.
Cada post realizado en este espacio es desplegado en la materia correspondiente, como un historial en que los usuarios inscritos en la misma pueden consultar.
Para probar las funcionalidades expuestas, se hizo uso de GitHub Actions para la inclusión de una Suite de Pruebas, con el fin de seguir el espíritu de CI/CD. También, se puede correr la suite de pruebas localmente ejecutando el comando
npm run dummyTestsLas mismas están encontradas en el siguiente enlace y las especificaciones se encuentran en los siguientes Pull Requests:










