- Descripción del Proyecto
- Estado del Proyecto
- Funcionalidades del Proyecto
- Despliegue Local
- Información Adicional
- Tecnologías Usadas
Este proyecto tiene como objetivo proporcionar una plataforma para gestionar bootcamps, tutores y alumnos en IMATIA. La aplicación permite a los gestores administrar bootcamps, asignar tutores y alumnos, y realizar un seguimiento detallado de las interacciones dentro del sistema. La plataforma está construida utilizando Angular para el frontend, Node.js para el backend, y PostgreSQL como base de datos, ofreciendo una experiencia eficiente y fácil de usar tanto para los usuarios como para los administradores.
- Crear, Editar y Eliminar Bootcamps: Los gestores pueden gestionar todos los aspectos de los bootcamps, incluyendo la creación de nuevos programas, edición de los existentes y eliminación de aquellos que ya no son necesarios.
- Asignación de Tutores y Alumnos: Los gestores pueden asignar tutores y alumnos a cada bootcamp, facilitando la organización de los grupos.
- Acceso a la Información de Bootcamps y Alumnos: Los tutores tienen acceso a los bootcamps a los que están asignados y pueden ver los detalles de los alumnos bajo su supervisión.
- Subida de Materiales Educativos: Los tutores pueden cargar y gestionar materiales como cronogramas, evaluaciones y otros recursos de estudio relevantes para sus alumnos.
- Acceso a Materiales de Estudio: Los alumnos pueden acceder de manera organizada a los materiales proporcionados por los tutores, como documentos, enlaces y otros recursos.
- Visualización de Fechas Importantes: Los alumnos tienen un calendario o sección de notificaciones donde pueden ver las fechas clave del bootcamp, como exámenes y entregas de trabajos.
- Recibir Anuncios y Actualizaciones: Los alumnos pueden recibir anuncios importantes y actualizaciones sobre los bootcamps directamente en su perfil.
- Control de Acceso Personalizado: El sistema garantiza que cada usuario solo pueda acceder a las funciones y datos que le correspondan según su rol (gestor, tutor o alumno).
- Protección de Datos: El uso de tecnologías como Node.js y PostgreSQL asegura que los datos estén protegidos de accesos no autorizados.
- Diseño Adaptado a Cada Usuario: La aplicación proporciona una interfaz optimizada para cada tipo de usuario, con acceso rápido y sencillo a las funcionalidades que necesita.
- Experiencia de Usuario Mejorada: La interfaz es fluida y accesible, garantizando que la interacción con la aplicación sea fácil y eficiente.
Los parámetros en el archivo application-local.yaml
deben coincidir con los valores de los servicios de desarrollo, como la base de datos. Por defecto, los parámetros coinciden con los valores en los archivos de Docker.
-
Ve a la carpeta de la aplicación:
cd cd2024bfs4g1
-
Si no hay un despliegue de los servicios de desarrollo disponible, ejecuta el archivo Docker Compose proporcionado para iniciar los servicios:
docker compose -f docker-compose-services.yaml up
-
Compila y despliega la aplicación con los siguientes comandos:
mvn clean install -Plocal java -jar cd2024bfs4g1-boot/target/cd2024bfs4g1-boot.jar --spring.profiles.active=local
-
La aplicación es accesible usando la URL: http://localhost:8080
Por defecto, la aplicación proporciona dos usuarios. Adáptalos según sea necesario:
-
Admin:
- Rol:
Administrador
- Usuario:
admin
- Contraseña:
adminuser
- Rol:
-
Demo:
- Rol:
Usuario
- Usuario:
demo
- Contraseña:
demouser
- Rol:
-
Ve a la carpeta de la aplicación y ejecuta la instalación:
mvn clean install -Plocal
-
Ve a la carpeta
cd2024bfs4g1-boot
y ejecuta el comando:mvn spring-boot:run -Dspring-boot.run.profiles=local
-
Ve a la carpeta
frontend/src/main/ngx
, si tienesnode
ynpm
instalados en tu sistema, ejecuta los siguientes comandos:npm install npm run start-local
Usa la siguiente URL para acceder a la aplicación: http://localhost:4299
-
Ve a la carpeta
cd2024bfs4g1-boot/target
y ejecuta el comando:java -jar cd2024bfs4g1-boot/target/cd2024bfs4g1-boot.jar --spring.profiles.active=local
Usa la siguiente URL para acceder a la aplicación: http://localhost:8080
A continuación se describen las principales tecnologías utilizadas en este proyecto:
Java 11: Lenguaje de programación utilizado para el desarrollo del backend, que garantiza rendimiento y robustez.
Spring Boot: Framework basado en Java que facilita la creación de aplicaciones backend con configuración mínima y soporte para servicios REST.
JPA (Java Persistence API): Utilizado para la gestión de la persistencia de datos, facilitando la interacción con la base de datos.
Maven: Herramienta de gestión de dependencias y construcción de proyectos Java.
Angular: Framework para el desarrollo del frontend, que permite construir aplicaciones web de una sola página (SPA) con un alto nivel de interacción.
TypeScript: Superset de JavaScript que añade tipado estático, utilizado en la construcción del frontend.
HTML5: Lenguaje de marcado estándar para la estructura de la interfaz.
CSS3: Hojas de estilo para el diseño y la presentación.
SCSS: Preprocesador de CSS que permite escribir hojas de estilo de forma modular y avanzada.
NgRx: Librería para la gestión del estado de la aplicación en Angular, basada en un patrón de flujo unidireccional de datos.
PostgreSQL: Sistema de gestión de bases de datos relacional utilizado para almacenar la información de los usuarios, tutores, y otros datos relevantes.
Visual Studio Code: Editor de código fuente utilizado para el desarrollo frontend.
IntelliJ IDEA: IDE utilizado para el desarrollo backend en Java.
Git: Sistema de control de versiones utilizado para gestionar el código fuente del proyecto.
Ontimize: Framework para la creación de aplicaciones empresariales, utilizado para el desarrollo rápido del backend y la interfaz de usuario.
JUnit: Framework para pruebas unitarias en Java, utilizado para garantizar la calidad del código.
Este proyecto ha sido desarrollado como parte del Bootcamp de Desarrollo Fullstack IMATIA SEPT 2024 / FEB 2025.
📌 Equipo de Desarrollo:
🚀 Estudiantes del Bootcamp de Desarrollo Fullstack IMATIA
Nombre | Apellido 1 | Apellido 2 |
---|---|---|
Brayan | Iglesias | Pereira |
Daniel | Rey | Pérez |
David | Carrera | Otero |
David | Domínguez | Vidal |
David | Velasco | Pérez |
Francisco | Rego | Prieto |
Gabriel | Freire | Simón |
Gabriel | Alonso | Varela |
Javier | Pérez | Otero |
Jesús | Blanco | Míguez |
Joel | Álvarez | Rodríguez |
José Manuel | Riveiro | López del Castillo |
Manuel | Fernández | Crego |
Marcos Adrián | Padín | Abal |
María Jesús | Muñoz | Heredia |
Mario | Martínez | Vilariño |
Nicolás Iván | Vázquez | Pintos |
Olga | Gil | Peñas |
Ruan Nicolás | De Proença | Gimenes |
Sara | Rey | Valiño |
📅 Año: 2024/2025