Una landing page donde puedes usar un buscador, ver los grados disponibles o acceder a información de SnapStudy.
En esta pantalla podrás acceder a tu cuenta.
En esta pantalla podrás crear una nueva cuenta.
En esta página encontrarás información sobre la funcionalidad y objetivo de SnapStudy, además de conocer la tecnología con la que trabaja.
Representa el mismo listado de grados incluido en la página principal.
Muestra un listado de las asignaturas de un grado.
Representa el listado de recursos disponibles para una asignatura.
Muestra todas las coincidencias encontradas a la hora de realizar una búsqueda.
Listado de grados con opciones de borrado y creación de nuevos.
Listado de asignaturas con opciones de borrado y creación de nuevas.
Listado de recursos disponibles para una asignatura con opciones para añadir nuevos, previsualizar o eliminar existentes.
Popup que permite subir un nuevo recurso a una asignatura.
Panel que permite al administrador crear una nueva asignatura.
Panel que permite al administrador crear un nuevo grado.
Listado de documentos de una asignatura, donde se permite descargar y previsualizar estos.
Información principal del usuario, donde puedes modificar esta información o añadir una foto de perfil.
Popup que permite subir una nueva imagen de perfil.
Para construir la imagen docker de SnapStudy debemos seguir los siguientes pasos:
- Clonar el repositorio
https://github.com/codeurjc-students/2024-snap-study.git
- Navegar hasta el directorio "docker" dentro del proyecto
cd 2024-snap-study/docker
-
Instalar docker en nuestro sistema here
-
Busca docker y ejecútalo
-
Haz login en tu cuenta de Docker
docker login
- Para generar la imagen Docker, ejecuta
./create_image.sh
Este script contiene los siguientes comandos
# Establece el contexto de compilación para el padre y compila usando Dockerfile desde el directorio de Docker
docker build -t jrodriguezs2020/snapstudy -f docker/Dockerfile .
# Sube la imagen a DockerHub
docker push jrodriguezs2020/snapstudy
# Ejecuta la imagen usando docker-compose desde el directorio de Docker
docker-compose up
Para ejecutar la imagen Docker de SnapStudy debemos seguir los siguientes pasos:
- Clonar el repositorio
https://github.com/codeurjc-students/2024-snap-study.git
- Navegar hasta el directorio "docker" dentro del proyecto
cd 2024-snap-study/docker
-
Instalar docker en nuestro sistema here
-
Busca docker y ejecútalo
-
Ejecuta el comando
docker-compose up
- Podemos elegir entre usar el servicio de AWS S3 para el almacenamiento de los archivos o MinIO en local. Para usar AWS S3 es necesario tener una cuenta AWS y configurar un bucket de S3. Únicamente necesitamos sustituir los campos change-me en el archivo docker-compose.yml, en este caso AWS_S3_ACCESS_KEY_ID y AWS_S3_SECRET_ACCESS_KEY que se corresponden con el Access Key y Secrect Key del bucket S3.
Si deseamos usar MinIO, y no vamos a ejecutar la aplicación web con docker-compose, debemos tener instalado en nuestro sistema este recurso instalación. Una vez instalado abrimos una consola de comandos y debemos navegar hasta la ruta donde se encuentre el archivo minio.exe y, una vez en la ruta, debemos ejecutar el siguiente comando
minio.exe server D:/minio --console-address ":9001"
De esta forma tendremos un sistema de almacenamiento en local que simula a AWS S3.
Ten en cuenta que si decides usar MinIO con docker-compose debes ajustar las rutas a la IP del contenedor docker que se cree, además de iniciar MinIO con docker, aquí te dejo un ejemplo
version: "3.9"
services:
web:
image: jrodriguezs2020/snapstudy
ports:
- "8443:8443"
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/snapstudy
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=DAWWebapp09+
- JWT_SECRET=snapstudy
- AWS_S3_ACCESS_KEY_ID=change_me
- AWS_S3_SECRET_ACCESS_KEY=change_me
depends_on:
- db
- minio
restart: on-failure
db:
image: mysql:8.0.22
restart: always
ports:
- "3307:3306"
environment:
- MYSQL_DATABASE=snapstudy
- MYSQL_ROOT_PASSWORD=DAWWebapp09+
volumes:
- mysql:/var/lib/mysql
minio:
image: minio/minio:latest
ports:
- "9000:9000"
environment:
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=minioadmin
command: server /data
volumes:
- minio_data:/data
restart: always
volumes:
mysql:
minio_data:
Podemos conocer la IP de nuestro contenedor docker así
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' docker-minio-1
- Además debemos modificar el valor de la variable useMinIO de S3Service.java a true:
private static final boolean useMinIO = true;
- Una vez finalizado el paso anterior, abre un navegador y busca https://localhost:8443