Add user authentication, thoughts, and comments functionality; enhance mindmap visualization and UI
This commit is contained in:
88
website/init_db.py
Normal file
88
website/init_db.py
Normal file
@@ -0,0 +1,88 @@
|
||||
from app import app, db, User, MindMapNode
|
||||
|
||||
def init_database():
|
||||
"""Initialize the database with admin user and mindmap structure."""
|
||||
with app.app_context():
|
||||
# Create all tables
|
||||
db.create_all()
|
||||
|
||||
# Check if we already have users
|
||||
if User.query.first() is None:
|
||||
print("Creating admin user...")
|
||||
# Create admin user
|
||||
admin = User(username='admin', email='admin@example.com', is_admin=True)
|
||||
admin.set_password('admin123')
|
||||
db.session.add(admin)
|
||||
|
||||
# Create regular test user
|
||||
test_user = User(username='test', email='test@example.com', is_admin=False)
|
||||
test_user.set_password('test123')
|
||||
db.session.add(test_user)
|
||||
|
||||
db.session.commit()
|
||||
print("Admin user created successfully!")
|
||||
|
||||
# Check if we already have mindmap nodes
|
||||
if MindMapNode.query.first() is None:
|
||||
print("Creating initial mindmap structure...")
|
||||
# Create initial mindmap structure
|
||||
root = MindMapNode(name="Wissenschaftliche Mindmap")
|
||||
db.session.add(root)
|
||||
|
||||
# Level 1 nodes
|
||||
node1 = MindMapNode(name="Naturwissenschaften", parent=root)
|
||||
node2 = MindMapNode(name="Geisteswissenschaften", parent=root)
|
||||
node3 = MindMapNode(name="Technologie", parent=root)
|
||||
node4 = MindMapNode(name="Künste", parent=root)
|
||||
db.session.add_all([node1, node2, node3, node4])
|
||||
|
||||
# Level 2 nodes - Naturwissenschaften
|
||||
node1_1 = MindMapNode(name="Physik", parent=node1)
|
||||
node1_2 = MindMapNode(name="Biologie", parent=node1)
|
||||
node1_3 = MindMapNode(name="Chemie", parent=node1)
|
||||
node1_4 = MindMapNode(name="Astronomie", parent=node1)
|
||||
db.session.add_all([node1_1, node1_2, node1_3, node1_4])
|
||||
|
||||
# Level 2 nodes - Geisteswissenschaften
|
||||
node2_1 = MindMapNode(name="Philosophie", parent=node2)
|
||||
node2_2 = MindMapNode(name="Geschichte", parent=node2)
|
||||
node2_3 = MindMapNode(name="Psychologie", parent=node2)
|
||||
node2_4 = MindMapNode(name="Soziologie", parent=node2)
|
||||
db.session.add_all([node2_1, node2_2, node2_3, node2_4])
|
||||
|
||||
# Level 2 nodes - Technologie
|
||||
node3_1 = MindMapNode(name="Informatik", parent=node3)
|
||||
node3_2 = MindMapNode(name="Biotechnologie", parent=node3)
|
||||
node3_3 = MindMapNode(name="Künstliche Intelligenz", parent=node3)
|
||||
node3_4 = MindMapNode(name="Energietechnik", parent=node3)
|
||||
db.session.add_all([node3_1, node3_2, node3_3, node3_4])
|
||||
|
||||
# Level 2 nodes - Künste
|
||||
node4_1 = MindMapNode(name="Bildende Kunst", parent=node4)
|
||||
node4_2 = MindMapNode(name="Musik", parent=node4)
|
||||
node4_3 = MindMapNode(name="Literatur", parent=node4)
|
||||
node4_4 = MindMapNode(name="Film", parent=node4)
|
||||
db.session.add_all([node4_1, node4_2, node4_3, node4_4])
|
||||
|
||||
# Level 3 nodes - a few examples
|
||||
# Physik
|
||||
MindMapNode(name="Quantenphysik", parent=node1_1)
|
||||
MindMapNode(name="Relativitätstheorie", parent=node1_1)
|
||||
|
||||
# Informatik
|
||||
MindMapNode(name="Maschinelles Lernen", parent=node3_1)
|
||||
MindMapNode(name="Softwareentwicklung", parent=node3_1)
|
||||
MindMapNode(name="Datenbanken", parent=node3_1)
|
||||
|
||||
# Commit changes
|
||||
db.session.commit()
|
||||
print("Mindmap structure created successfully!")
|
||||
|
||||
print("Database initialization complete.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
init_database()
|
||||
print("You can now run the application with 'python app.py'")
|
||||
print("Login with:")
|
||||
print(" Admin: username=admin, password=admin123")
|
||||
print(" User: username=test, password=test123")
|
||||
Reference in New Issue
Block a user