--- status: Archiv tags: - process/lecture subtitle: Entwicklung mit Spring Boot und Vaadin lecture_date: 2025-03-27 --- > [!abstract]- Project > Goal:: > Progress:: `$= dv.view('project-progress', {file: 'Entwicklung mit Spring Boot und Vaadin'})` > Target:: `$= dv.view('project-target', {file: 'Entwicklung mit Spring Boot und Vaadin'})` > Bar:: `$= dv.view('project-progress-bar', {file: 'Entwicklung mit Spring Boot und Vaadin'})` > Tasks:: `$= const aufgaben = dv.page('Entwicklung mit Spring Boot und Vaadin').file.inlinks.where(t => { const mt = dv.page(t.path); return mt.tags?.includes('process/task') && mt.status === 'In Arbeit'}); if (aufgaben.length > 0) { dv.header(4, aufgaben.length > 1 ? "Aufgaben" : "Aufgabe"); dv.list(aufgaben) }` ## Project Info Vortrag gehalten im Termin [[JaKo 2025]] ## Thoughts ## Resources - https://cimtag.atlassian.net/wiki/spaces/JUM/pages/4476141570/19.+objects+Jahreskonferenz+-+ONLINE+hybrid+JaKo+2025+-+Do+27.03.2025 - https://github.com/cimt-ag/spring-boot-workshop/blob/main/src/main/java/de/cimtag/rateyourbooks/dto/BookDto.java - https://github.com/cimt-ag/spring-boot-vaadin/ ## Review questions ## Aufgaben - [x] Vortrag Entwicklung mit Spring Boot und Vaadin erarbeiten [completion:: 2025-03-28] - [x] Repository spring-boot-vaadin aufsetzen [completion:: 2025-03-28] - [x] Dokumentation zu Projekt erstellen [completion:: 2025-03-28] - [x] Vortrag gehalten [due:: 2025-03-27] ] [completion:: 2025-03-27] ## Offene Aufgaben ```dataviewjs const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')).where(p => dv.page(p.path).file.tasks.length != dv.page(p.path).file.tasks.where(t => t.fullyCompleted === true).length); dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => { const page = dv.page(p.path); const tasks = page.file.tasks; return [ page.file.link, page.status, tasks.where(t => t.fullyCompleted === true).length, tasks.length ] })); ``` ## Aufgaben ```dataviewjs const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')); dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => { const page = dv.page(p.path); const tasks = page.file.tasks; return [ page.file.link, page.status, tasks.where(t => t.fullyCompleted === true).length, tasks.length ] })); ```