Projektdokumentation Transparenzregister .. toctree:: :maxdepth: 1 semester_1 semester_2 zusammenfassung_rueck_ausblick anhang literaturverzeichnis Semester 1 =========== .. toctree:: :maxdepth: 2 einleitung recherche_techniken grundlagen_basistechniken 1. Einleitung - Sascha ------------------------ .. toctree:: :maxdepth: 2 zielsetzung_projekts projektorganisation 1.2 Zielsetzung des Projekts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Projektzusammenfassung - Projektziele und -umfang - Anforderungen und Erwartungen - Projektzeitplan und Meilensteine 1.3 Projektorganisation ~~~~~~~~~~~~~~~~~~~~~~~~~ - Weekly - Meeting-Notes - Github-Projects für Aufagbentracking 2. Recherche zu benötigten Techniken - Tim ---------------------------------------------- .. toctree:: :maxdepth: 2 technische_anforderungen_loesungsansaetze ueberblick_relevante_technologien begruendung_technologieauswahl proof-of-concept_jupyter_notebooks 2.1 Technische Anforderungen und Lösungsansätze ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.2 Überblick über relevante Technologien und Werkzeuge ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.3 Begründung der Technologieauswahl ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.4 Proof-of-Concept mit Jupyter Notebooks ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3. Grundlagen und Basistechniken ---------------------------------- .. toctree:: :maxdepth: 2 devops text_mining datenspeicherung sentimentanalyse verflechtungsanalyse visualisierung 3.1 DevOps ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.2 Text Mining ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.3 Datenspeicherung ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.4 Sentimentanalyse ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.5 Verflechtungsanalyse ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.6 Visualisierung ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Semester 2 - Umsetzungsphase des Projekts im 2. Semester ============================================================= .. toctree:: :maxdepth: 2 technische_realisierung 4. Technische Realisierung ---------------------------- .. toctree:: :maxdepth: 2 devops loesungsarchitektur_docker architektur_code_dokumentation data_transformation data_visualization 4.1 DevOps - Philipp ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. toctree:: :maxdepth: 2 github poetry codequalitaet_automatisierung 4.1.1 Github ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - CI/CD - Warum haben wir uns für DevOps entschieden? - Wie beeinflusst DevOps die Softwareentwicklung? - Wie haben wir GitHub in den Entwicklungsprozess integriert? - Welche Vorteile bietet die Verwendung von GitHub für DevOps? - Welche spezifischen Funktionen von GitHub haben wir verwendet? 4.1.2 Poetry ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Warum wird Poetry für die Verwaltung von Python-Projekten eingesetzt und welche Probleme löst es? - Warum haben wir Poetry verwendet? - Was macht Poetry? - Was sind die wichtigsten Eigenschaften und Befehle? 4.1.3 Codequalität und Automatisierung ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Was sind konkrete Beispiele, welche gelöst werden? - Wie haben wir Linter und mypy in den Entwicklungsprozess integriert? - Welche Verbesserungen in der Codequalität und Entwicklungszeit konnten wir durch die Automatisierung erzielen? - Gab es spezifische Codequalitätsprobleme, die wir mit diesen Werkzeugen behoben haben? - Haben uns die Werkzeuge geholfen oder gehindert? - Lintern und statische Codeanalyse - Typenprüfung mit mypy - Continuous Integration und automatisierte Tests - Integration von Lintern und mypy in den Entwicklungsprozess 4.2 Lösungsarchitektur: Docker - Tristan || Philipp ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. toctree:: :maxdepth: 2 architekturmodell_praesenztermin warum_docker_eingesetzt entwickeln_bereitstellen_container herausforderungen_verwendung_docker lokale_verteiltes_hochfahren_container integration_fh_infrastruktur 4.2.1 Architekturmodell nach dem Präsenztermin ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4.2.2 Warum haben wir Docker in unserer DevOps-Umgebung eingesetzt? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4.2.3 Wie haben wir Docker-Container in unserer Anwendung entwickelt und bereitgestellt? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4.2.4 Welche Herausforderungen gab es bei der Verwendung von Docker in unserem Projekt? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4.2.5 Lokale und verteiltes Hochfahren/Verwenden der Container ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4.2.6 Integration der FH Infrastruktur (Portainer, weitere Herausforderungen und Lösungen) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4.3 Architektur-/Code-Dokumentation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. toctree:: :maxdepth: 2 data_ingest_datamining_web_scraping ai_module database_generator 4.3.1 Data Ingest/Datamining /Web-Scraping - Tristan ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Warum haben wir Datamining und Web-Scraping in unserem Projekt verwendet? - Welche Datenquellen haben wir gescraped und wie haben wir die Datenverarbeitung durchgeführt? - Gab es Schwierigkeiten oder Herausforderungen beim Scrapen und bei der Datenverarbeitung? - Beschreibung der entwickelten Module zur Erstellung strukturierter Dokumente für die Staging DB - Erklärung der Staging-DB - Wie und welche Informationen werden aus unstrukturierten Daten (PDFs) extrahiert (Regex)? - Wie funktioniert der Ingest-Container? - Beschreibung des Containers - Konfiguration und Einsatz - Wie funktioniert der Data-Processing Container, welche Envs/Einstellparameter gibt es? 4.4 Data Transformation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. toctree:: :maxdepth: 2 ai_module database_generator 4.4.1 AI Module - Sebastian ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Erklärung NER Services, Pipeline - Erklärung