chore: Änderungen commited

This commit is contained in:
2025-05-14 11:23:33 +02:00
parent c7b87dc643
commit 3aefe6c5e6
4 changed files with 131 additions and 28 deletions

Binary file not shown.

14
app.py
View File

@@ -2403,6 +2403,17 @@ def get_root_mindmap_data():
joinedload(Category.children) joinedload(Category.children)
).all() ).all()
# Überprüfen, ob Kategorien vorhanden sind
if not categories:
print("Keine Hauptkategorien gefunden")
return jsonify({
'success': False,
'error': 'Keine Hauptkategorien gefunden',
'details': 'Bitte führen Sie das Datenbank-Initialisierungsskript aus'
}), 404
print(f"Gefundene Hauptkategorien: {[cat.name for cat in categories]}")
# Basis-Knoten erstellen # Basis-Knoten erstellen
nodes = [{ nodes = [{
'id': 'root', 'id': 'root',
@@ -2422,7 +2433,7 @@ def get_root_mindmap_data():
'description': category.description or '', 'description': category.description or '',
'color_code': category.color_code or '#9F7AEA', 'color_code': category.color_code or '#9F7AEA',
'category': category.name, 'category': category.name,
'has_children': bool(category.children), 'has_children': bool(category.children.count() > 0),
'icon': category.icon or 'fa-solid fa-circle' 'icon': category.icon or 'fa-solid fa-circle'
}) })
@@ -2440,6 +2451,7 @@ def get_root_mindmap_data():
}) })
except Exception as e: except Exception as e:
print(f"Fehler beim Abrufen der Root-Mindmap: {str(e)}") print(f"Fehler beim Abrufen der Root-Mindmap: {str(e)}")
traceback.print_exc()
return jsonify({ return jsonify({
'success': False, 'success': False,
'error': 'Root-Mindmap konnte nicht geladen werden', 'error': 'Root-Mindmap konnte nicht geladen werden',

View File

@@ -1,19 +1,29 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from app import app, initialize_database, db_path
from models import db, User, Thought, Comment, MindMapNode, ThoughtRelation, ThoughtRating, RelationType
from models import Category, UserMindmap, UserMindmapNode, MindmapNote
import os import os
import sqlite3 import sqlite3
from flask import Flask from flask import Flask
from flask_sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from datetime import datetime from datetime import datetime
# Pfad zur Datenbank
basedir = os.path.abspath(os.path.dirname(__file__))
db_path = os.path.join(basedir, 'database', 'systades.db')
# Stelle sicher, dass das Verzeichnis existiert
db_dir = os.path.dirname(db_path)
os.makedirs(db_dir, exist_ok=True)
# Erstelle eine temporäre Flask-App, um die Datenbank zu initialisieren # Erstelle eine temporäre Flask-App, um die Datenbank zu initialisieren
app = Flask(__name__) app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database/systades.db' app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{db_path}'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# Importiere die Modelle nach der App-Initialisierung
from models import db, User, Thought, Comment, MindMapNode, ThoughtRelation, ThoughtRating, RelationType
from models import Category, UserMindmap, UserMindmapNode, MindmapNote
db.init_app(app) db.init_app(app)
def init_db(): def init_db():
@@ -69,45 +79,111 @@ def create_default_users():
def create_default_categories(): def create_default_categories():
"""Erstellt die Standardkategorien für die Mindmap""" """Erstellt die Standardkategorien für die Mindmap"""
categories = [ # Hauptkategorien
main_categories = [
{ {
'name': 'Konzept', "name": "Philosophie",
'description': 'Abstrakte Ideen und theoretische Konzepte', "description": "Philosophisches Denken und Konzepte",
'color_code': '#6366f1', "color_code": "#9F7AEA",
'icon': 'lightbulb' "icon": "fa-brain"
}, },
{ {
'name': 'Technologie', "name": "Wissenschaft",
'description': 'Hardware, Software, Tools und Plattformen', "description": "Wissenschaftliche Disziplinen und Erkenntnisse",
'color_code': '#10b981', "color_code": "#60A5FA",
'icon': 'cpu' "icon": "fa-flask"
}, },
{ {
'name': 'Prozess', "name": "Technologie",
'description': 'Workflows, Methodologien und Vorgehensweisen', "description": "Technologische Entwicklungen und Anwendungen",
'color_code': '#f59e0b', "color_code": "#10B981",
'icon': 'git-branch' "icon": "fa-microchip"
}, },
{ {
'name': 'Person', "name": "Künste",
'description': 'Personen, Teams und Organisationen', "description": "Künstlerische Ausdrucksformen und Werke",
'color_code': '#ec4899', "color_code": "#F59E0B",
'icon': 'user' "icon": "fa-palette"
}, },
{ {
'name': 'Dokument', "name": "Psychologie",
'description': 'Dokumentationen, Referenzen und Ressourcen', "description": "Mentale Prozesse und Verhaltensweisen",
'color_code': '#3b82f6', "color_code": "#EF4444",
'icon': 'file-text' "icon": "fa-brain"
} }
] ]
for cat_data in categories: # Hauptkategorien erstellen
category_map = {}
for cat_data in main_categories:
category = Category(**cat_data) category = Category(**cat_data)
db.session.add(category) db.session.add(category)
db.session.flush() # ID generieren
category_map[cat_data["name"]] = category
# Unterkategorien für Philosophie
philosophy_subcategories = [
{"name": "Ethik", "description": "Moralische Grundsätze", "icon": "fa-balance-scale", "color_code": "#8B5CF6"},
{"name": "Logik", "description": "Gesetze des Denkens", "icon": "fa-project-diagram", "color_code": "#8B5CF6"},
{"name": "Erkenntnistheorie", "description": "Natur des Wissens", "icon": "fa-lightbulb", "color_code": "#8B5CF6"}
]
# Unterkategorien für Wissenschaft
science_subcategories = [
{"name": "Physik", "description": "Studie der Materie und Energie", "icon": "fa-atom", "color_code": "#3B82F6"},
{"name": "Biologie", "description": "Studie des Lebens", "icon": "fa-dna", "color_code": "#3B82F6"},
{"name": "Mathematik", "description": "Studie der Zahlen und Strukturen", "icon": "fa-square-root-alt", "color_code": "#3B82F6"}
]
# Unterkategorien für Technologie
tech_subcategories = [
{"name": "Software", "description": "Computerprogramme und Anwendungen", "icon": "fa-code", "color_code": "#059669"},
{"name": "Hardware", "description": "Physische Komponenten der Technik", "icon": "fa-microchip", "color_code": "#059669"},
{"name": "Internet", "description": "Globales Netzwerk und Web", "icon": "fa-globe", "color_code": "#059669"}
]
# Unterkategorien für Künste
arts_subcategories = [
{"name": "Musik", "description": "Klangkunst", "icon": "fa-music", "color_code": "#D97706"},
{"name": "Literatur", "description": "Geschriebene Kunst", "icon": "fa-book", "color_code": "#D97706"},
{"name": "Bildende Kunst", "description": "Visuelle Kunst", "icon": "fa-paint-brush", "color_code": "#D97706"}
]
# Unterkategorien für Psychologie
psychology_subcategories = [
{"name": "Kognition", "description": "Gedächtnisprozesse und Denken", "icon": "fa-brain", "color_code": "#DC2626"},
{"name": "Emotionen", "description": "Gefühle und emotionale Prozesse", "icon": "fa-heart", "color_code": "#DC2626"},
{"name": "Verhalten", "description": "Beobachtbares Verhalten und Reaktionen", "icon": "fa-user", "color_code": "#DC2626"}
]
# Alle Unterkategorien zu ihren Hauptkategorien hinzufügen
for subcat_data in philosophy_subcategories:
subcat = Category(**subcat_data)
subcat.parent_id = category_map["Philosophie"].id
db.session.add(subcat)
for subcat_data in science_subcategories:
subcat = Category(**subcat_data)
subcat.parent_id = category_map["Wissenschaft"].id
db.session.add(subcat)
for subcat_data in tech_subcategories:
subcat = Category(**subcat_data)
subcat.parent_id = category_map["Technologie"].id
db.session.add(subcat)
for subcat_data in arts_subcategories:
subcat = Category(**subcat_data)
subcat.parent_id = category_map["Künste"].id
db.session.add(subcat)
for subcat_data in psychology_subcategories:
subcat = Category(**subcat_data)
subcat.parent_id = category_map["Psychologie"].id
db.session.add(subcat)
db.session.commit() db.session.commit()
print(f"{len(categories)} Kategorien wurden erstellt.") print(f"{len(main_categories)} Hauptkategorien und {len(philosophy_subcategories + science_subcategories + tech_subcategories + arts_subcategories + psychology_subcategories)} Unterkategorien wurden erstellt.")
def create_sample_mindmap(): def create_sample_mindmap():
"""Erstellt eine Beispiel-Mindmap mit Knoten und Beziehungen""" """Erstellt eine Beispiel-Mindmap mit Knoten und Beziehungen"""

View File

@@ -1 +1,16 @@
2025-05-14 11:21:05,132 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77] 2025-05-14 11:21:05,132 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:22:21,060 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:22:23,621 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:22:23,621 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:22:27,276 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:22:29,895 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:22:29,895 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:22:38,965 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:22:41,625 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:22:41,625 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:22:51,149 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:22:53,498 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:22:53,498 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:23:02,222 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:23:04,911 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]
2025-05-14 11:23:04,911 INFO: Anwendung gestartet [in C:\Users\TTOMCZA.EMEA\Dev\website\app.py:77]