| Tabla de contenidos |
|---|
...
Formación autónoma
Para la formación inicial en FundeWebJS, se plantea ir siguiendo las guías disponibles en la documentación, e ir aplicando lo que se vaya viendo en un proyecto de prueba. Para esto, el guión a seguir sería el siguiente:
INTRODUCCIÓN
SPRING BOOT
Seguimos las siguientes guías, implementando cada cosa para nuestro proyecto. La aplicación de ejemplo que tenemos es una en la que tratamos diplomas de alumnos, y para ello en el esquema PORTALFUNDEWEB tenemos las tablas CURSO_FDWJS_ALUMNO, CURSO_FDWJS_DIPLOMA y CURSO_FDWJS_TITULACION. En este proyecto tenemos un servicio REST que permite obtener un alumno por dni, la descripción de una titulación, las titulaciones con paginación, los diplomas (todos o los correspondientes a un alumno), persistir una titulación, y obtener un pdf de un diploma. Con esto, cubrimos todas las operaciones básicas y lo que se explica en las siguientes guías. El proyecto completo lo podemos descargar aquí: Proyecto Spring de ejemplo completo.
Para la formación, en función de las necesidades de cada grupo, se puede implementar este mismo ejemplo, o uno que sirva de cara a algún proyecto propio, pero en el que se cubran todos los apartados.
Entre los cursos que ya se han realizado y la documentación de Confluence disponemos de suficientes recursos para poder aprender y empezar a programar en FundeWebJS. A continuación indicamos un guión orientativo de los pasos que habría que seguir.
La página de la que parte toda la documentación es la siguiente: FUNDEWEBJS - Manuales
Introducción
| Info |
|---|
Podemos ver más abajo el primer vídeo del último curso realizado (Curso ACADE abril 2022) para ver la introducción a FundeWebJS. |
De aquí, debemos empezar por el apartado Antes de empezar a trabajar, y en concreto nos centraremos en estas dos guías:
También debemos tener en cuenta el resto de páginas para desarrollar un nuevo servicio, pero a nivel de formación esas dos son las más importantes para empezar.
Como las aplicaciones se dividen en dos proyectos, vamos a ver los recursos para cada uno de ellos.
Backend - Spring Boot
| Info |
|---|
Podemos consultar más abajo los vídeos 2, 3, 4 y 5 del último curso realizado (Curso ACADE abril 2022) para ver las partes de esta formación correspondientes a Spring Boot. |
En la parte de backend, podemos tomar las siguientes guías como troncalesEl guión a seguir es:
- Creación y estructura de proyecto SpringBoot
- Confiugración del proyecto
- Despliegue en LOCAL de proyecto Backend
- Creación de Entidades JPA a partir de tabla de Base de Datos
- JPA: Acceso a base de datos
- Servicios REST con Spring Boot
Para estos apartados, aparte de la documentación, podemos ver los vídeos del curso anterior al que se referencia en "Otros recursos", más abajo. Aunque se hayan actualizado cosas en la documentación, nos pueden servir los siguientes vídeos como explicación adicional:
VUE
Recientemente se ha cambiado la manera de hacer el front-end de los servicios. Todos van a ir al Portal de Servicios, e irán unificados en un único proyecto. Los servicios que ya existían se están migrando a este proyecto unificado. Las formaciones anteriores se dieron cuando cada servicio tenía un proyecto independiente, por lo que hay cosas que ahora son diferentes, como la configuración del proyecto. Por ello, lo primero que debemos hacer es ponernos el proyecto Portal UI:
- Proyectos en POSE: Guía inicial - Se redirige a otras guías. Si es sólo por aprendizaje, podemos descargar el proyecto Portal UI directamente y arrancarlo en local.
Para trabajar en local, debemos tener VS Code configurado y configurar el proyecto:
- Instalación del entorno de desarrollo
- Despliegue en local de un proyecto Vue - Para abrir la consola de VS Code, podemos hacerlo pulsando en la línea azul de abajo, o con Ctrl + Ñ.
A partir de aquí, podemos ir viendo las diferentes guías para aprender y familiarizarnos con la forma de trabajar en Vue:
- Cómo depurar en Vue
- Gestión de paquetes y dependencias
- Estructura de los componentes en Vue
- Registro de Componentes
- Vue Router: Navegación. Debemos añadir los componentes correspondientes a cada una de las vistas de la aplicación, aunque estén vacíos de momento, y comprobar que se hace la navegación correctamente.
- Axios: llamadas a servicios REST. Implementar las llamadas a los servicios REST, y construir los componentes a partir de aquí.
- Vuex: estado global. No se utiliza en el proyecto de referencia, pero al menos hay que leérselo y entenderlo.
- i18n: internacionalización. No se utiliza en el proyecto de referencia, pero al menos hay que leérselo y entenderlo.
Puede sernos de utilidad este vídeo, parte de la sesión en la que se explica Vue, del curso anterior, el que se referencia en "Otros recursos", más abajo. Puede ser también un buen complemento a la documentación:
Otros recursos
Después, igual que en el caso anterior el resto de páginas también son importantes, estaría bien entrar también al menos en estas:
- Logs en Spring Boot
- Login con OAuth en Spring Boot
- Devolver DTO como respuesta de peticiones REST
- Documentar APIs con OPENAPI
- Tests unitarios en Spring Boot
Frontend - Vue JS
La parte front puede ser la que más problemas nos de, pues salir de Java y entrar en un framework Javascript, es un cambio de concepto más grande. Para esta parte, tenemos un curso general para aprender Vue, y orientado al Portal de Servicios tenemos toda la documentación de Confluence y las explicaciones de cursos anteriores.
Curso Vue JS
Este curso fue impartido por Edu Rey y hace un repaso muy completo de los aspectos principales del framework:
Vue en el Portal de Servicios
Aquí, para ver la explicación del proyecto del Portal de Servicios (en el que desarrollaremos el front de nuestros servicios) y su estructura, podemos ver el vídeo 6 del Curso ACADE (abril 2022), este:
| Videolink | ||||
|---|---|---|---|---|
|
Además, tenemos todas las guías de Confluence que podemos consultar desde aquí: FUNDEWEBJS - Manuales. Podemos ir consultándolas a la par que vemos los vídeos del curso de Edu, para ir viendo cómo se realizará cada paso en FundeWebJS.
...
Cursos realizados
Charla EADMON (mayo 2022)
Charla complementaria a la formación del backend Spring-Boot.
| Expandir | ||||||
|---|---|---|---|---|---|---|
1) Buenas prácticas, documentación y otras utilidades.
|
Curso ACADE (abril 2022)
Este es el único curso que se ha impartido con la estructura del Portal de Servicios actual (frontend unificado).
| Expandir | ||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1) Introducción y arquitectura de aplicaciones FundeWebJS
2) Spring Boot - Creación y configuración del proyecto
3) Spring Boot - DTOs
4) Spring Boot - JPA Repository, servicios REST
5) Spring Boot - Autenticación back, discusión de implementación
6) Vue - Proyecto Portal de Servicios, descarga y explicación de su estructura
7) Vue - Desarrollo del servicio
8) Vue - Última sesión, breves explicaciones de detalles y trabajo autónomo
|
Curso ACADE (febrero 2021)
| Expandir |
|---|
...
Sesión 1 (01/03): Spring BootEn esta sesión vamos a empezar con el back-end del servicio Baja de matrícula. Podemos ver documentación en estos enlaces: Vamos a hacer las siguientes tareas:
Además, es importante controlar el acceso a datos y los JPA Repository, pero como en esta aplicación no son necesarios, podemos utilizar este proyecto como base: Formación-acceso-datos. Es el proyecto de los cursos anteriores, que contiene las entidades y los DTOs ya creados, y con el que para ver cómo hacer el acceso a datos podemos implementar, al menos, los siguientes métodos:
Vídeo de la sesión:
Sesión 2 (04/03): VueEn esta sesión empezamos a desarrollar el front-end de Baja de matrícula. Para ello voy a utilizar este backend: baja-matricula-api. Tiene pasos simulados, el proceso real conllevará alguna llamada más a base de datos, y pasar por pasarela de firmas, pero para centrarnos en el desarrollo con Vue y utilizarlo como ejemplo nos vale. Vídeo de la sesión
Sesión 3 (05/03): trabajo autónomo y continuar serviciosPara esta sesión dejo los dos proyectos de los que voy a partir: La parte Vue contiene todo lo que hemos ido haciendo en la sesión 2, incluida la última página, que aunque no la hemos llegado a hacer, sólo contiene un enlace con el que descargar un pdf. Las tareas de hoy son completar el servicio, cambiando las llamadas simuladas por el proceso real, que aunque haya que hacer alguna cosa intermedia más, los pasos principales son:
Además, también adaptaremos la parte vue para persistir el estado de la aplicación sólo si volvemos atrás en el formulario y si volvemos de la pasarela de firmas. Como necesitaremos consumir servicios SOAP, este enlace nos puede guiar para hacerlo en Spring Boot: https://www.baeldung.com/spring-soap-web-service Vídeo de la sesión Ha habido errores en la grabación y sólo se ha grabado mi voz, el sonido de los alumnos no.
Sesión 4 (17/03): completar serviciosProyectos: Vídeo de la sesión
Sesión 5 (18/03): completar servicios (2)Vídeo de la sesión
|
Primer curso realizado (desactualizado)
| Expandir | ||
|---|---|---|
Página de la primera formación FundeWebJS, que se impartió al grupo CURIE. En este curso se utilizan recursos desactualizados, hay partes que se han revisado y se hacen mejor en la documentación actual, al igual que los proyectos de referencia. Aún así, por si puede ser de interés, se incluyen los vídeos de las sesiones y las presentaciones utilizadas. |