Volle Mindflux-App ins Deploy-Repo übernehmen

Ersetzt das Hello-World-Gerüst durch die vollständige Anwendung
(com.example.mindflux: 64 Klassen, Thymeleaf-Templates, Static-Assets,
Flyway V1–V6). Deploy-Infrastruktur (.gitea, Dockerfile) bleibt erhalten.

- pom: volle Abhängigkeiten (Security, Thymeleaf, JPA, Flyway), Spring Boot 3.4.4 / Java 17
- docker-compose: SPRING_DATASOURCE_* unverändert; App lauscht auf 8080
  (nginx -> mindflux:8080); Uploads-Volume; Admin-Passwörter via Gitea-Secrets
- Workflow: Deploy-Step injiziert MINDFLUX_ADMIN*_PASSWORD aus Secrets
- .dockerignore ergänzt; Hello-World (com.mindflux) und Test-Datei 'main' entfernt

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
AliceDarkest
2026-06-26 14:51:30 +02:00
parent f3309c1574
commit 9022961762
185 changed files with 22772 additions and 142 deletions
+40 -5
View File
@@ -1,8 +1,43 @@
server.port=8080
# =======================
# Datenbankverbindung (PostgreSQL)
# =======================
spring.datasource.url=jdbc:postgresql://postgres:5432/mindfluxdb
spring.datasource.username=mindflux
spring.datasource.password=mindflux_pass
spring.config.import=optional:file:.env[.properties]
spring.datasource.url=${MINDFLUX_DB_URL:jdbc:postgresql://localhost:5433/mindflux_db}
spring.datasource.username=${MINDFLUX_DB_USER:mindflux_user}
spring.datasource.password=${MINDFLUX_DB_PASSWORD}
spring.datasource.driver-class-name=org.postgresql.Driver
# =======================
# Hibernate / JPA
# =======================
spring.jpa.hibernate.ddl-auto=validate
spring.jpa.show-sql=true
spring.jpa.show-sql=false
spring.jpa.open-in-view=false
# =======================
# Datenbank-Migrationen
# =======================
spring.flyway.enabled=true
# =======================
# SQL-Initialisierung
# =======================
spring.sql.init.mode=never
# =======================
# Server
# =======================
server.port=8282
server.forward-headers-strategy=framework
server.servlet.session.cookie.secure=${MINDFLUX_COOKIE_SECURE:false}
server.servlet.session.cookie.http-only=true
server.servlet.session.cookie.same-site=lax
spring.output.ansi.enabled=ALWAYS
# Öffentliche Basis-URL, z. B. für künftig erzeugte absolute Links.
mindflux.public-url=${MINDFLUX_PUBLIC_URL:http://localhost:8282}
@@ -16,5 +16,4 @@ CREATE TABLE achievements (
date_achieved TIMESTAMP
);
CREATE INDEX idx_achievements_username
ON achievements (username);
CREATE INDEX idx_achievements_username ON achievements (username);
@@ -0,0 +1,14 @@
-- Generische Spiel-Ergebnistabelle für alle Mindflux-Spiele
-- (MindMatch ist das erste Spiel, das hier schreibt – die übrigen docken später an).
CREATE TABLE game_scores (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
username VARCHAR(100) NOT NULL,
game VARCHAR(50) NOT NULL,
deck VARCHAR(100),
score INT NOT NULL,
moves INT,
duration_seconds INT,
played_at TIMESTAMP NOT NULL
);
CREATE INDEX idx_game_scores_user_game ON game_scores (username, game);
@@ -0,0 +1,68 @@
-- MindMatch-Inhalte in die DB verlagern, damit Admins Decks (Kategorien) und
-- Paare jederzeit zur Laufzeit erweitern können (vorher statische JSON-Dateien).
CREATE TABLE mindmatch_decks (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
slug VARCHAR(100) NOT NULL UNIQUE,
title VARCHAR(150) NOT NULL,
sort_order INT NOT NULL DEFAULT 0,
active BOOLEAN NOT NULL DEFAULT TRUE
);
CREATE TABLE mindmatch_pairs (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
deck_id BIGINT NOT NULL REFERENCES mindmatch_decks (id) ON DELETE CASCADE,
term VARCHAR(255) NOT NULL,
match_text VARCHAR(255) NOT NULL
);
CREATE INDEX idx_mindmatch_pairs_deck ON mindmatch_pairs (deck_id);
-- Seed: die bisherigen 3 Decks plus das neue SQL-Befehle-Deck.
INSERT INTO mindmatch_decks (slug, title, sort_order, active) VALUES
('netzwerk', 'Netzwerk-Grundlagen', 1, TRUE),
('hardware', 'Hardware & Komponenten', 2, TRUE),
('it-sicherheit', 'IT-Sicherheit', 3, TRUE),
('sql-befehle', 'SQL-Befehle', 4, TRUE);
INSERT INTO mindmatch_pairs (deck_id, term, match_text)
SELECT d.id, v.term, v.match_text
FROM mindmatch_decks d
JOIN (
VALUES
('netzwerk', 'DNS', 'Löst Namen in IP-Adressen auf'),
('netzwerk', 'DHCP', 'Vergibt IP-Adressen automatisch'),
('netzwerk', 'Router', 'Verbindet verschiedene Netze'),
('netzwerk', 'Switch', 'Verbindet Geräte im LAN'),
('netzwerk', 'Gateway', 'Übergang in ein anderes Netz'),
('netzwerk', 'Firewall', 'Filtert den Netzwerkverkehr'),
('netzwerk', 'MAC-Adresse', 'Physische Hardware-Adresse'),
('netzwerk', 'Subnetzmaske', 'Trennt Netz- und Hostanteil'),
('hardware', 'CPU', 'Zentrale Recheneinheit'),
('hardware', 'RAM', 'Flüchtiger Arbeitsspeicher'),
('hardware', 'SSD', 'Schneller Flash-Speicher'),
('hardware', 'GPU', 'Grafikprozessor'),
('hardware', 'Mainboard', 'Hauptplatine des Rechners'),
('hardware', 'BIOS', 'Startet die Hardware'),
('hardware', 'Netzteil', 'Wandelt die Netzspannung um'),
('hardware', 'Cache', 'Schneller Zwischenspeicher der CPU'),
('it-sicherheit', 'Phishing', 'Täuschung zum Datenklau'),
('it-sicherheit', 'Verschlüsselung', 'Macht Daten unlesbar'),
('it-sicherheit', 'Backup', 'Sicherungskopie von Daten'),
('it-sicherheit', 'VPN', 'Verschlüsselter Tunnel'),
('it-sicherheit', '2FA', 'Zwei-Faktor-Anmeldung'),
('it-sicherheit', 'Malware', 'Schädliche Software'),
('it-sicherheit', 'Patch', 'Schließt Sicherheitslücken'),
('it-sicherheit', 'Brute Force', 'Systematisches Passwortraten'),
('sql-befehle', 'SELECT', 'Daten abfragen'),
('sql-befehle', 'INSERT', 'Datensatz einfügen'),
('sql-befehle', 'UPDATE', 'Datensatz ändern'),
('sql-befehle', 'DELETE', 'Datensatz löschen'),
('sql-befehle', 'WHERE', 'Zeilen filtern'),
('sql-befehle', 'JOIN', 'Tabellen verknüpfen'),
('sql-befehle', 'GROUP BY', 'Zeilen gruppieren'),
('sql-befehle', 'ORDER BY', 'Ergebnis sortieren')
) AS v(slug, term, match_text) ON v.slug = d.slug;
@@ -0,0 +1,152 @@
-- Weitere MindMatch-Decks aus dem Dokument "Memory-Kategorien – Fachinformatiker".
-- 5 Themen-Decks + die Oberkategorie "Abkürzungen" als 6 eigene Decks (Deck-Modell ist flach).
INSERT INTO mindmatch_decks (slug, title, sort_order, active) VALUES
('betriebssysteme', 'Betriebssysteme', 5, TRUE),
('programmierung', 'Programmierung', 6, TRUE),
('webentwicklung', 'Webentwicklung', 7, TRUE),
('softwareentwicklung', 'Softwareentwicklung', 8, TRUE),
('cloud-devops', 'Cloud & DevOps', 9, TRUE),
('abk-netzwerk', 'Abkürzungen: Netzwerk', 10, TRUE),
('abk-hardware', 'Abkürzungen: Hardware', 11, TRUE),
('abk-programmierung-datenformate','Abkürzungen: Programmierung & Datenformate', 12, TRUE),
('abk-web', 'Abkürzungen: Web', 13, TRUE),
('abk-it-sicherheit', 'Abkürzungen: IT-Sicherheit', 14, TRUE),
('abk-betriebssysteme-devops', 'Abkürzungen: Betriebssysteme & DevOps', 15, TRUE);
INSERT INTO mindmatch_pairs (deck_id, term, match_text)
SELECT d.id, v.term, v.match_text
FROM mindmatch_decks d
JOIN (
VALUES
-- Betriebssysteme
('betriebssysteme', 'Windows', 'Microsoft'),
('betriebssysteme', 'Linux', 'Open Source'),
('betriebssysteme', 'Kernel', 'Betriebssystemkern'),
('betriebssysteme', 'Prozess', 'Laufendes Programm'),
('betriebssysteme', 'Thread', 'Ausführungsstrang'),
('betriebssysteme', 'Dateisystem', 'Datenorganisation'),
('betriebssysteme', 'NTFS', 'Windows-Dateisystem'),
('betriebssysteme', 'ext4', 'Linux-Dateisystem'),
('betriebssysteme', 'Shell', 'Kommandozeile'),
('betriebssysteme', 'Terminal', 'Konsolenzugriff'),
('betriebssysteme', 'Dienst', 'Hintergrundprozess'),
('betriebssysteme', 'Rechte', 'Zugriffskontrolle'),
-- Programmierung
('programmierung', 'Variable', 'Speicherplatz'),
('programmierung', 'Schleife', 'Wiederholung'),
('programmierung', 'Array', 'Feld'),
('programmierung', 'Objekt', 'Instanz'),
('programmierung', 'Klasse', 'Bauplan'),
('programmierung', 'Methode', 'Funktion'),
('programmierung', 'Interface', 'Vertrag'),
('programmierung', 'Vererbung', 'OOP-Konzept'),
('programmierung', 'Exception', 'Fehlerbehandlung'),
('programmierung', 'Compiler', 'Übersetzer'),
('programmierung', 'Debugger', 'Fehlersuche'),
('programmierung', 'Git', 'Versionsverwaltung'),
-- Webentwicklung
('webentwicklung', 'HTML', 'Struktur'),
('webentwicklung', 'CSS', 'Gestaltung'),
('webentwicklung', 'JavaScript', 'Interaktivität'),
('webentwicklung', 'DOM', 'Dokumentenmodell'),
('webentwicklung', 'API', 'Programmierschnittstelle'),
('webentwicklung', 'JSON', 'Datenaustausch'),
('webentwicklung', 'REST', 'Architekturstil'),
('webentwicklung', 'HTTP', 'Übertragungsprotokoll'),
('webentwicklung', 'Cookie', 'Browserdaten'),
('webentwicklung', 'Session', 'Benutzersitzung'),
('webentwicklung', 'Backend', 'Serverlogik'),
('webentwicklung', 'Frontend', 'Benutzeroberfläche'),
-- Softwareentwicklung
('softwareentwicklung', 'Scrum', 'Agiles Vorgehen'),
('softwareentwicklung', 'Sprint', 'Entwicklungszyklus'),
('softwareentwicklung', 'Product Owner', 'Produktverantwortung'),
('softwareentwicklung', 'Kanban', 'Aufgabenfluss'),
('softwareentwicklung', 'UML', 'Modellierung'),
('softwareentwicklung', 'Use Case', 'Anwendungsfall'),
('softwareentwicklung', 'ER-Modell', 'Datenmodell'),
('softwareentwicklung', 'Testfall', 'Prüfung'),
('softwareentwicklung', 'CI/CD', 'Automatisierte Auslieferung'),
('softwareentwicklung', 'Refactoring', 'Codeverbesserung'),
('softwareentwicklung', 'Repository', 'Quellcodeablage'),
('softwareentwicklung', 'Merge', 'Zusammenführen'),
-- Cloud & DevOps
('cloud-devops', 'Docker', 'Container'),
('cloud-devops', 'Kubernetes', 'Container-Orchestrierung'),
('cloud-devops', 'VM', 'Virtuelle Maschine'),
('cloud-devops', 'Cloud', 'Ressourcen aus dem Internet'),
('cloud-devops', 'Azure', 'Microsoft Cloud'),
('cloud-devops', 'AWS', 'Amazon Web Services'),
('cloud-devops', 'GitHub', 'Codehosting'),
('cloud-devops', 'Jenkins', 'CI-Server'),
('cloud-devops', 'Pipeline', 'Automatisierung'),
('cloud-devops', 'YAML', 'Konfigurationsdatei'),
('cloud-devops', 'Deployment', 'Bereitstellung'),
('cloud-devops', 'Monitoring', 'Überwachung'),
-- Abkürzungen: Netzwerk
('abk-netzwerk', 'DNS', 'Domain Name System'),
('abk-netzwerk', 'DHCP', 'Dynamic Host Configuration Protocol'),
('abk-netzwerk', 'IP', 'Internet Protocol'),
('abk-netzwerk', 'TCP', 'Transmission Control Protocol'),
('abk-netzwerk', 'UDP', 'User Datagram Protocol'),
('abk-netzwerk', 'FTP', 'File Transfer Protocol'),
('abk-netzwerk', 'SSH', 'Secure Shell'),
('abk-netzwerk', 'VPN', 'Virtual Private Network'),
-- Abkürzungen: Hardware
('abk-hardware', 'CPU', 'Central Processing Unit'),
('abk-hardware', 'GPU', 'Graphics Processing Unit'),
('abk-hardware', 'RAM', 'Random Access Memory'),
('abk-hardware', 'ROM', 'Read Only Memory'),
('abk-hardware', 'SSD', 'Solid State Drive'),
('abk-hardware', 'HDD', 'Hard Disk Drive'),
('abk-hardware', 'PSU', 'Power Supply Unit'),
('abk-hardware', 'BIOS', 'Basic Input/Output System'),
('abk-hardware', 'UEFI', 'Unified Extensible Firmware Interface'),
('abk-hardware', 'PCIe', 'Peripheral Component Interconnect Express'),
-- Abkürzungen: Programmierung & Datenformate
('abk-programmierung-datenformate', 'SQL', 'Structured Query Language'),
('abk-programmierung-datenformate', 'IDE', 'Integrated Development Environment'),
('abk-programmierung-datenformate', 'SDK', 'Software Development Kit'),
('abk-programmierung-datenformate', 'OOP', 'Object Oriented Programming'),
('abk-programmierung-datenformate', 'CRUD', 'Create Read Update Delete'),
('abk-programmierung-datenformate', 'MVC', 'Model View Controller'),
('abk-programmierung-datenformate', 'ORM', 'Object Relational Mapping'),
('abk-programmierung-datenformate', 'XML', 'Extensible Markup Language'),
-- Abkürzungen: Web
('abk-web', 'URL', 'Uniform Resource Locator'),
('abk-web', 'URI', 'Uniform Resource Identifier'),
('abk-web', 'CDN', 'Content Delivery Network'),
('abk-web', 'SOAP', 'Simple Object Access Protocol'),
('abk-web', 'JWT', 'JSON Web Token'),
('abk-web', 'CORS', 'Cross Origin Resource Sharing'),
-- Abkürzungen: IT-Sicherheit
('abk-it-sicherheit', 'MFA', 'Multi Factor Authentication'),
('abk-it-sicherheit', '2FA', 'Two Factor Authentication'),
('abk-it-sicherheit', 'TLS', 'Transport Layer Security'),
('abk-it-sicherheit', 'AES', 'Advanced Encryption Standard'),
('abk-it-sicherheit', 'RSA', 'Rivest Shamir Adleman'),
('abk-it-sicherheit', 'PKI', 'Public Key Infrastructure'),
('abk-it-sicherheit', 'IDS', 'Intrusion Detection System'),
('abk-it-sicherheit', 'IPS', 'Intrusion Prevention System'),
('abk-it-sicherheit', 'SIEM', 'Security Information and Event Management'),
('abk-it-sicherheit', 'CVE', 'Common Vulnerabilities and Exposures'),
-- Abkürzungen: Betriebssysteme & DevOps
('abk-betriebssysteme-devops', 'CLI', 'Command Line Interface'),
('abk-betriebssysteme-devops', 'GUI', 'Graphical User Interface'),
('abk-betriebssysteme-devops', 'VM', 'Virtual Machine'),
('abk-betriebssysteme-devops', 'CI', 'Continuous Integration'),
('abk-betriebssysteme-devops', 'CD', 'Continuous Delivery'),
('abk-betriebssysteme-devops', 'LTS', 'Long Term Support'),
('abk-betriebssysteme-devops', 'FQDN', 'Fully Qualified Domain Name')
) AS v(slug, term, match_text) ON v.slug = d.slug;
@@ -0,0 +1,30 @@
-- TechTacular: IT-Quizduell im Jeopardy-Stil. Inhalte DB-basiert und Admin-pflegbar.
-- Kategorie -> Fragen -> Antworten (genau eine korrekt). Gefüllt wird per Seeder
-- aus den vorhandenen FinalFlux-Fragenkatalogen (siehe TechtacularSeeder).
CREATE TABLE techtacular_categories (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
slug VARCHAR(150) NOT NULL UNIQUE,
title VARCHAR(200) NOT NULL,
sort_order INT NOT NULL DEFAULT 0,
active BOOLEAN NOT NULL DEFAULT TRUE
);
CREATE TABLE techtacular_questions (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
category_id BIGINT NOT NULL REFERENCES techtacular_categories (id) ON DELETE CASCADE,
question_text VARCHAR(1000) NOT NULL,
explanation VARCHAR(1000),
points INT NOT NULL DEFAULT 100
);
CREATE TABLE techtacular_answers (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
question_id BIGINT NOT NULL REFERENCES techtacular_questions (id) ON DELETE CASCADE,
answer_text VARCHAR(500) NOT NULL,
correct BOOLEAN NOT NULL DEFAULT FALSE,
sort_order INT NOT NULL DEFAULT 0
);
CREATE INDEX idx_techtacular_questions_cat ON techtacular_questions (category_id);
CREATE INDEX idx_techtacular_answers_q ON techtacular_answers (question_id);
@@ -0,0 +1,4 @@
-- Umstellung auf das echte Jeopardy-Format (umgekehrt) mit kuratierten Inhalten.
-- Der bisherige (templatehafte) FinalFlux-Import wird geleert; der TechtacularSeeder
-- befüllt anschließend neu aus techtacular/content.json.
TRUNCATE TABLE techtacular_categories RESTART IDENTITY CASCADE;
@@ -0,0 +1,165 @@
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(145deg, #1f1f2e, #2c2c3d);
color: #ffffff;
margin: 0;
padding: 0;
}
.achievements-container {
max-width: 1400px;
margin: 2rem auto;
padding: 2rem;
display: flex;
flex-direction: column;
gap: 2rem;
animation: fadeInUp 0.8s ease-out;
}
h1, h2 {
color: #00e5ff;
text-shadow: 0 0 5px rgba(0, 229, 255, 0.2);
text-align: center;
}
.slogan {
text-align: center;
color: #ccc;
margin-bottom: 2rem;
font-style: italic;
}
/* === Zurück-Button === */
.back-button {
position: absolute;
top: 20px;
left: 20px;
background-color: #00d9ff;
color: #0d1117;
padding: 10px 18px;
border-radius: 10px;
font-weight: bold;
text-decoration: none;
box-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
transition: background-color 0.3s ease, transform 0.3s ease;
font-size: 1rem;
z-index: 1000;
}
.back-button:hover {
background-color: #00aacc;
transform: scale(1.05);
}
/* Responsives Verhalten */
@media (max-width: 768px) {
.back-button {
top: 10px;
left: 10px;
padding: 8px 14px;
font-size: 0.9rem;
}
}
.achievements-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 2rem;
}
.achievement-card {
background-color: rgba(10, 15, 25, 0.95);
padding: 2rem;
border-radius: 20px;
text-align: center;
box-shadow:
0 0 15px rgba(0, 229, 255, 0.07),
0 4px 10px rgba(0, 0, 0, 0.3);
backdrop-filter: blur(4px);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.achievement-card:hover {
transform: scale(1.02);
box-shadow: 0 0 20px rgba(0, 229, 255, 0.2);
}
.trophy-icon {
font-size: 3rem;
margin-bottom: 1rem;
}
.achievement-card h2 {
margin-bottom: 0.5rem;
}
.achievement-card p {
margin: 0.5rem 0;
}
.status {
margin-top: 1rem;
font-weight: bold;
color: #00e5ff;
}
.locked {
opacity: 0.6;
filter: grayscale(70%);
}
/* === Unlock-Effekt für freigeschaltete Achievements === */
.achievement-card.unlocked {
animation: unlock-glow 1s ease-out;
}
/* Animation für Unlock-Glow */
@keyframes unlock-glow {
0% {
box-shadow: 0 0 0 rgba(0, 229, 255, 0);
transform: scale(1);
}
50% {
box-shadow: 0 0 20px rgba(0, 229, 255, 0.7);
transform: scale(1.05);
}
100% {
box-shadow: 0 0 10px rgba(0, 229, 255, 0.2);
transform: scale(1);
}
}
/* Sanftes Pulsieren beim Hover über freigeschaltete Achievements */
.achievement-card.unlocked:hover {
animation: pulse 1.5s infinite;
}
@keyframes pulse {
0% {
box-shadow: 0 0 10px rgba(0, 229, 255, 0.2);
}
50% {
box-shadow: 0 0 20px rgba(0, 229, 255, 0.5);
}
100% {
box-shadow: 0 0 10px rgba(0, 229, 255, 0.2);
}
}
/* === Footer === */
footer {
background-color: #111122;
padding: 1rem;
text-align: center;
font-size: 0.9rem;
color: #aaa;
}
footer a {
color: #66d9ef;
text-decoration: none;
margin: 0 0.5rem;
}
footer a:hover {
text-decoration: underline;
+273
View File
@@ -0,0 +1,273 @@
body.finalflux-shell,
body.finalflux-page {
background: var(--bg-glow), var(--bg);
color: var(--text);
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.finalflux-shell {
min-height: 100vh;
display: grid;
grid-template-columns: 320px minmax(0, 1fr);
}
.finalflux-sidebar {
background: var(--surface);
border-right: 1px solid var(--border-accent);
padding: 1.5rem;
overflow-y: auto;
}
.finalflux-sidebar h1,
.finalflux-main h2,
.finalflux-main h3,
.finalflux-page h1,
.finalflux-page h2,
.finalflux-page h3 {
color: var(--accent);
}
.finalflux-sidebar p,
.finalflux-main p,
.finalflux-page p,
.finalflux-page li {
line-height: 1.65;
}
.finalflux-back,
.finalflux-page .back-link {
display: inline-block;
margin-bottom: 1rem;
padding: 0.65rem 1rem;
background: var(--accent);
color: var(--accent-ink);
border-radius: 8px;
font-weight: 700;
text-decoration: none;
}
.finalflux-nav section {
margin-top: 1.5rem;
}
.finalflux-nav h2 {
color: var(--accent-2);
font-size: 1rem;
margin-bottom: 0.7rem;
}
.finalflux-nav a {
display: block;
color: var(--muted);
text-decoration: none;
padding: 0.42rem 0.6rem;
border-radius: 6px;
}
.finalflux-nav a:hover {
background: var(--surface-2);
color: var(--accent);
}
.finalflux-main {
padding: 2rem;
max-width: 1100px;
}
.finalflux-hero,
.finalflux-panel,
.finalflux-page section {
background: var(--surface);
border-left: 4px solid var(--accent);
border-radius: 8px;
padding: 1.25rem;
margin-bottom: 1.5rem;
}
.finalflux-hero h2 {
font-size: 2rem;
margin: 0.4rem 0 1rem;
}
.eyebrow {
color: var(--accent-2);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.finalflux-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 1rem;
margin-bottom: 1.5rem;
}
.finalflux-grid article,
.fluxcheck {
background: var(--surface);
border: 1px solid var(--border-accent);
border-radius: 8px;
padding: 1rem;
}
.finalflux-actions {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
margin-top: 1rem;
}
.finalflux-actions a,
.fluxcheck button {
background: var(--accent);
color: var(--accent-ink);
border: 0;
border-radius: 8px;
cursor: pointer;
font-weight: 700;
padding: 0.65rem 1rem;
text-decoration: none;
}
.finalflux-page {
padding: 2rem;
}
.finalflux-page main {
display: block;
max-width: 980px;
margin: 0 auto;
padding: 0;
}
.finalflux-page code {
background: var(--surface-2);
border-radius: 4px;
color: var(--accent-2);
padding: 0.15rem 0.35rem;
}
.key-list {
padding-left: 1.2rem;
}
.fluxcheck label {
display: block;
margin: 0.5rem 0;
}
.fluxcheck-result {
font-weight: 700;
margin-top: 0.8rem;
}
.fluxcheck-result.correct {
color: #00ff88;
}
.fluxcheck-result.wrong {
color: #ff6b6b;
}
.finalflux-test {
background: var(--surface);
border-left: 4px solid var(--accent);
border-radius: 8px;
padding: 1.25rem;
margin-bottom: 1.5rem;
}
.test-meta {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
justify-content: space-between;
color: var(--accent-2);
font-weight: 700;
margin-bottom: 1rem;
}
.category-block {
background: var(--surface-2);
border: 1px solid var(--border-accent);
border-radius: 8px;
padding: 1rem;
margin-bottom: 1rem;
}
.category-block h2 {
margin: 0.2rem 0 0.5rem;
}
.question-card {
background: var(--bg);
border-radius: 8px;
padding: 1rem;
}
.answer-options {
display: grid;
gap: 0.65rem;
margin: 1rem 0;
}
.answer-options label {
align-items: flex-start;
background: var(--surface);
border: 1px solid var(--border-accent);
border-radius: 8px;
cursor: pointer;
display: flex;
gap: 0.65rem;
padding: 0.75rem;
}
.answer-options label:hover {
border-color: var(--accent);
}
.test-actions {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
margin-top: 1rem;
}
.test-actions button,
[data-restart-test] {
background: var(--accent);
border: 0;
border-radius: 8px;
color: var(--accent-ink);
cursor: pointer;
font-weight: 700;
padding: 0.65rem 1rem;
}
.test-actions button.secondary {
background: var(--surface-2);
border: 1px solid var(--border-accent);
color: var(--text);
}
.test-actions button:disabled {
cursor: not-allowed;
opacity: 0.45;
}
@media (max-width: 820px) {
.finalflux-shell {
grid-template-columns: 1fr;
}
.finalflux-sidebar {
border-right: 0;
border-bottom: 1px solid var(--border-accent);
}
.finalflux-main,
.finalflux-page {
padding: 1rem;
}
}
+351
View File
@@ -0,0 +1,351 @@
/* === MindMatch === Farben über zentrale Theme-Tokens (theme.css):
Dark = Grün-Neon, Light = heller Grund + Magenta. Layout: feste Viewport-Höhe,
kein Scrollen – das Spielfeld füllt den verbleibenden Platz und skaliert die Karten. */
/* Overlay-Einblendung (kam früher aus style.css). */
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
/* body bekommt Layout (Shell füllt 100vh über flex:1). Farben/Hintergrund liefert theme.css. */
body.mm-body {
height: 100vh;
min-height: 100vh;
overflow: hidden; /* Seite scrollt nie */
display: flex;
flex-direction: column;
color: var(--text);
}
.mm-shell {
flex: 1; /* body ist flex-column -> Shell füllt 100vh */
min-height: 0;
display: flex;
flex-direction: column;
padding: 0.6rem 0.85rem;
gap: 0.55rem;
}
/* --- Kopfzeile (kompakt) --- */
.mm-header {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.5rem 1.1rem;
background-color: var(--surface);
border: 1px solid var(--border);
border-radius: 12px;
box-shadow: var(--g-soft), 0 0 8px var(--glow-w);
}
.mm-header-tools {
display: flex;
align-items: center;
gap: 0.7rem;
}
.mm-title {
font-size: 1.3rem;
color: var(--accent);
margin: 0;
text-shadow: 0 0 8px var(--glow-s);
}
.mm-back, .mm-logout { text-decoration: none; font-weight: bold; }
.mm-back { color: var(--accent); }
.mm-logout { color: var(--danger); }
/* --- Leiste: Steuerung + Werte --- */
.mm-bar {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 0.55rem 0.85rem;
}
.mm-bar-group {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0.5rem;
}
.mm-field {
display: flex;
align-items: center;
gap: 0.45rem;
font-weight: 700;
color: var(--accent);
}
.mm-field select {
padding: 0.5rem 0.7rem;
border-radius: 8px;
border: 1px solid var(--border-accent);
background: var(--surface-2);
color: var(--text);
font-size: 0.95rem;
min-width: 200px;
}
.mm-btn {
padding: 0.5rem 1.1rem;
border: 0;
border-radius: 8px;
background: var(--accent);
color: var(--accent-ink);
font-weight: 700;
font-size: 0.95rem;
cursor: pointer;
text-decoration: none;
display: inline-block;
box-shadow: 0 0 14px var(--glow-w);
transition: filter 0.25s ease, transform 0.15s ease, background-color 0.25s ease;
}
.mm-btn:hover { filter: brightness(1.08); transform: translateY(-2px); }
.mm-btn-secondary {
background: var(--surface-2);
border: 1px solid var(--border-accent);
color: var(--text);
box-shadow: none;
}
/* Abbrechen-Button (rötlich, klar als Abbruch erkennbar) */
.mm-btn-cancel {
background: rgba(255, 107, 107, 0.14);
border: 1px solid rgba(255, 107, 107, 0.55);
color: var(--danger);
box-shadow: none;
}
.mm-btn-cancel:hover {
background: rgba(255, 107, 107, 0.28);
color: #ffffff;
}
/* Damit das hidden-Attribut den display:inline-block der .mm-btn überstimmt */
.mm-btn[hidden] { display: none; }
/* --- HUD als kompakte Chips --- */
.mm-hud { gap: 0.4rem; }
.mm-stat {
display: inline-flex;
align-items: baseline;
gap: 0.4rem;
padding: 0.35rem 0.7rem;
background: var(--surface-2);
border: 1px solid var(--border);
border-radius: 10px;
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--muted);
white-space: nowrap;
}
.mm-stat b { font-size: 1.05rem; color: var(--accent); }
/* --- Spielfeld: füllt den Rest, kein Scrollen --- */
.mm-stage {
flex: 1;
min-height: 0;
display: flex;
justify-content: center;
overflow: hidden;
}
.mm-board {
display: grid;
gap: clamp(0.3rem, 1.2vmin, 0.75rem);
width: 100%;
height: 100%;
min-height: 0;
margin: 0 auto;
/* grid-template-columns + max-width werden per JS gesetzt;
gleich hohe Reihen über grid-auto-rows, damit alles in die Höhe passt. */
grid-auto-rows: 1fr;
}
.mm-idle {
margin: auto;
color: var(--muted);
text-align: center;
padding: 2rem 1rem;
font-size: 1rem;
}
/* --- Karte (füllt ihre Zelle) --- */
.mm-card {
position: relative;
min-width: 0;
min-height: 0;
perspective: 900px;
cursor: pointer;
border: 0;
background: transparent;
padding: 0;
}
.mm-card-inner {
position: absolute;
inset: 0;
transform-style: preserve-3d;
transition: transform 0.45s ease;
}
.mm-card.flipped .mm-card-inner,
.mm-card.matched .mm-card-inner {
transform: rotateY(180deg);
}
.mm-card-face {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 0.4rem;
border-radius: 10px;
overflow: hidden;
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
}
/* Rückseite (verdeckt): leuchtendes Mindflux-Emblem statt ⚡ */
.mm-card-front {
background: linear-gradient(145deg, var(--surface), var(--surface-2));
border: 1px solid var(--border-accent);
box-shadow: inset 0 0 18px var(--glow-w);
font-size: 0; /* versteckt das alte ⚡-Zeichen */
}
.mm-card-front::after {
content: "";
display: block;
width: 56%;
height: 56%;
background: var(--accent);
-webkit-mask: url("/img/mindflux-emblem.png") center/contain no-repeat;
mask: url("/img/mindflux-emblem.png") center/contain no-repeat;
filter: drop-shadow(0 0 9px var(--glow-s));
}
/* Vorderseite (Inhalt) */
.mm-card-back {
background: var(--surface);
border: 1px solid var(--border-accent);
transform: rotateY(180deg);
flex-direction: column;
gap: 0.2rem;
color: var(--text);
font-weight: 600;
line-height: 1.2;
hyphens: auto;
}
.mm-card-back.mm-term {
color: var(--accent);
font-size: clamp(0.72rem, 1.7vw, 1.15rem);
font-weight: 800;
}
.mm-card-back.mm-def {
font-size: clamp(0.62rem, 1.25vw, 0.9rem);
}
.mm-kind {
font-size: clamp(0.5rem, 1vw, 0.65rem);
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--muted);
opacity: 0.9;
}
.mm-text {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
}
.mm-card:not(.matched):hover .mm-card-front {
border-color: var(--accent);
box-shadow: 0 0 14px var(--glow-s), inset 0 0 18px var(--glow-w);
}
.mm-card.matched { cursor: default; }
.mm-card.matched .mm-card-back {
border-color: #00ff88;
box-shadow: 0 0 14px rgba(0, 255, 136, 0.3);
animation: mm-pop 0.4s ease;
}
@keyframes mm-pop {
0% { transform: rotateY(180deg) scale(1); }
50% { transform: rotateY(180deg) scale(1.06); }
100% { transform: rotateY(180deg) scale(1); }
}
.mm-card.wrong .mm-card-back {
border-color: #ff6b6b;
box-shadow: 0 0 14px rgba(255, 107, 107, 0.3);
}
/* --- Ergebnis-Overlay --- */
.mm-result {
position: fixed;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background: var(--bg-glow), rgba(0, 0, 0, 0.55);
backdrop-filter: blur(4px);
z-index: 1000;
}
.mm-result[hidden] { display: none; }
.mm-result-card {
background: var(--surface);
border: 1px solid var(--border-accent);
border-radius: 18px;
padding: 2rem 2.5rem;
text-align: center;
max-width: 420px;
width: 90%;
box-shadow: 0 0 30px var(--glow-w);
animation: fadeInUp 0.5s ease-out;
}
.mm-result-card h2 { color: var(--accent); margin-bottom: 0.5rem; }
.mm-stars { font-size: 1.8rem; letter-spacing: 0.2rem; margin-bottom: 0.5rem; color: var(--accent); }
.mm-result-score { font-size: 1.3rem; margin-bottom: 0.3rem; color: var(--text); }
.mm-result-score strong { color: var(--accent); }
.mm-result-detail { color: var(--muted); font-size: 0.95rem; margin-bottom: 0.6rem; }
.mm-result-highscore { color: #00ff88; font-weight: 800; margin-bottom: 1rem; }
.mm-result-highscore[hidden] { display: none; }
.mm-result-actions {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
justify-content: center;
margin-top: 1rem;
}
/* --- Mobil --- */
@media (max-width: 600px) {
.mm-header { padding: 0.45rem 0.8rem; }
.mm-title { font-size: 1.15rem; }
.mm-field select { min-width: 150px; }
.mm-stat { font-size: 0.65rem; padding: 0.3rem 0.55rem; }
.mm-stat b { font-size: 0.95rem; }
}
+184
View File
@@ -0,0 +1,184 @@
/* === Zurück-Button === */
.back-button {
position: absolute;
top: 20px;
left: 20px;
background-color: #00d9ff;
color: #0d1117;
padding: 10px 18px;
border-radius: 10px;
font-weight: bold;
text-decoration: none;
box-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
transition: background-color 0.3s ease, transform 0.3s ease;
font-size: 1rem;
z-index: 1000;
}
.back-button:hover {
background-color: #00aacc;
transform: scale(1.05);
}
/* Responsives Verhalten */
@media (max-width: 768px) {
.back-button {
top: 10px;
left: 10px;
padding: 8px 14px;
font-size: 0.9rem;
}
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(145deg, #1f1f2e, #2c2c3d);
color: #ffffff;
margin: 0;
padding: 0;
}
.progress-container {
max-width: 1400px;
margin: 2rem auto;
padding: 2rem;
display: flex;
flex-direction: column;
gap: 2rem;
animation: fadeInUp 0.8s ease-out;
}
h1, h2, h3 {
color: #00e5ff;
text-shadow: 0 0 5px rgba(0, 229, 255, 0.2);
}
/* === Gesamtfortschritt === */
.section-overall-progress {
display: flex;
justify-content: space-between;
align-items: stretch;
flex-wrap: wrap;
gap: 2rem;
}
.progress-summary {
display: flex;
flex: 1;
gap: 2rem;
background: rgba(0, 9, 22, 0.95);
padding: 2rem;
border-radius: 20px;
box-shadow:
0 0 15px rgba(0, 229, 255, 0.05),
0 4px 10px rgba(0, 0, 0, 0.3);
backdrop-filter: blur(4px);
}
.circular-progress {
position: relative;
width: 160px;
height: 160px;
}
.percentage-label {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 1.6rem;
font-weight: bold;
}
/* XP-Leiste */
.xp-bar {
background-color: #1a1a2e;
border-radius: 10px;
overflow: hidden;
height: 20px;
margin: 0.5rem 0;
}
.xp-fill {
height: 100%;
background: linear-gradient(90deg, #00e5ff, #4cc3dd);
}
/* === Lernzeitbereich === */
.section-learn-time {
background: rgba(0, 9, 22, 0.9);
padding: 1.5rem;
border-radius: 20px;
box-shadow:
0 0 10px rgba(0, 229, 255, 0.05),
0 4px 10px rgba(0, 0, 0, 0.3);
max-width: 600px;
margin: 0 auto;
}
#learnTimeChart {
max-width: 100%;
height: 180px !important;
}
/* === Spielkarten === */
.section-game-progress {
display: flex;
flex-direction: column;
gap: 1rem;
}
.game-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
}
.game-card {
background-color: rgba(10, 15, 25, 0.95);
padding: 1.5rem;
border-radius: 16px;
box-shadow:
0 0 15px rgba(0, 229, 255, 0.07),
0 4px 10px rgba(0, 0, 0, 0.3);
backdrop-filter: blur(4px);
transition: transform 0.2s ease;
}
.game-card:hover {
transform: scale(1.02);
}
.game-progress-bar {
background-color: #1a1a2e;
border-radius: 10px;
overflow: hidden;
height: 10px;
margin: 0.5rem 0;
}
.game-progress-bar .fill {
height: 100%;
background-color: #00e5ff;
}
/* === Footer === */
footer {
background-color: #111122;
padding: 1rem;
text-align: center;
font-size: 0.9rem;
color: #aaa;
}
footer a {
color: #66d9ef;
text-decoration: none;
margin: 0 0.5rem;
}
footer a:hover {
text-decoration: underline;
+207
View File
@@ -0,0 +1,207 @@
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(145deg, #1f1f2e, #2c2c3d);
color: #ffffff;
margin: 0;
padding: 0;
}
header {
position: relative; /* wichtig für .back-button */
text-align: center;
padding: 2rem 1rem 1rem;
margin-bottom: 1rem;
}
header h1 {
font-size: 2.5rem;
color: #00e5ff;
margin-bottom: 0.5rem;
}
header .slogan {
font-size: 1.2rem;
color: #ccc;
text-shadow: 0 0 5px rgba(0, 229, 255, 0.2);
}
/* === Zurück-Button === */
.back-button {
position: absolute;
top: 20px;
left: 20px;
background-color: #00d9ff;
color: #0d1117;
padding: 10px 18px;
border-radius: 10px;
font-weight: bold;
text-decoration: none;
box-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
transition: background-color 0.3s ease, transform 0.3s ease;
font-size: 1rem;
z-index: 1000;
}
.back-button:hover {
background-color: #00aacc;
transform: scale(1.05);
}
/* Responsives Verhalten */
@media (max-width: 768px) {
.back-button {
top: 10px;
left: 10px;
padding: 8px 14px;
font-size: 0.9rem;
}
}
@media (max-width: 480px) {
.back-button {
top: 8px;
left: 8px;
padding: 6px 10px;
font-size: 0.8rem;
}
}
.settings-container {
max-width: 1000px;
margin: 2rem auto;
padding: 2rem;
background: rgba(0, 9, 22, 0.95);
border-radius: 20px;
box-shadow:
0 0 15px rgba(0, 229, 255, 0.05),
0 4px 10px rgba(0, 0, 0, 0.3);
backdrop-filter: blur(4px);
display: flex;
flex-direction: column;
gap: 2rem;
}
.section {
background-color: rgba(10, 15, 25, 0.95);
padding: 1.5rem;
border-radius: 16px;
box-shadow: 0 0 10px rgba(0, 229, 255, 0.1);
transition: transform 0.3s ease;
}
.section:hover {
transform: translateY(-5px);
box-shadow: 0 6px 20px rgba(0, 229, 255, 0.2);
}
.section h2 {
margin-bottom: 1rem;
color: #00e5ff;
}
.switch-row {
display: flex;
justify-content: space-between;
align-items: center;
margin: 1rem 0;
}
.switch {
position: relative;
display: inline-block;
width: 50px;
height: 26px;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0; left: 0; right: 0; bottom: 0;
background-color: #888;
transition: 0.4s;
border-radius: 34px;
}
.slider:before {
position: absolute;
content: "";
height: 18px;
width: 18px;
left: 4px;
bottom: 4px;
background-color: white;
transition: 0.4s;
border-radius: 50%;
}
input:checked + .slider {
background-color: #00e5ff;
}
input:checked + .slider:before {
transform: translateX(24px);
}
.settings-form {
display: flex;
flex-direction: column;
gap: 1rem;
}
.settings-form input {
padding: 0.8rem;
border-radius: 8px;
border: none;
background: #1a1a2e;
color: #fff;
}
.settings-form button {
padding: 0.8rem;
border: none;
border-radius: 8px;
background-color: #00e5ff;
color: #00172e;
font-weight: bold;
cursor: pointer;
transition: background-color 0.3s ease, transform 0.2s ease;
}
.settings-form button:hover {
background-color: #4cc3dd;
transform: scale(1.02);
}
.danger-zone button {
background-color: #ff4d4d;
color: #fff;
}
.danger-zone button:hover {
background-color: #cc0000;
}
/* === Footer === */
footer {
background-color: #111122;
padding: 1rem;
text-align: center;
font-size: 0.9rem;
color: #aaa;
}
footer a {
color: #66d9ef;
text-decoration: none;
margin: 0 0.5rem;
}
footer a:hover {
text-decoration: underline;
}
@@ -0,0 +1,78 @@
body {
background-color: #0d1117;
color: #00d9ff;
font-family: 'Poppins', sans-serif; /* oder deine Mindflux-Schrift */
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
text-align: center;
}
.container {
padding: 40px;
border: 1px solid #00d9ff; /* feiner als dashed */
border-radius: 20px;
background-color: #121826;
box-shadow: 0 0 15px rgba(0, 217, 255, 0.5);
}
h1 {
font-size: 2.2rem;
margin-bottom: 20px;
}
p {
font-size: 1.1rem;
}
.time-machine {
font-size: 2.5rem;
margin: 20px 0;
}
.small-hint {
font-size: 0.9rem;
margin-top: 20px;
color: #7f8c8d;
}
.back-button {
position: absolute;
top: 20px;
left: 20px;
background-color: #00d9ff;
color: #0d1117;
padding: 10px 18px;
border-radius: 10px;
font-weight: bold;
text-decoration: none;
box-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
transition: background-color 0.3s ease, transform 0.3s ease;
font-size: 1rem;
z-index: 1000;
}
.back-button:hover {
background-color: #00aacc;
transform: scale(1.05); /* leichter "Hover-Zoom" */
}
/* Responsives Verhalten */
@media (max-width: 768px) {
.back-button {
top: 10px;
left: 10px;
padding: 8px 14px;
font-size: 0.9rem;
}
}
@media (max-width: 480px) {
.back-button {
top: 8px;
left: 8px;
padding: 6px 10px;
font-size: 0.8rem;
}
}
+551
View File
@@ -0,0 +1,551 @@
/* === Reset === */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* === Animationen === */
@keyframes fadeInUp {
0% {
opacity: 0;
transform: translateY(20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
/* Glanz-Effekt für Hover */
@keyframes shine {
0% {
background-position: -100%;
}
100% {
background-position: 200%;
}
}
/* Fade-In für Container beim Laden */
@keyframes fadeInUp {
0% {
opacity: 0;
transform: translateY(20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
/* === Body Hintergrund === */
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(145deg, #1f1f2e, #2c2c3d);
color: #ffffff;
min-height: 100vh;
display: flex;
flex-direction: column;
}
/* === Header === */
header {
text-align: center;
padding: 2rem;
margin: 2rem auto 1rem;
width: 90%;
max-width: 1200px;
background-color: #000916;
border-radius: 20px;
box-shadow:
0 8px 20px rgba(0, 229, 255, 0.15),
0 4px 12px rgba(0, 0, 0, 0.4);
transition: all 0.3s ease-in-out;
animation: fadeInUp 0.8s ease-out;
}
header:hover {
box-shadow:
0 10px 30px rgba(0, 229, 255, 0.25),
0 6px 16px rgba(0, 0, 0, 0.5);
}
.logo {
max-height: 350px;
width: auto;
margin-bottom: 1rem;
}
header img {
max-height: 80px;
margin-bottom: 1rem;
}
header p.slogan {
font-style: italic;
color: #00e5ff;
font-size: 1.1rem;
letter-spacing: 0.5px;
text-shadow: 0 0 5px rgba(0, 229, 255, 0.2);
}
/* === Main Bereich === */
main {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 2rem;
padding: 2rem;
flex: 1;
width: 90%;
max-width: 1200px;
margin: 0 auto;
animation: fadeInUp 0.8s ease-out;
}
/* === Info-Textfeld === */
.info-box {
flex: 1 1 400px;
max-width: 600px;
background: rgba(0, 9, 22, 0.9);
padding: 2rem;
border-radius: 16px;
box-shadow:
0 0 15px rgba(0, 229, 255, 0.05),
0 4px 10px rgba(0, 0, 0, 0.3);
backdrop-filter: blur(4px);
animation: fadeInUp 0.9s ease-out;
}
/* === Login/Register Box === */
.login-box {
flex: 1 1 300px;
max-width: 400px;
background: rgba(10, 15, 25, 0.95);
padding: 2rem;
border-radius: 16px;
box-shadow:
0 0 15px rgba(0, 229, 255, 0.07),
0 4px 10px rgba(0, 0, 0, 0.3);
backdrop-filter: blur(4px);
animation: fadeInUp 1s ease-out;
}
.login-box h2 {
margin-bottom: 1rem;
color: #66d9ef;
}
.login-box form {
display: flex;
flex-direction: column;
}
.login-box input,
.login-box button {
padding: 0.75rem;
margin-bottom: 1rem;
border: none;
border-radius: 6px;
font-size: 1rem;
}
/* === Input === */
.login-box input {
background-color: #ffffff;
color: #000;
}
/* === Button mit Glanz- und Licht-Effekt === */
.login-box button {
background-color: #00e5ff;
color: #000;
font-weight: bold;
cursor: pointer;
position: relative;
overflow: hidden;
transition: background-color 0.3s ease-in-out, transform 0.2s ease;
box-shadow: 0 0 10px rgba(0, 229, 255, 0.3);
}
.login-box button::before {
content: '';
position: absolute;
top: 0;
left: -75%;
width: 50%;
height: 100%;
background: linear-gradient(
120deg,
rgba(255, 255, 255, 0.2) 0%,
rgba(255, 255, 255, 0.5) 50%,
rgba(255, 255, 255, 0.2) 100%
);
transform: skewX(-20deg);
animation: shine 2s infinite;
}
.login-box button:hover {
background-color: #4cc3dd;
transform: scale(1.02);
box-shadow: 0 0 15px rgba(0, 229, 255, 0.4), 0 0 30px rgba(0, 229, 255, 0.1) inset;
}
/* === Footer === */
footer {
background-color: #111122;
padding: 1rem;
text-align: center;
font-size: 0.9rem;
color: #aaa;
}
footer a {
color: #66d9ef;
text-decoration: none;
margin: 0 0.5rem;
}
footer a:hover {
text-decoration: underline;
}
.theme-toggle {
position: absolute;
top: 16px;
right: 16px;
z-index: 10;
}
/* Kleinere Switch-Größe */
.switch {
position: relative;
display: inline-block;
width: 42px;
height: 22px;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0; left: 0; right: 0; bottom: 0;
background-color: #888;
transition: 0.4s;
border-radius: 30px;
box-shadow: 0 0 6px rgba(0, 229, 255, 0.3);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 6px;
font-size: 0.8rem;
color: silver;
}
.slider:before {
content: "";
position: absolute;
height: 16px;
width: 16px;
left: 3px;
bottom: 3px;
background-color: #fff;
transition: 0.4s;
border-radius: 50%;
}
/* Bei aktiviertem Switch */
input:checked + .slider {
background-color: #00e5ff;
color: #fff;
}
input:checked + .slider:before {
transform: translateX(20px);
}
.icon {
pointer-events: none;
user-select: none;
}
.dashboard-tile {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background-color: rgba(0, 9, 22, 0.95);
border-radius: 20px;
padding: 2rem;
width: 100%;
height: 100%;
text-decoration: none;
color: #00e5ff;
font-weight: bold;
font-size: 1.2rem;
box-shadow:
0 0 10px rgba(0, 229, 255, 0.1),
0 4px 12px rgba(0, 0, 0, 0.3);
transition: all 0.3s ease-in-out;
}
.dashboard-tile:hover {
background-color: rgba(0, 229, 255, 0.1);
transform: translateY(-3px);
box-shadow:
0 6px 16px rgba(0, 229, 255, 0.2),
0 0 20px rgba(0, 229, 255, 0.1) inset;
}
.dashboard-tile span {
color: #00e5ff;
text-shadow: 0 0 5px rgba(0, 229, 255, 0.2);
}
/* === Profilbereich === */
.profile-container {
max-width: 800px;
margin: 2rem auto;
background: rgba(0, 9, 22, 0.95);
padding: 2rem;
border-radius: 20px;
box-shadow: 0 0 20px rgba(0, 229, 255, 0.1);
animation: fadeInUp 0.8s ease-out;
}
.profile-form {
display: flex;
flex-direction: column;
gap: 1rem;
margin-bottom: 2rem;
}
.profile-form label {
font-weight: bold;
color: #00e5ff;
}
.profile-form input {
padding: 0.75rem;
background-color: #1a1a2e;
color: #fff;
border: none;
border-radius: 8px;
font-size: 1rem;
}
.btn {
padding: 0.75rem 1.5rem;
border: none;
border-radius: 8px;
font-weight: bold;
cursor: pointer;
transition: 0.3s ease;
}
.btn.save {
background-color: #00e5ff;
color: #00172e;
}
.btn.save:hover {
background-color: #4cc3dd;
}
.btn.danger {
background-color: #ff4d4d;
color: white;
}
.btn.danger:hover {
background-color: #cc0000;
}
/* Profilbild */
.profile-picture img {
max-height: 150px;
border-radius: 12px;
margin-bottom: 1rem;
}
/* === Tab-Navigation oben === */
.tab-nav {
display: flex;
justify-content: center;
gap: 1rem;
margin: 1rem auto 2rem;
flex-wrap: wrap;
}
.tab-nav .tab {
padding: 0.6rem 1.2rem;
background-color: rgba(0, 229, 255, 0.1);
color: #00e5ff;
border-radius: 12px;
text-decoration: none;
font-weight: bold;
transition: all 0.3s ease-in-out;
box-shadow: 0 2px 6px rgba(0, 229, 255, 0.1);
}
.tab-nav .tab:hover {
background-color: rgba(0, 229, 255, 0.25);
transform: translateY(-2px);
box-shadow: 0 4px 10px rgba(0, 229, 255, 0.2);
}
.tab-nav .tab.active {
background-color: #00e5ff;
color: #000;
}
.success-message {
background-color: #00d9ff;
color: #0d1117;
padding: 1rem;
margin: 1rem auto;
max-width: 600px;
border-radius: 10px;
text-align: center;
font-weight: bold;
box-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
}
.success-message {
background-color: #00d9ff;
color: #0d1117;
padding: 1rem;
margin: 1rem auto;
max-width: 600px;
border-radius: 10px;
text-align: center;
font-weight: bold;
box-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
opacity: 1;
transition: opacity 1.5s ease-out;
}
.back-button {
position: absolute;
top: 20px;
left: 20px;
background-color: #00e5ff;
color: #0d1117;
padding: 10px 18px;
border-radius: 10px;
font-weight: bold;
text-decoration: none;
box-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
transition: background-color 0.3s ease, transform 0.3s ease;
font-size: 1rem;
z-index: 1000;
}
.back-button {
position: absolute;
top: 20px;
left: 20px;
background-color: #00d9ff;
color: #0d1117;
padding: 10px 18px;
border-radius: 10px;
font-weight: bold;
text-decoration: none;
box-shadow: 0 0 10px rgba(0, 217, 255, 0.5);
transition: background-color 0.3s ease, transform 0.3s ease;
font-size: 1rem;
z-index: 1000;
}
.back-button:hover {
background-color: #00aacc;
transform: scale(1.05);
}
@media (max-width: 768px) {
.back-button {
top: 10px;
left: 10px;
padding: 8px 14px;
font-size: 0.9rem;
}
}
<style>
/* Admin-Button Stil */
.admin-btn {
background-color: #00e5ff;
color: #0d1117;
padding: 0.5rem 1rem;
border-radius: 8px;
text-decoration: none;
font-weight: bold;
transition: background-color 0.3s, box-shadow 0.3s, transform 0.3s;
box-shadow: 0 0 10px rgba(0, 229, 255, 0.3);
}
.admin-btn:hover {
background-color: #4cc3dd;
box-shadow: 0 0 15px rgba(0, 229, 255, 0.6), 0 0 25px rgba(0, 229, 255, 0.4);
transform: scale(1.05);
color: #00172e;
}
</style>
.admin-actions {
display: flex;
flex-direction: column;
gap: 1rem;
margin-top: 1rem;
}
.admin-card {
display: block;
background-color: rgba(0, 229, 255, 0.1);
padding: 1rem 1.5rem;
border-radius: 12px;
color: #00e5ff;
text-decoration: none;
font-weight: bold;
transition: all 0.3s ease;
box-shadow: 0 4px 12px rgba(0, 229, 255, 0.05);
}
.admin-card:hover {
background-color: rgba(0, 229, 255, 0.25);
transform: translateY(-2px);
box-shadow: 0 6px 18px rgba(0, 229, 255, 0.15);
}
.admin-card.disabled {
opacity: 0.4;
pointer-events: none;
cursor: default;
}
.admin-actions {
text-align: left;
margin: 1.5rem 2rem;
}
.btn-create {
display: inline-block;
padding: 0.6rem 1.2rem;
font-size: 1rem;
background-color: #00e5ff;
color: #0d1117;
border: none;
border-radius: 10px;
font-weight: bold;
text-decoration: none;
box-shadow: 0 4px 10px rgba(0, 229, 255, 0.2);
transition: background-color 0.3s, transform 0.2s;
}
.btn-create:hover {
background-color: #00bcd4;
transform: translateY(-2px);
}
@@ -0,0 +1,264 @@
/* === TechTacular === Jeopardy-Board, Farben über zentrale Theme-Tokens (theme.css):
Dark = Grün-Neon, Light = heller Grund + Magenta. Feste Viewport-Höhe (kein Scrollen). */
/* Overlay-Einblendung (kam früher aus style.css). */
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
/* body bekommt Layout (Shell füllt 100vh über flex:1). Farben/Hintergrund liefert theme.css. */
body.tt-body {
height: 100vh;
min-height: 100vh;
overflow: hidden;
display: flex;
flex-direction: column;
color: var(--text);
}
.tt-shell {
flex: 1;
min-height: 0;
display: flex;
flex-direction: column;
padding: 0.6rem 0.85rem;
gap: 0.55rem;
}
/* --- Kopf + Leiste --- */
.tt-header {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.5rem 1.1rem;
background-color: var(--surface);
border: 1px solid var(--border);
border-radius: 12px;
box-shadow: var(--g-soft), 0 0 8px var(--glow-w);
}
.tt-header-tools {
display: flex;
align-items: center;
gap: 0.7rem;
}
.tt-title { font-size: 1.3rem; color: var(--accent); margin: 0; text-shadow: 0 0 8px var(--glow-s); }
.tt-back, .tt-logout { text-decoration: none; font-weight: bold; }
.tt-back { color: var(--accent); }
.tt-logout { color: var(--danger); }
.tt-bar {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 0.55rem 0.85rem;
}
.tt-bar-group { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; }
.tt-btn {
padding: 0.5rem 1.1rem;
border: 0;
border-radius: 8px;
background: var(--accent);
color: var(--accent-ink);
font-weight: 700;
font-size: 0.95rem;
cursor: pointer;
text-decoration: none;
display: inline-block;
box-shadow: 0 0 14px var(--glow-w);
transition: filter 0.25s ease, transform 0.15s ease, background-color 0.25s ease;
}
.tt-btn:hover { filter: brightness(1.08); transform: translateY(-2px); }
.tt-btn[hidden] { display: none; }
.tt-btn-secondary {
background: var(--surface-2);
border: 1px solid var(--border-accent);
color: var(--text);
box-shadow: none;
}
.tt-btn-cancel {
background: rgba(255, 107, 107, 0.14);
border: 1px solid rgba(255, 107, 107, 0.55);
color: var(--danger);
box-shadow: none;
}
.tt-btn-cancel:hover { background: rgba(255, 107, 107, 0.28); color: #fff; }
.tt-hud { gap: 0.4rem; }
.tt-stat {
display: inline-flex;
align-items: baseline;
gap: 0.4rem;
padding: 0.35rem 0.7rem;
background: var(--surface-2);
border: 1px solid var(--border);
border-radius: 10px;
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--muted);
white-space: nowrap;
}
.tt-stat b { font-size: 1.05rem; color: var(--accent); }
/* --- Board --- */
.tt-stage {
flex: 1;
min-height: 0;
display: flex;
justify-content: center;
overflow: hidden;
}
.tt-board {
display: grid;
gap: clamp(0.3rem, 1vmin, 0.7rem);
width: 100%;
height: 100%;
min-height: 0;
/* grid-template-columns wird per JS gesetzt (eine Spalte je Kategorie) */
}
.tt-col {
display: flex;
flex-direction: column;
gap: clamp(0.3rem, 1vmin, 0.7rem);
min-height: 0;
}
.tt-cat-title {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 0.5rem 0.4rem;
background: var(--surface-2);
border: 1px solid var(--border-accent);
border-radius: 8px;
color: var(--accent);
font-weight: 800;
font-size: clamp(0.7rem, 1.1vw, 0.95rem);
line-height: 1.15;
hyphens: auto;
}
.tt-tile {
flex: 1;
min-height: 0;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid var(--border-accent);
border-radius: 8px;
background: linear-gradient(145deg, var(--surface), var(--surface-2));
color: var(--accent);
font-weight: 800;
font-size: clamp(1rem, 2.2vw, 1.8rem);
cursor: pointer;
transition: transform 0.12s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.tt-tile:hover:not(.answered) {
border-color: var(--accent);
box-shadow: 0 0 14px var(--glow-s), inset 0 0 18px var(--glow-w);
transform: translateY(-2px);
}
.tt-tile.answered {
cursor: default;
font-size: clamp(1.2rem, 3vw, 2rem);
}
.tt-tile.answered.correct { border-color: #00ff88; color: #00ff88; background: rgba(0, 255, 136, 0.08); }
.tt-tile.answered.wrong { border-color: #ff6b6b; color: #ff6b6b; background: rgba(255, 107, 107, 0.08); }
/* --- Overlays --- */
.tt-overlay {
position: fixed;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background: var(--bg-glow), rgba(0, 0, 0, 0.55);
backdrop-filter: blur(4px);
z-index: 1000;
padding: 1rem;
}
.tt-overlay[hidden] { display: none; }
.tt-q-card, .tt-result-card {
background: var(--surface);
border: 1px solid var(--border-accent);
border-radius: 16px;
padding: 1.5rem 1.8rem;
width: min(640px, 94vw);
max-height: 90vh;
overflow-y: auto;
box-shadow: 0 0 30px var(--glow-w);
animation: fadeInUp 0.4s ease-out;
}
.tt-q-head {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.6rem;
}
.tt-q-cat { color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.85rem; }
.tt-q-points { color: var(--accent); font-weight: 800; font-size: 1.3rem; }
.tt-q-instruction { color: var(--muted); font-size: 0.85rem; font-weight: 700; margin-bottom: 0.35rem; }
.tt-q-text {
color: var(--heading); font-size: 1.3rem; margin-bottom: 1.1rem; line-height: 1.4;
border-left: 3px solid var(--accent); padding-left: 0.75rem; font-style: italic;
}
.tt-q-answers { display: grid; gap: 0.6rem; }
.tt-answer {
text-align: left;
padding: 0.75rem 1rem;
border: 1px solid var(--border-accent);
border-radius: 10px;
background: var(--surface-2);
color: var(--text);
font-size: 1rem;
cursor: pointer;
transition: border-color 0.2s ease, background 0.2s ease;
}
.tt-answer:hover:not(:disabled) { border-color: var(--accent); background: var(--surface); }
.tt-answer:disabled { cursor: default; }
.tt-answer.correct { border-color: #00ff88; background: rgba(0, 255, 136, 0.12); color: #b8ffdc; }
.tt-answer.wrong { border-color: #ff6b6b; background: rgba(255, 107, 107, 0.12); color: #ffd0d0; }
.tt-q-feedback { margin-top: 0.9rem; font-weight: 700; min-height: 1.2rem; }
.tt-q-feedback.correct { color: #00ff88; }
.tt-q-feedback.wrong { color: #ff6b6b; }
.tt-q-actions { display: flex; justify-content: flex-end; margin-top: 1rem; }
.tt-result-card { text-align: center; width: min(440px, 94vw); }
.tt-result-card h2 { color: var(--accent); margin-bottom: 0.6rem; }
.tt-result-score { font-size: 1.4rem; margin-bottom: 0.4rem; color: var(--text); }
.tt-result-score strong { color: var(--accent); }
.tt-result-detail { color: var(--muted); margin-bottom: 0.6rem; }
.tt-result-high { color: #00ff88; font-weight: 800; margin-bottom: 1rem; }
.tt-result-high[hidden] { display: none; }
.tt-result-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; margin-top: 1rem; }
.tt-idle { margin: auto; color: var(--muted); text-align: center; padding: 2rem 1rem; }
@media (max-width: 600px) {
.tt-title { font-size: 1.15rem; }
.tt-stat { font-size: 0.62rem; padding: 0.3rem 0.5rem; }
.tt-q-text { font-size: 1.05rem; }
}
+170
View File
@@ -0,0 +1,170 @@
/* ============================================================
MINDFLUX THEME – zentrale Design-Tokens + Komponenten
Dark = Grün-Neon | Light = heller Grund + Magenta-Glow
Umschaltung über <html data-theme="dark|light"> (siehe theme.js)
============================================================ */
:root, [data-theme="dark"] {
--bg:#06090a; --bg-glow: radial-gradient(900px 420px at 60% -10%, rgba(43,217,106,.10), transparent 60%);
--panel:#0c1110; --panel-2:#0e1513; --surface:#0b100e; --surface-2:#101713;
--border:#1a2520; --line:#16201b;
--border-accent:rgba(43,217,106,.45); --accent:#2bd96a; --accent-2:#6ef58f; --accent-ink:#04140a;
--text:#d7e0d9; --muted:#717c74; --heading:#ffffff; --danger:#ff5f6b;
--glow-s:rgba(43,217,106,.55); --glow-w:rgba(43,217,106,.16);
--g-soft:0 0 18px var(--glow-w);
}
[data-theme="light"] {
--bg:#f4eef3; --bg-glow: radial-gradient(900px 420px at 60% -10%, rgba(209,29,146,.10), transparent 60%);
--panel:#ffffff; --panel-2:#fbf6fa; --surface:#ffffff; --surface-2:#faf4f9;
--border:#e9dee8; --line:#efe6ee;
--border-accent:rgba(209,29,146,.40); --accent:#d11d92; --accent-2:#ff5bc0; --accent-ink:#ffffff;
--text:#3c2c39; --muted:#8a7d88; --heading:#1b1019; --danger:#d12942;
--glow-s:rgba(209,29,146,.40); --glow-w:rgba(209,29,146,.12);
--g-soft:0 6px 18px var(--glow-w);
}
* { box-sizing:border-box; margin:0; padding:0; }
html,body { height:100%; }
body {
font-family:"Inter","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
background:var(--bg-glow), var(--bg); color:var(--text);
min-height:100vh; transition:background-color .35s ease,color .35s ease;
}
a { color:var(--accent); }
::-webkit-scrollbar{width:10px;height:10px} ::-webkit-scrollbar-thumb{background:var(--line);border-radius:9px}
/* ===== App-Shell (Sidebar | Mitte | rechte Spalte) ===== */
.mf-shell { display:grid; grid-template-columns:264px 1fr 332px; grid-template-rows:auto 1fr; min-height:100vh; }
.mf-shell.no-right { grid-template-columns:264px 1fr; }
.mf-sidebar { grid-column:1; grid-row:1 / 3; background:var(--panel); border-right:1px solid var(--border); padding:1.2rem 1rem; display:flex; flex-direction:column; gap:1.1rem; }
.mf-topbar { grid-column:2 / 4; grid-row:1; display:flex; align-items:flex-start; gap:1rem; padding:1.4rem 1.6rem 0; }
.mf-shell.no-right .mf-topbar { grid-column:2; }
.mf-main { grid-column:2; grid-row:2; padding:1.3rem 1.2rem 1.6rem 1.6rem; min-width:0; }
.mf-rightbar { grid-column:3; grid-row:2; padding:1.3rem 1.6rem 1.6rem 0; display:flex; flex-direction:column; gap:1rem; }
/* ===== Logo ===== */
.mf-logo { display:flex; align-items:center; gap:.6rem; padding:.2rem .3rem .4rem; text-decoration:none; }
.mf-logo .mark { width:38px; height:38px; flex:0 0 auto; background:var(--accent);
-webkit-mask:url("/img/mindflux-emblem.png") center/contain no-repeat; mask:url("/img/mindflux-emblem.png") center/contain no-repeat;
filter:drop-shadow(0 0 8px var(--glow-s)); }
.mf-logo .txt b { color:var(--accent); font-weight:800; letter-spacing:.13em; font-size:1.02rem; display:block; text-shadow:0 0 12px var(--glow-s); }
.mf-logo .txt span { color:var(--muted); font-size:.56rem; letter-spacing:.22em; }
/* ===== Sidebar-Navigation ===== */
.mf-nav { display:flex; flex-direction:column; gap:.25rem; }
.mf-nav a { display:flex; align-items:center; gap:.75rem; padding:.7rem .85rem; border-radius:11px; color:var(--muted); text-decoration:none; font-size:.9rem; font-weight:600; border:1px solid transparent; transition:all .18s ease; }
.mf-nav a:hover { color:var(--text); background:var(--surface-2); }
.mf-nav a.active { color:var(--accent-ink); background:linear-gradient(100deg,var(--accent),var(--accent-2)); box-shadow:0 0 20px var(--glow-s); }
.mf-nav a.active svg { color:var(--accent-ink); }
.mf-nav svg { width:18px; height:18px; color:var(--accent); flex:0 0 auto; }
/* ===== Profil / Level / Streak ===== */
.mf-profile { border:1px solid var(--border); border-radius:13px; padding:.7rem; background:var(--surface); }
.mf-profile .row { display:flex; align-items:center; gap:.6rem; }
.mf-avatar { width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--accent-2)); display:inline-flex; align-items:center; justify-content:center; color:var(--accent-ink); font-weight:800; box-shadow:0 0 14px var(--glow-s); overflow:hidden; }
.mf-avatar img { width:100%; height:100%; object-fit:cover; }
.mf-profile b { color:var(--heading); font-size:.86rem; display:block; }
.mf-profile .role { color:var(--accent); font-size:.72rem; }
.mf-meta { font-size:.74rem; }
.mf-meta .lvl { color:var(--muted); letter-spacing:.04em; } .mf-meta .lvl b { color:var(--heading); }
.mf-meta .xp { color:var(--muted); margin:.2rem 0 .35rem; }
.mf-streak { display:flex; align-items:center; gap:.55rem; margin-top:.2rem; }
.mf-streak .fire { font-size:1.1rem; filter:drop-shadow(0 0 6px var(--glow-s)); }
.mf-streak b { color:var(--heading); font-size:.82rem; display:block; } .mf-streak small { color:var(--muted); }
.mf-brain { margin-top:auto; opacity:.55; display:flex; justify-content:center; filter:drop-shadow(0 0 10px var(--glow-s)); }
.mf-brain svg { width:150px; height:auto; }
/* ===== Topbar ===== */
.mf-hello h1 { color:var(--heading); font-size:1.85rem; font-weight:800; letter-spacing:-.01em; }
.mf-hello h1 .nm { color:var(--accent); text-shadow:0 0 16px var(--glow-s); }
.mf-hello p { color:var(--muted); margin-top:.35rem; font-size:.95rem; }
.mf-pulse { flex:1; min-width:0; display:flex; justify-content:center; align-items:center; }
.mf-pulse svg { width:200px; max-width:100%; filter:drop-shadow(0 0 7px var(--glow-s)); }
.mf-tools { display:flex; align-items:center; gap:.6rem; margin-left:auto; }
.mf-iconbtn { width:38px; height:38px; border-radius:10px; border:1px solid var(--border); background:var(--surface); color:var(--muted); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; text-decoration:none; transition:all .18s; }
.mf-iconbtn:hover { color:var(--accent); border-color:var(--border-accent); box-shadow:0 0 14px var(--glow-w); }
.mf-iconbtn svg { width:18px; height:18px; }
.mf-search { display:flex; align-items:center; gap:.5rem; background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:.5rem .8rem; color:var(--muted); }
.mf-search input { background:none; border:0; outline:none; color:var(--text); font-size:.86rem; width:130px; }
.mf-search svg { width:15px; height:15px; }
/* ===== Theme-Umschalter ===== */
.mf-theme { width:42px; height:38px; border-radius:50%; border:1px solid var(--border-accent); background:var(--surface); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; color:var(--accent); box-shadow:0 0 14px var(--glow-w); }
.mf-theme svg { width:18px; height:18px; }
/* ===== HUD-Spielkarten ===== */
.mf-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.mf-card { position:relative; display:flex; flex-direction:column; padding:1.15rem 1.2rem 1.1rem; background:var(--surface);
border:1px solid var(--border-accent); --n:18px;
clip-path:polygon(0 0, calc(100% - var(--n)) 0, 100% var(--n), 100% 100%, 0 100%);
text-decoration:none; color:inherit; filter:drop-shadow(0 0 7px var(--glow-w)); transition:transform .16s ease, filter .25s ease, background-color .2s; }
.mf-card::before { content:""; position:absolute; left:10px; top:10px; width:14px; height:14px; border-left:2px solid var(--accent); border-top:2px solid var(--accent); opacity:.7; }
.mf-card:hover { transform:translateY(-4px); background:var(--surface-2); filter:drop-shadow(0 0 16px var(--glow-s)); }
.mf-card .ico { width:58px; height:58px; color:var(--accent); margin-bottom:.7rem; filter:drop-shadow(0 0 6px var(--glow-s)); }
.mf-card .ico svg { width:100%; height:100%; }
.mf-card h3 { color:var(--heading); font-size:1.06rem; font-weight:700; margin-bottom:.4rem; }
.mf-card p { color:var(--muted); font-size:.83rem; line-height:1.5; flex:1; }
.mf-play { margin-top:.9rem; align-self:flex-start; display:inline-flex; align-items:center; gap:.45rem; font-size:.74rem; font-weight:800; letter-spacing:.08em; color:var(--accent); border:1px solid var(--border-accent); border-radius:8px; padding:.5rem .85rem; text-decoration:none; transition:all .18s; }
.mf-card:hover .mf-play { background:var(--accent); color:var(--accent-ink); box-shadow:0 0 16px var(--glow-s); }
.mf-play svg { width:14px; height:14px; }
/* ===== Panels / Widgets ===== */
.mf-panel { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:1.1rem; box-shadow:var(--g-soft); }
.mf-panel.accent { border-color:var(--border-accent); box-shadow:0 0 20px var(--glow-w); }
.mf-panel h4 { display:flex; align-items:center; gap:.5rem; color:var(--accent); font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:.9rem; }
.mf-panel h4 svg { width:15px; height:15px; }
.mf-eyebrow { color:var(--accent); font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; }
.mf-bar { height:7px; border-radius:99px; background:var(--surface-2); border:1px solid var(--border); overflow:hidden; }
.mf-bar > i { display:block; height:100%; background:linear-gradient(90deg,var(--accent),var(--accent-2)); box-shadow:0 0 10px var(--glow-s); }
/* ===== Buttons ===== */
.mf-btn { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; font-weight:800; font-size:.82rem; letter-spacing:.04em; border:0; border-radius:9px; padding:.6rem 1.1rem; cursor:pointer; text-decoration:none; background:var(--accent); color:var(--accent-ink); box-shadow:0 0 18px var(--glow-s); transition:all .18s; }
.mf-btn:hover { filter:brightness(1.05); transform:translateY(-1px); }
.mf-btn svg { width:15px; height:15px; }
.mf-btn.outline { background:transparent; color:var(--accent); border:1px solid var(--border-accent); box-shadow:none; }
.mf-btn.outline:hover { background:var(--surface-2); }
.mf-btn.ghost { background:var(--surface-2); color:var(--text); border:1px solid var(--border); box-shadow:none; }
.mf-btn.danger { background:var(--danger); color:#fff; box-shadow:none; }
/* ===== Formulare ===== */
.mf-field { display:flex; flex-direction:column; gap:.35rem; margin-bottom:.9rem; }
.mf-label { color:var(--accent); font-weight:700; font-size:.82rem; }
.mf-input, .mf-select, input.mf-input, select.mf-select, textarea.mf-input {
width:100%; padding:.65rem .8rem; border-radius:10px; border:1px solid var(--border);
background:var(--surface-2); color:var(--text); font-size:.95rem; font-family:inherit; }
.mf-input:focus, .mf-select:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--glow-w); }
.mf-input::placeholder { color:var(--muted); }
/* ===== Tabellen ===== */
.mf-table { width:100%; border-collapse:collapse; }
.mf-table th, .mf-table td { text-align:left; padding:.7rem .8rem; border-bottom:1px solid var(--border); font-size:.9rem; }
.mf-table th { color:var(--accent); text-transform:uppercase; font-size:.72rem; letter-spacing:.08em; }
.mf-table tr:hover td { background:var(--surface-2); }
/* ===== Badges ===== */
.mf-badge { font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; padding:.18rem .5rem; border-radius:7px; background:var(--accent-dim,rgba(43,217,106,.12)); color:var(--accent); border:1px solid var(--border-accent); }
/* ===== Standalone-Karte (Login/Auth, einzelne Inhaltsseiten) ===== */
.mf-center { display:flex; align-items:center; justify-content:center; min-height:100vh; padding:1.5rem; }
.mf-cardbox { width:100%; max-width:420px; background:var(--surface); border:1px solid var(--border-accent); border-radius:18px; padding:2rem; box-shadow:0 0 30px var(--glow-w); }
.mf-container { max-width:1000px; margin:0 auto; padding:1.5rem; }
.mf-page-head { display:flex; align-items:center; gap:1rem; margin-bottom:1.4rem; }
.mf-back { color:var(--accent); text-decoration:none; font-weight:700; font-size:.88rem; }
/* schwebender Theme-Umschalter für Seiten ohne Topbar */
.mf-theme-float { position:fixed; top:16px; right:16px; z-index:1000; }
/* ===== Fußzeile (Support / AGB / Impressum …) ===== */
.mf-footer {
display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
gap:.35rem 1rem; padding:1.1rem 1.5rem;
border-top:1px solid var(--border); background:var(--panel);
font-size:.82rem; color:var(--muted);
}
.mf-footer a { color:var(--muted); text-decoration:none; position:relative; }
.mf-footer a:hover { color:var(--accent); }
.mf-footer a + a::before { content:"·"; position:absolute; left:-.6rem; color:var(--border); }
@media (max-width:1180px){ .mf-shell{grid-template-columns:240px 1fr;} .mf-rightbar{display:none;} .mf-topbar{grid-column:2;} .mf-main{grid-column:2;} }
@media (max-width:820px){ .mf-shell{grid-template-columns:1fr;} .mf-sidebar{display:none;} .mf-topbar,.mf-main{grid-column:1;} .mf-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .mf-grid{grid-template-columns:1fr;} }
@@ -0,0 +1,73 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Datenschutz - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Datenschutz & Datensicherheit</h1>
<section>
<h2>Prüfungsmodus</h2>
<p>
Dieser FluxCheck trainiert Datenschutz so, wie er in AP1-Handlungssituationen
auftaucht: personenbezogene Daten erkennen, DSGVO-Grundsätze anwenden,
Betroffenenrechte einordnen, Schutzmaßnahmen auswählen und Praxisfälle bewerten.
</p>
</section>
<section>
<h2>Merksatz</h2>
<p>
Datenschutz schützt Menschen hinter den Daten. Datensicherheit schützt die Daten
technisch und organisatorisch. In der Prüfung musst du meistens beides zusammen denken.
</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Datenschutz</h2>
<p data-category-hint>Personenbezogene Daten, Rechte und Schutzmaßnahmen.</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/datenschutz.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>IP-Adressberechnung - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>IP-Adressberechnung</h1>
<section>
<h2>Lernfokus</h2>
<p>Trainiere IPv4, CIDR, Netzadresse, Broadcast und Hostanzahlen.</p>
<ul class="key-list">
<li>CIDR und Subnetzmaske zusammenbringen.</li>
<li>Netzadresse, Broadcast und Hostbereich bestimmen.</li>
<li>Typische Subnetting-Fehler vermeiden.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>IP-Adressberechnung</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/ap1_ip-berechnung.json" defer></script>
</body>
</html>
@@ -0,0 +1,66 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Projektmanagement - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Projektmanagement in der AP1</h1>
<section>
<h2>Prüfungsmodus</h2>
<p>
Dieser FluxCheck führt dich durch prüfungsrelevante Projektmanagement-Themen:
Auftrag, Ziele, Anforderungen, Planung, Risiken, Qualität, Kommunikation,
Dokumentation und Abnahme. Jede Frage gehört zu einer Kategorie, die oben im
Themenblock angezeigt wird.
</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Projektstart</h2>
<p data-category-hint>Auftrag, Ausgangslage und Ziel verstehen.</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/projektmanagement.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Zahlensysteme & Speicher - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Zahlensysteme & Speicher</h1>
<section>
<h2>Lernfokus</h2>
<p>Trainiere Binär-, Dezimal- und Hexadezimalumrechnung sowie Speichereinheiten für typische AP1-Rechenaufgaben.</p>
<ul class="key-list">
<li>Binär, Dezimal und Hexadezimal sicher unterscheiden.</li>
<li>Bit, Byte, KiB, MiB und GiB sauber umrechnen.</li>
<li>Rechenwege nachvollziehbar dokumentieren.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Zahlensysteme & Speicher</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/ap1_zahlensysteme.json" defer></script>
</body>
</html>
@@ -0,0 +1,365 @@
{
"title": "IP-Adressberechnung",
"questions": [
{
"category": "IPv4-Grundlagen",
"hint": "Adressaufbau, Oktette und Masken verstehen.",
"text": "Was beschreibt IPv4-Adresse am besten?",
"answers": [
"Sie besteht aus 4 Oktetten mit Werten von 0 bis 255.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Sie besteht aus 4 Oktetten mit Werten von 0 bis 255."
},
{
"category": "IPv4-Grundlagen",
"hint": "Adressaufbau, Oktette und Masken verstehen.",
"text": "Welche Aussage zu Oktett ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Ein Oktett umfasst 8 Bit.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Ein Oktett umfasst 8 Bit."
},
{
"category": "IPv4-Grundlagen",
"hint": "Adressaufbau, Oktette und Masken verstehen.",
"text": "Woran erkennst du Subnetzmaske in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Sie trennt Netz- und Hostanteil."
],
"correct": 2,
"explanation": "Sie trennt Netz- und Hostanteil."
},
{
"category": "IPv4-Grundlagen",
"hint": "Adressaufbau, Oktette und Masken verstehen.",
"text": "Was ist bei CIDR besonders wichtig?",
"answers": [
"CIDR gibt die Anzahl der Netzbits an.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "CIDR gibt die Anzahl der Netzbits an."
},
{
"category": "IPv4-Grundlagen",
"hint": "Adressaufbau, Oktette und Masken verstehen.",
"text": "Was beschreibt /24 am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"/24 entspricht häufig 255.255.255.0.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "/24 entspricht häufig 255.255.255.0."
},
{
"category": "IPv4-Grundlagen",
"hint": "Adressaufbau, Oktette und Masken verstehen.",
"text": "Welche Aussage zu Netzanteil ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Der Netzanteil identifiziert das Subnetz."
],
"correct": 2,
"explanation": "Der Netzanteil identifiziert das Subnetz."
},
{
"category": "IPv4-Grundlagen",
"hint": "Adressaufbau, Oktette und Masken verstehen.",
"text": "Woran erkennst du Hostanteil in einer AP1-Aufgabe?",
"answers": [
"Der Hostanteil identifiziert Geräte im Subnetz.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Der Hostanteil identifiziert Geräte im Subnetz."
},
{
"category": "IPv4-Grundlagen",
"hint": "Adressaufbau, Oktette und Masken verstehen.",
"text": "Was ist bei private IPv4-Bereiche besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Sie werden intern genutzt, etwa 192.168.0.0/16.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Sie werden intern genutzt, etwa 192.168.0.0/16."
},
{
"category": "IPv4-Grundlagen",
"hint": "Adressaufbau, Oktette und Masken verstehen.",
"text": "Was beschreibt Standardgateway am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Es verbindet das lokale Netz mit anderen Netzen."
],
"correct": 2,
"explanation": "Es verbindet das lokale Netz mit anderen Netzen."
},
{
"category": "IPv4-Grundlagen",
"hint": "Adressaufbau, Oktette und Masken verstehen.",
"text": "Welche Aussage zu APIPA ist richtig?",
"answers": [
"169.254.x.x deutet oft auf DHCP-Probleme hin.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "169.254.x.x deutet oft auf DHCP-Probleme hin."
},
{
"category": "Subnetting",
"hint": "Netz, Broadcast und Hostanzahl berechnen.",
"text": "Was beschreibt Netzadresse am besten?",
"answers": [
"Sie ist die erste Adresse eines Subnetzes.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Sie ist die erste Adresse eines Subnetzes."
},
{
"category": "Subnetting",
"hint": "Netz, Broadcast und Hostanzahl berechnen.",
"text": "Welche Aussage zu Broadcast-Adresse ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Sie ist die letzte Adresse eines klassischen IPv4-Subnetzes.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Sie ist die letzte Adresse eines klassischen IPv4-Subnetzes."
},
{
"category": "Subnetting",
"hint": "Netz, Broadcast und Hostanzahl berechnen.",
"text": "Woran erkennst du Hostanzahl in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Bei normalen Subnetzen gilt 2 hoch Hostbits minus 2."
],
"correct": 2,
"explanation": "Bei normalen Subnetzen gilt 2 hoch Hostbits minus 2."
},
{
"category": "Subnetting",
"hint": "Netz, Broadcast und Hostanzahl berechnen.",
"text": "Was ist bei /26 besonders wichtig?",
"answers": [
"/26 hat 64 Adressen pro Subnetz.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "/26 hat 64 Adressen pro Subnetz."
},
{
"category": "Subnetting",
"hint": "Netz, Broadcast und Hostanzahl berechnen.",
"text": "Was beschreibt /30 am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"/30 wird oft für Punkt-zu-Punkt-Netze genutzt.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "/30 wird oft für Punkt-zu-Punkt-Netze genutzt."
},
{
"category": "Subnetting",
"hint": "Netz, Broadcast und Hostanzahl berechnen.",
"text": "Welche Aussage zu Blockgröße ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Sie ergibt sich aus der Schrittweite im relevanten Oktett."
],
"correct": 2,
"explanation": "Sie ergibt sich aus der Schrittweite im relevanten Oktett."
},
{
"category": "Subnetting",
"hint": "Netz, Broadcast und Hostanzahl berechnen.",
"text": "Woran erkennst du Hostbits in einer AP1-Aufgabe?",
"answers": [
"Hostbits bestimmen die Anzahl möglicher Adressen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Hostbits bestimmen die Anzahl möglicher Adressen."
},
{
"category": "Subnetting",
"hint": "Netz, Broadcast und Hostanzahl berechnen.",
"text": "Was ist bei Netzbits besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Netzbits bestimmen die Subnetzgröße.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Netzbits bestimmen die Subnetzgröße."
},
{
"category": "Subnetting",
"hint": "Netz, Broadcast und Hostanzahl berechnen.",
"text": "Was beschreibt Subnetzgrenze am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Adressen müssen zur richtigen Blockgrenze gehören."
],
"correct": 2,
"explanation": "Adressen müssen zur richtigen Blockgrenze gehören."
},
{
"category": "Subnetting",
"hint": "Netz, Broadcast und Hostanzahl berechnen.",
"text": "Welche Aussage zu Broadcast nicht vergeben ist richtig?",
"answers": [
"Broadcast ist keine normale Hostadresse.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Broadcast ist keine normale Hostadresse."
},
{
"category": "Fehleranalyse IP",
"hint": "IP-Probleme in Handlungssituationen erkennen.",
"text": "Was beschreibt falsche Maske am besten?",
"answers": [
"Sie kann Hosts scheinbar in falsche Netze legen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Sie kann Hosts scheinbar in falsche Netze legen."
},
{
"category": "Fehleranalyse IP",
"hint": "IP-Probleme in Handlungssituationen erkennen.",
"text": "Welche Aussage zu falsches Gateway ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Dann sind andere Netze oft nicht erreichbar.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Dann sind andere Netze oft nicht erreichbar."
},
{
"category": "Fehleranalyse IP",
"hint": "IP-Probleme in Handlungssituationen erkennen.",
"text": "Woran erkennst du DHCP-Problem in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Fehlende automatische Adresse kann auf DHCP hindeuten."
],
"correct": 2,
"explanation": "Fehlende automatische Adresse kann auf DHCP hindeuten."
},
{
"category": "Fehleranalyse IP",
"hint": "IP-Probleme in Handlungssituationen erkennen.",
"text": "Was ist bei Doppelvergabe besonders wichtig?",
"answers": [
"Gleiche IP auf zwei Hosts verursacht Konflikte.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Gleiche IP auf zwei Hosts verursacht Konflikte."
},
{
"category": "Fehleranalyse IP",
"hint": "IP-Probleme in Handlungssituationen erkennen.",
"text": "Was beschreibt DNS vs IP am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Ping per IP, aber nicht per Name deutet auf DNS.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Ping per IP, aber nicht per Name deutet auf DNS."
},
{
"category": "Fehleranalyse IP",
"hint": "IP-Probleme in Handlungssituationen erkennen.",
"text": "Welche Aussage zu lokale Erreichbarkeit ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Erst IP, Maske und Link prüfen."
],
"correct": 2,
"explanation": "Erst IP, Maske und Link prüfen."
},
{
"category": "Fehleranalyse IP",
"hint": "IP-Probleme in Handlungssituationen erkennen.",
"text": "Woran erkennst du Routingproblem in einer AP1-Aufgabe?",
"answers": [
"Andere Netze brauchen passende Route oder Gateway.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Andere Netze brauchen passende Route oder Gateway."
},
{
"category": "Fehleranalyse IP",
"hint": "IP-Probleme in Handlungssituationen erkennen.",
"text": "Was ist bei Dokumentation besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Adresspläne verhindern Überschneidungen.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Adresspläne verhindern Überschneidungen."
},
{
"category": "Fehleranalyse IP",
"hint": "IP-Probleme in Handlungssituationen erkennen.",
"text": "Was beschreibt Reservierungen am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Server und Drucker bekommen oft feste Adressen."
],
"correct": 2,
"explanation": "Server und Drucker bekommen oft feste Adressen."
},
{
"category": "Fehleranalyse IP",
"hint": "IP-Probleme in Handlungssituationen erkennen.",
"text": "Welche Aussage zu Prüfungsweg IP ist richtig?",
"answers": [
"Rechenschritte sauber notieren und Einheiten prüfen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Rechenschritte sauber notieren und Einheiten prüfen."
}
]
}
@@ -0,0 +1,365 @@
{
"title": "Zahlensysteme & Speicher",
"questions": [
{
"category": "Binär & Dezimal",
"hint": "Stellenwerte, Potenzen und Umrechnung verstehen.",
"text": "Was beschreibt Binärsystem am besten?",
"answers": [
"Es nutzt nur 0 und 1 und basiert auf Potenzen von 2.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Es nutzt nur 0 und 1 und basiert auf Potenzen von 2."
},
{
"category": "Binär & Dezimal",
"hint": "Stellenwerte, Potenzen und Umrechnung verstehen.",
"text": "Welche Aussage zu Stellenwert ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Jede Position hat einen Wert wie 1, 2, 4, 8 oder 16.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Jede Position hat einen Wert wie 1, 2, 4, 8 oder 16."
},
{
"category": "Binär & Dezimal",
"hint": "Stellenwerte, Potenzen und Umrechnung verstehen.",
"text": "Woran erkennst du Dezimalumrechnung in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Binärstellen werden mit ihren Zweierpotenzen addiert."
],
"correct": 2,
"explanation": "Binärstellen werden mit ihren Zweierpotenzen addiert."
},
{
"category": "Binär & Dezimal",
"hint": "Stellenwerte, Potenzen und Umrechnung verstehen.",
"text": "Was ist bei Bit besonders wichtig?",
"answers": [
"Ein Bit ist die kleinste Informationseinheit mit 0 oder 1.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Ein Bit ist die kleinste Informationseinheit mit 0 oder 1."
},
{
"category": "Binär & Dezimal",
"hint": "Stellenwerte, Potenzen und Umrechnung verstehen.",
"text": "Was beschreibt Nibble am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Ein Nibble besteht aus 4 Bit.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Ein Nibble besteht aus 4 Bit."
},
{
"category": "Binär & Dezimal",
"hint": "Stellenwerte, Potenzen und Umrechnung verstehen.",
"text": "Welche Aussage zu Byte ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Ein Byte besteht aus 8 Bit."
],
"correct": 2,
"explanation": "Ein Byte besteht aus 8 Bit."
},
{
"category": "Binär & Dezimal",
"hint": "Stellenwerte, Potenzen und Umrechnung verstehen.",
"text": "Woran erkennst du Potenzen von 2 in einer AP1-Aufgabe?",
"answers": [
"Sie sind Grundlage vieler IT-Rechenaufgaben.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Sie sind Grundlage vieler IT-Rechenaufgaben."
},
{
"category": "Binär & Dezimal",
"hint": "Stellenwerte, Potenzen und Umrechnung verstehen.",
"text": "Was ist bei führende Nullen besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Sie ändern den Zahlenwert nicht, können aber die Darstellung auffüllen.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Sie ändern den Zahlenwert nicht, können aber die Darstellung auffüllen."
},
{
"category": "Binär & Dezimal",
"hint": "Stellenwerte, Potenzen und Umrechnung verstehen.",
"text": "Was beschreibt Dualzahl am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Eine Dualzahl ist eine Zahl im Binärsystem."
],
"correct": 2,
"explanation": "Eine Dualzahl ist eine Zahl im Binärsystem."
},
{
"category": "Binär & Dezimal",
"hint": "Stellenwerte, Potenzen und Umrechnung verstehen.",
"text": "Welche Aussage zu Prüfungsweg ist richtig?",
"answers": [
"Der Rechenweg ist oft wichtiger als nur das Endergebnis.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Der Rechenweg ist oft wichtiger als nur das Endergebnis."
},
{
"category": "Hexadezimal",
"hint": "Hexwerte kompakt lesen und in Binär/Dezimal übertragen.",
"text": "Was beschreibt Hexadezimalsystem am besten?",
"answers": [
"Es nutzt Basis 16 mit Ziffern 0-9 und A-F.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Es nutzt Basis 16 mit Ziffern 0-9 und A-F."
},
{
"category": "Hexadezimal",
"hint": "Hexwerte kompakt lesen und in Binär/Dezimal übertragen.",
"text": "Welche Aussage zu A bis F ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"A bis F stehen für die Werte 10 bis 15.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "A bis F stehen für die Werte 10 bis 15."
},
{
"category": "Hexadezimal",
"hint": "Hexwerte kompakt lesen und in Binär/Dezimal übertragen.",
"text": "Woran erkennst du Hex zu Binär in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Eine Hexstelle entspricht genau 4 Bit."
],
"correct": 2,
"explanation": "Eine Hexstelle entspricht genau 4 Bit."
},
{
"category": "Hexadezimal",
"hint": "Hexwerte kompakt lesen und in Binär/Dezimal übertragen.",
"text": "Was ist bei Binär zu Hex besonders wichtig?",
"answers": [
"Binärzahlen werden in Vierergruppen geteilt.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Binärzahlen werden in Vierergruppen geteilt."
},
{
"category": "Hexadezimal",
"hint": "Hexwerte kompakt lesen und in Binär/Dezimal übertragen.",
"text": "Was beschreibt Hex FF am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"FF entspricht dezimal 255.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "FF entspricht dezimal 255."
},
{
"category": "Hexadezimal",
"hint": "Hexwerte kompakt lesen und in Binär/Dezimal übertragen.",
"text": "Welche Aussage zu Hex in Adressen ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Hex wird häufig bei Speicher- und Netzwerkdarstellungen genutzt."
],
"correct": 2,
"explanation": "Hex wird häufig bei Speicher- und Netzwerkdarstellungen genutzt."
},
{
"category": "Hexadezimal",
"hint": "Hexwerte kompakt lesen und in Binär/Dezimal übertragen.",
"text": "Woran erkennst du Basis 16 in einer AP1-Aufgabe?",
"answers": [
"Jede Stelle ist eine Potenz von 16.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Jede Stelle ist eine Potenz von 16."
},
{
"category": "Hexadezimal",
"hint": "Hexwerte kompakt lesen und in Binär/Dezimal übertragen.",
"text": "Was ist bei 2F besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"2F bedeutet 2 mal 16 plus 15.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "2F bedeutet 2 mal 16 plus 15."
},
{
"category": "Hexadezimal",
"hint": "Hexwerte kompakt lesen und in Binär/Dezimal übertragen.",
"text": "Was beschreibt BC am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"BC kann aus der Binärgruppe 1011 1100 entstehen."
],
"correct": 2,
"explanation": "BC kann aus der Binärgruppe 1011 1100 entstehen."
},
{
"category": "Hexadezimal",
"hint": "Hexwerte kompakt lesen und in Binär/Dezimal übertragen.",
"text": "Welche Aussage zu Prüfungstipp Hex ist richtig?",
"answers": [
"Vierergruppen verhindern viele Umrechnungsfehler.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Vierergruppen verhindern viele Umrechnungsfehler."
},
{
"category": "Speichereinheiten",
"hint": "Bit, Byte und Binärpräfixe in Aufgaben sicher anwenden.",
"text": "Was beschreibt kB und KiB am besten?",
"answers": [
"kB nutzt 1000, KiB nutzt 1024 Byte.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "kB nutzt 1000, KiB nutzt 1024 Byte."
},
{
"category": "Speichereinheiten",
"hint": "Bit, Byte und Binärpräfixe in Aufgaben sicher anwenden.",
"text": "Welche Aussage zu MB und MiB ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"MB ist dezimal, MiB ist binär gerechnet.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "MB ist dezimal, MiB ist binär gerechnet."
},
{
"category": "Speichereinheiten",
"hint": "Bit, Byte und Binärpräfixe in Aufgaben sicher anwenden.",
"text": "Woran erkennst du GiB in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Ein GiB entspricht 1024 hoch 3 Byte."
],
"correct": 2,
"explanation": "Ein GiB entspricht 1024 hoch 3 Byte."
},
{
"category": "Speichereinheiten",
"hint": "Bit, Byte und Binärpräfixe in Aufgaben sicher anwenden.",
"text": "Was ist bei Bit zu Byte besonders wichtig?",
"answers": [
"8 Bit ergeben 1 Byte.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "8 Bit ergeben 1 Byte."
},
{
"category": "Speichereinheiten",
"hint": "Bit, Byte und Binärpräfixe in Aufgaben sicher anwenden.",
"text": "Was beschreibt Übertragungsrate am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Bit pro Sekunde ist nicht dasselbe wie Byte pro Sekunde.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Bit pro Sekunde ist nicht dasselbe wie Byte pro Sekunde."
},
{
"category": "Speichereinheiten",
"hint": "Bit, Byte und Binärpräfixe in Aufgaben sicher anwenden.",
"text": "Welche Aussage zu Marketingangaben ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Speicherhersteller nutzen oft dezimale Einheiten."
],
"correct": 2,
"explanation": "Speicherhersteller nutzen oft dezimale Einheiten."
},
{
"category": "Speichereinheiten",
"hint": "Bit, Byte und Binärpräfixe in Aufgaben sicher anwenden.",
"text": "Woran erkennst du Betriebssystemanzeige in einer AP1-Aufgabe?",
"answers": [
"Systeme zeigen Kapazitäten häufig binärnah an.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Systeme zeigen Kapazitäten häufig binärnah an."
},
{
"category": "Speichereinheiten",
"hint": "Bit, Byte und Binärpräfixe in Aufgaben sicher anwenden.",
"text": "Was ist bei Rundung besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Rundungen müssen in Prüfungen nachvollziehbar sein.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Rundungen müssen in Prüfungen nachvollziehbar sein."
},
{
"category": "Speichereinheiten",
"hint": "Bit, Byte und Binärpräfixe in Aufgaben sicher anwenden.",
"text": "Was beschreibt Einheitenfehler am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Verwechslung von Bit und Byte ist ein klassischer Fehler."
],
"correct": 2,
"explanation": "Verwechslung von Bit und Byte ist ein klassischer Fehler."
},
{
"category": "Speichereinheiten",
"hint": "Bit, Byte und Binärpräfixe in Aufgaben sicher anwenden.",
"text": "Welche Aussage zu Rechenweg Speicher ist richtig?",
"answers": [
"Schreibe Einheitenschritte sauber auf.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Schreibe Einheitenschritte sauber auf."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Backuparten",
"questions": [
{
"category": "Backup-Grundlagen",
"hint": "Verstehe Zweck, Begriffe und Anforderungen an Datensicherung.",
"text": "Was ist das Hauptziel eines Backups?",
"answers": ["Daten nach Verlust wiederherstellen können", "Daten absichtlich verlangsamen", "Passwörter öffentlich speichern"],
"correct": 0,
"explanation": "Backups dienen der Wiederherstellung nach Verlust, Fehlern oder Ausfällen."
},
{
"category": "Backup-Grundlagen",
"hint": "Verstehe Zweck, Begriffe und Anforderungen an Datensicherung.",
"text": "Was bedeutet Restore?",
"answers": ["Wiederherstellung von Daten aus einer Sicherung", "Löschen aller Sicherungen", "Komprimieren eines Monitors"],
"correct": 0,
"explanation": "Restore ist das Zurückspielen gesicherter Daten."
},
{
"category": "Backup-Grundlagen",
"hint": "Verstehe Zweck, Begriffe und Anforderungen an Datensicherung.",
"text": "Warum sollte ein Restore regelmäßig getestet werden?",
"answers": ["Damit sicher ist, dass die Sicherung im Ernstfall funktioniert", "Damit Backups größer werden", "Damit keine Dokumentation nötig ist"],
"correct": 0,
"explanation": "Ein Backup ist nur wertvoll, wenn die Wiederherstellung klappt."
},
{
"category": "Backup-Grundlagen",
"hint": "Verstehe Zweck, Begriffe und Anforderungen an Datensicherung.",
"text": "Was ist RPO?",
"answers": ["Maximal tolerierbarer Datenverlust in Zeit", "Maximale Bildschirmauflösung", "Ein Druckerprotokoll"],
"correct": 0,
"explanation": "RPO beschreibt, wie alt die wiederhergestellten Daten höchstens sein dürfen."
},
{
"category": "Backup-Grundlagen",
"hint": "Verstehe Zweck, Begriffe und Anforderungen an Datensicherung.",
"text": "Was ist RTO?",
"answers": ["Maximal tolerierbare Wiederherstellungszeit", "Router-Temperatur-Option", "Eine Dateiendung"],
"correct": 0,
"explanation": "RTO beschreibt, wie schnell ein System nach Ausfall wieder laufen muss."
},
{
"category": "Backup-Grundlagen",
"hint": "Verstehe Zweck, Begriffe und Anforderungen an Datensicherung.",
"text": "Warum ist eine Backup-Dokumentation wichtig?",
"answers": ["Damit Zuständigkeiten, Zeitpunkte und Wiederherstellung nachvollziehbar sind", "Damit niemand Backups findet", "Damit Tests überflüssig sind"],
"correct": 0,
"explanation": "Dokumentation macht Sicherung und Restore planbar."
},
{
"category": "Backup-Grundlagen",
"hint": "Verstehe Zweck, Begriffe und Anforderungen an Datensicherung.",
"text": "Welche Daten sollten gesichert werden?",
"answers": ["Geschäftskritische Daten und notwendige Konfigurationen", "Nur Hintergrundbilder", "Ausschließlich leere Ordner"],
"correct": 0,
"explanation": "Sicherungsumfang richtet sich nach Wiederherstellungsbedarf und Kritikalität."
},
{
"category": "Backup-Grundlagen",
"hint": "Verstehe Zweck, Begriffe und Anforderungen an Datensicherung.",
"text": "Was ist ein Backup-Fenster?",
"answers": ["Zeitraum, in dem Sicherungen durchgeführt werden", "Ein Fenster im Serverraum", "Eine Monitorfunktion"],
"correct": 0,
"explanation": "Backups werden oft in Zeiten geringer Nutzung geplant."
},
{
"category": "Backup-Grundlagen",
"hint": "Verstehe Zweck, Begriffe und Anforderungen an Datensicherung.",
"text": "Was ist bei personenbezogenen Daten in Backups wichtig?",
"answers": ["Schutz, Zugriff und Löschkonzept beachten", "Backups immer öffentlich machen", "Datenschutz gilt dort nie"],
"correct": 0,
"explanation": "Auch Backups können personenbezogene Daten enthalten."
},
{
"category": "Backup-Grundlagen",
"hint": "Verstehe Zweck, Begriffe und Anforderungen an Datensicherung.",
"text": "Welche Aussage ist korrekt?",
"answers": ["Backups müssen zum Risiko und Wiederherstellungsbedarf passen", "Ein Backup ersetzt jede IT-Sicherheit", "Ein einziges ungetestetes Backup reicht immer"],
"correct": 0,
"explanation": "Backup-Konzepte müssen Anforderungen, Risiken und Tests berücksichtigen."
},
{
"category": "Voll, differentiell, inkrementell",
"hint": "Unterscheide Sicherungsarten nach Speicherbedarf, Dauer und Restore-Aufwand.",
"text": "Was sichert ein Vollbackup?",
"answers": ["Alle ausgewählten Daten", "Nur Änderungen seit gestern", "Nur gelöschte Dateien"],
"correct": 0,
"explanation": "Ein Vollbackup enthält den kompletten ausgewählten Datenbestand."
},
{
"category": "Voll, differentiell, inkrementell",
"hint": "Unterscheide Sicherungsarten nach Speicherbedarf, Dauer und Restore-Aufwand.",
"text": "Was sichert ein differentielles Backup?",
"answers": ["Alle Änderungen seit dem letzten Vollbackup", "Nur Änderungen seit dem letzten beliebigen Backup", "Immer alle Daten"],
"correct": 0,
"explanation": "Differentiell bezieht sich auf das letzte Vollbackup."
},
{
"category": "Voll, differentiell, inkrementell",
"hint": "Unterscheide Sicherungsarten nach Speicherbedarf, Dauer und Restore-Aufwand.",
"text": "Was sichert ein inkrementelles Backup?",
"answers": ["Änderungen seit dem letzten Backup", "Immer alle Daten", "Nur Betriebssystemdateien"],
"correct": 0,
"explanation": "Inkrementell bezieht sich auf das letzte Backup, egal ob voll oder inkrementell."
},
{
"category": "Voll, differentiell, inkrementell",
"hint": "Unterscheide Sicherungsarten nach Speicherbedarf, Dauer und Restore-Aufwand.",
"text": "Welche Sicherungsart braucht meist am meisten Speicherplatz?",
"answers": ["Vollbackup", "Inkrementelles Backup", "Keine Sicherung"],
"correct": 0,
"explanation": "Vollbackups enthalten den gesamten ausgewählten Datenbestand."
},
{
"category": "Voll, differentiell, inkrementell",
"hint": "Unterscheide Sicherungsarten nach Speicherbedarf, Dauer und Restore-Aufwand.",
"text": "Welche Sicherungsart spart im Alltag meist am meisten Speicherplatz?",
"answers": ["Inkrementelles Backup", "Tägliches Vollbackup", "Doppelte Vollsicherung"],
"correct": 0,
"explanation": "Inkrementelle Backups sichern nur die Änderungen seit der letzten Sicherung."
},
{
"category": "Voll, differentiell, inkrementell",
"hint": "Unterscheide Sicherungsarten nach Speicherbedarf, Dauer und Restore-Aufwand.",
"text": "Was brauchst du beim differentiellen Restore?",
"answers": ["Letztes Vollbackup und letztes differentielles Backup", "Alle differentiellen Backups", "Nur das erste inkrementelle Backup"],
"correct": 0,
"explanation": "Differentiell enthält alle Änderungen seit dem letzten Vollbackup."
},
{
"category": "Voll, differentiell, inkrementell",
"hint": "Unterscheide Sicherungsarten nach Speicherbedarf, Dauer und Restore-Aufwand.",
"text": "Was brauchst du beim inkrementellen Restore typischerweise?",
"answers": ["Vollbackup und alle benötigten inkrementellen Backups der Kette", "Nur das letzte inkrementelle Backup", "Kein Vollbackup"],
"correct": 0,
"explanation": "Die inkrementelle Kette muss vollständig sein."
},
{
"category": "Voll, differentiell, inkrementell",
"hint": "Unterscheide Sicherungsarten nach Speicherbedarf, Dauer und Restore-Aufwand.",
"text": "Was ist ein Nachteil langer inkrementeller Ketten?",
"answers": ["Restore kann länger dauern und anfälliger sein", "Sie brauchen immer mehr Kabel", "Sie verhindern Datenschutz"],
"correct": 0,
"explanation": "Wenn ein Teil der Kette fehlt oder defekt ist, kann der Restore scheitern."
},
{
"category": "Voll, differentiell, inkrementell",
"hint": "Unterscheide Sicherungsarten nach Speicherbedarf, Dauer und Restore-Aufwand.",
"text": "Welche Strategie ist häufig praktikabel?",
"answers": ["Regelmäßige Vollbackups plus tägliche inkrementelle oder differentielle Sicherungen", "Nie sichern", "Nur einmal im Jahr prüfen"],
"correct": 0,
"explanation": "Kombinationen balancieren Speicherbedarf, Sicherungsdauer und Restore-Aufwand."
},
{
"category": "Voll, differentiell, inkrementell",
"hint": "Unterscheide Sicherungsarten nach Speicherbedarf, Dauer und Restore-Aufwand.",
"text": "Welche Aussage zum Vollbackup stimmt?",
"answers": ["Restore ist oft einfacher als bei langen Ketten", "Es enthält nie vollständige Daten", "Es ist immer verboten"],
"correct": 0,
"explanation": "Ein vollständiger Sicherungsstand vereinfacht die Wiederherstellung."
},
{
"category": "Backup-Strategie & Praxis",
"hint": "Bewerte Sicherungsorte, Sicherheit, Tests und typische AP1-Szenarien.",
"text": "Was bedeutet die 3-2-1-Regel grob?",
"answers": ["3 Kopien, 2 Medientypen, 1 Kopie extern", "3 Passwörter, 2 Nutzer, 1 Drucker", "3 Monitore, 2 Kabel, 1 Maus"],
"correct": 0,
"explanation": "Die Regel reduziert Risiko durch mehrere Kopien und externe Lagerung."
},
{
"category": "Backup-Strategie & Praxis",
"hint": "Bewerte Sicherungsorte, Sicherheit, Tests und typische AP1-Szenarien.",
"text": "Warum ist eine externe oder offline Kopie sinnvoll?",
"answers": ["Sie schützt besser gegen Brand, Diebstahl oder Ransomware", "Sie macht Daten automatisch öffentlich", "Sie ersetzt alle Benutzerrechte"],
"correct": 0,
"explanation": "Getrennte Kopien erhöhen die Chance auf Wiederherstellung."
},
{
"category": "Backup-Strategie & Praxis",
"hint": "Bewerte Sicherungsorte, Sicherheit, Tests und typische AP1-Szenarien.",
"text": "Was ist bei Cloud-Backups wichtig?",
"answers": ["Datenschutz, Verschlüsselung, Vertrag und Wiederherstellbarkeit", "Nur die Farbe des Cloud-Logos", "Keine Zugriffskontrolle"],
"correct": 0,
"explanation": "Cloud-Backups brauchen technische, rechtliche und organisatorische Bewertung."
},
{
"category": "Backup-Strategie & Praxis",
"hint": "Bewerte Sicherungsorte, Sicherheit, Tests und typische AP1-Szenarien.",
"text": "Warum sollten Backups verschlüsselt werden?",
"answers": ["Zum Schutz vor unbefugtem Zugriff", "Damit sie langsamer gelöscht werden", "Damit sie nie wiederherstellbar sind"],
"correct": 0,
"explanation": "Verschlüsselung unterstützt die Vertraulichkeit der gesicherten Daten."
},
{
"category": "Backup-Strategie & Praxis",
"hint": "Bewerte Sicherungsorte, Sicherheit, Tests und typische AP1-Szenarien.",
"text": "Was sollte nach einer Backup-Einrichtung dokumentiert werden?",
"answers": ["Zeitplan, Umfang, Speicherort, Verantwortliche und Restore-Verfahren", "Nur der Name des Praktikanten", "Nichts"],
"correct": 0,
"explanation": "Dokumentation macht Betrieb und Notfallwiederherstellung möglich."
},
{
"category": "Backup-Strategie & Praxis",
"hint": "Bewerte Sicherungsorte, Sicherheit, Tests und typische AP1-Szenarien.",
"text": "Ein Backup läuft täglich, schlägt aber seit Wochen fehl. Was ist das Hauptproblem?",
"answers": ["Fehlende Überwachung oder Reaktion auf Fehler", "Zu viele erfolgreiche Tests", "Zu viel Dokumentation"],
"correct": 0,
"explanation": "Backups müssen überwacht und Fehler müssen bearbeitet werden."
},
{
"category": "Backup-Strategie & Praxis",
"hint": "Bewerte Sicherungsorte, Sicherheit, Tests und typische AP1-Szenarien.",
"text": "Was ist bei Ransomware besonders wichtig?",
"answers": ["Nicht dauerhaft beschreibbare oder getrennte Backup-Kopien", "Backups immer im selben Ordner offen lassen", "Backups nie prüfen"],
"correct": 0,
"explanation": "Ransomware kann erreichbare Backups verschlüsseln oder löschen."
},
{
"category": "Backup-Strategie & Praxis",
"hint": "Bewerte Sicherungsorte, Sicherheit, Tests und typische AP1-Szenarien.",
"text": "Was ist ein typischer Fehler in Backup-Konzepten?",
"answers": ["Sicherung nie wiederherstellen testen", "RPO und RTO definieren", "Zugriffe einschränken"],
"correct": 0,
"explanation": "Ungetestete Sicherungen können im Ernstfall wertlos sein."
},
{
"category": "Backup-Strategie & Praxis",
"hint": "Bewerte Sicherungsorte, Sicherheit, Tests und typische AP1-Szenarien.",
"text": "Welche Frage ist bei Backup-Planung zentral?",
"answers": ["Wie viel Datenverlust und Ausfallzeit sind akzeptabel?", "Welche Tapete hat der Serverraum?", "Welcher Monitor ist am hellsten?"],
"correct": 0,
"explanation": "RPO und RTO bestimmen die passende Backup-Strategie."
},
{
"category": "Backup-Strategie & Praxis",
"hint": "Bewerte Sicherungsorte, Sicherheit, Tests und typische AP1-Szenarien.",
"text": "Welche Aussage ist richtig?",
"answers": ["Backup, Restore-Test und Dokumentation gehören zusammen", "Backup ohne Restore ist immer ausreichend", "Dokumentation verhindert Wiederherstellung"],
"correct": 0,
"explanation": "Ein gutes Konzept umfasst Sicherung, Prüfung und nachvollziehbare Abläufe."
}
]
}
@@ -0,0 +1,405 @@
{
"title": "Datenschutz & Datensicherheit",
"questions": [
{
"category": "Personenbezogene Daten",
"hint": "Erkenne, wann Daten sich auf eine identifizierte oder identifizierbare Person beziehen.",
"text": "Welche Angabe ist eindeutig personenbezogen?",
"answers": ["Seriennummer eines Switches", "Name und E-Mail-Adresse eines Kunden", "Temperatur im Serverraum"],
"correct": 1,
"explanation": "Name und E-Mail-Adresse können direkt einer Person zugeordnet werden."
},
{
"category": "Personenbezogene Daten",
"hint": "Erkenne, wann Daten sich auf eine identifizierte oder identifizierbare Person beziehen.",
"text": "Welche Daten können indirekt personenbezogen sein?",
"answers": ["Eine IP-Adresse in Logdateien", "Eine zufällige Gehäusefarbe", "Eine leere Tabelle ohne Bezug"],
"correct": 0,
"explanation": "IP-Adressen können unter Umständen einer Person oder einem Anschluss zugeordnet werden."
},
{
"category": "Personenbezogene Daten",
"hint": "Erkenne, wann Daten sich auf eine identifizierte oder identifizierbare Person beziehen.",
"text": "Welche Aussage zu Personalnummern ist richtig?",
"answers": ["Sie sind nie personenbezogen", "Sie können Beschäftigte eindeutig identifizieren", "Sie sind nur bei Auszubildenden geschützt"],
"correct": 1,
"explanation": "Personalnummern beziehen sich auf konkrete Beschäftigte und sind personenbezogen."
},
{
"category": "Personenbezogene Daten",
"hint": "Erkenne, wann Daten sich auf eine identifizierte oder identifizierbare Person beziehen.",
"text": "Was bedeutet Anonymisierung?",
"answers": ["Personenbezug wird so entfernt, dass keine Zuordnung mehr möglich ist", "Daten werden nur umbenannt", "Daten werden unverschlüsselt gespeichert"],
"correct": 0,
"explanation": "Anonyme Daten lassen sich nicht mehr auf eine Person zurückführen."
},
{
"category": "Personenbezogene Daten",
"hint": "Erkenne, wann Daten sich auf eine identifizierte oder identifizierbare Person beziehen.",
"text": "Was bedeutet Pseudonymisierung?",
"answers": ["Identifizierende Merkmale werden ersetzt, eine Zuordnung bleibt mit Zusatzwissen möglich", "Alle Daten werden gelöscht", "Daten werden öffentlich gemacht"],
"correct": 0,
"explanation": "Pseudonyme reduzieren Risiken, beseitigen den Personenbezug aber nicht vollständig."
},
{
"category": "Personenbezogene Daten",
"hint": "Erkenne, wann Daten sich auf eine identifizierte oder identifizierbare Person beziehen.",
"text": "Welche Information ist besonders sensibel?",
"answers": ["Gesundheitsdaten eines Mitarbeiters", "Rack-Nummer eines Servers", "Hersteller eines Monitors"],
"correct": 0,
"explanation": "Gesundheitsdaten gehören zu besonders schützenswerten personenbezogenen Daten."
},
{
"category": "Personenbezogene Daten",
"hint": "Erkenne, wann Daten sich auf eine identifizierte oder identifizierbare Person beziehen.",
"text": "Was ist bei Logdateien mit Benutzerkennungen wichtig?",
"answers": ["Sie können personenbezogene Daten enthalten", "Sie sind automatisch anonym", "Sie dürfen nie ausgewertet werden"],
"correct": 0,
"explanation": "Benutzerkennungen, Zeitpunkte und Aktionen können Nutzerverhalten nachvollziehbar machen."
},
{
"category": "Personenbezogene Daten",
"hint": "Erkenne, wann Daten sich auf eine identifizierte oder identifizierbare Person beziehen.",
"text": "Welche Kombination ist personenbezogen?",
"answers": ["Abteilung, Name und Telefonnummer", "Nur die Anzahl der Switchports", "Ein leerer USB-Stick"],
"correct": 0,
"explanation": "Die Kombination ermöglicht eine klare Zuordnung zu einer Person."
},
{
"category": "Personenbezogene Daten",
"hint": "Erkenne, wann Daten sich auf eine identifizierte oder identifizierbare Person beziehen.",
"text": "Warum ist der Personenbezug in Prüfungsaufgaben wichtig?",
"answers": ["Er entscheidet, ob Datenschutzregeln zu beachten sind", "Er entscheidet nur über die Bildschirmauflösung", "Er ist nie relevant"],
"correct": 0,
"explanation": "Sobald personenbezogene Daten verarbeitet werden, greifen Datenschutzanforderungen."
},
{
"category": "Personenbezogene Daten",
"hint": "Erkenne, wann Daten sich auf eine identifizierte oder identifizierbare Person beziehen.",
"text": "Welche Aussage ist korrekt?",
"answers": ["Auch Kundendaten und Mitarbeiterdaten können personenbezogen sein", "Nur Passwörter sind personenbezogen", "Personenbezogene Daten gibt es nur in Papierakten"],
"correct": 0,
"explanation": "Personenbezogene Daten können digital oder analog und in vielen Kontexten vorkommen."
},
{
"category": "DSGVO-Grundsätze",
"hint": "Grundsätze helfen, Verarbeitung rechtmäßig und nachvollziehbar zu bewerten.",
"text": "Was bedeutet Datenminimierung?",
"answers": ["Nur Daten verarbeiten, die für den Zweck notwendig sind", "Alle verfügbaren Daten speichern", "Daten nie löschen"],
"correct": 0,
"explanation": "Es sollen nicht mehr personenbezogene Daten verarbeitet werden als nötig."
},
{
"category": "DSGVO-Grundsätze",
"hint": "Grundsätze helfen, Verarbeitung rechtmäßig und nachvollziehbar zu bewerten.",
"text": "Was bedeutet Zweckbindung?",
"answers": ["Daten dürfen nur für festgelegte Zwecke verarbeitet werden", "Daten dürfen für alles genutzt werden", "Der Zweck muss geheim bleiben"],
"correct": 0,
"explanation": "Der Zweck muss vorab feststehen und die Verarbeitung daran gebunden sein."
},
{
"category": "DSGVO-Grundsätze",
"hint": "Grundsätze helfen, Verarbeitung rechtmäßig und nachvollziehbar zu bewerten.",
"text": "Was beschreibt der Grundsatz der Richtigkeit?",
"answers": ["Personenbezogene Daten sollen sachlich richtig und aktuell sein", "Daten sollen möglichst bunt sein", "Daten sollen nie geprüft werden"],
"correct": 0,
"explanation": "Unrichtige Daten können zu falschen Entscheidungen führen."
},
{
"category": "DSGVO-Grundsätze",
"hint": "Grundsätze helfen, Verarbeitung rechtmäßig und nachvollziehbar zu bewerten.",
"text": "Was bedeutet Speicherbegrenzung?",
"answers": ["Daten nur so lange speichern, wie es für den Zweck nötig ist", "Daten unbegrenzt behalten", "Nur kleine Dateien speichern"],
"correct": 0,
"explanation": "Personenbezogene Daten brauchen Löschfristen oder Prüffristen."
},
{
"category": "DSGVO-Grundsätze",
"hint": "Grundsätze helfen, Verarbeitung rechtmäßig und nachvollziehbar zu bewerten.",
"text": "Was bedeutet Integrität und Vertraulichkeit im Datenschutzkontext?",
"answers": ["Daten vor unbefugtem Zugriff, Verlust und Manipulation schützen", "Daten öffentlich verteilen", "Daten ohne Backup speichern"],
"correct": 0,
"explanation": "Dieser Grundsatz verlangt angemessene Sicherheit der Verarbeitung."
},
{
"category": "DSGVO-Grundsätze",
"hint": "Grundsätze helfen, Verarbeitung rechtmäßig und nachvollziehbar zu bewerten.",
"text": "Was ist Rechenschaftspflicht?",
"answers": ["Nachweisen können, dass Datenschutzregeln eingehalten werden", "Nur mündlich behaupten, alles sei sicher", "Alle Nachweise löschen"],
"correct": 0,
"explanation": "Organisationen müssen Datenschutzmaßnahmen dokumentieren und belegen können."
},
{
"category": "DSGVO-Grundsätze",
"hint": "Grundsätze helfen, Verarbeitung rechtmäßig und nachvollziehbar zu bewerten.",
"text": "Welche Verarbeitung ist problematisch?",
"answers": ["Kundendaten ohne Zweck unbegrenzt speichern", "Zugriffe rollenbasiert einschränken", "Daten nach Frist löschen"],
"correct": 0,
"explanation": "Ohne Zweck und Frist werden Zweckbindung und Speicherbegrenzung verletzt."
},
{
"category": "DSGVO-Grundsätze",
"hint": "Grundsätze helfen, Verarbeitung rechtmäßig und nachvollziehbar zu bewerten.",
"text": "Warum braucht eine Verarbeitung eine Rechtsgrundlage?",
"answers": ["Damit personenbezogene Daten rechtmäßig verarbeitet werden", "Damit die Daten größer werden", "Damit Backups schneller laufen"],
"correct": 0,
"explanation": "Rechtmäßigkeit ist ein zentraler Grundsatz."
},
{
"category": "DSGVO-Grundsätze",
"hint": "Grundsätze helfen, Verarbeitung rechtmäßig und nachvollziehbar zu bewerten.",
"text": "Welche Aussage passt zur Transparenz?",
"answers": ["Betroffene sollen verständlich informiert werden", "Verarbeitung soll geheim bleiben", "Informationen dürfen absichtlich verwirrend sein"],
"correct": 0,
"explanation": "Transparenz verlangt verständliche Informationen über die Verarbeitung."
},
{
"category": "DSGVO-Grundsätze",
"hint": "Grundsätze helfen, Verarbeitung rechtmäßig und nachvollziehbar zu bewerten.",
"text": "Was ist ein typischer Prüfungsfehler?",
"answers": ["Mehr Daten erfassen als für den Auftrag nötig", "Zugriffsrechte begrenzen", "Löschfristen definieren"],
"correct": 0,
"explanation": "Übermäßige Datenerhebung widerspricht Datenminimierung."
},
{
"category": "Betroffenenrechte",
"hint": "Betroffene Personen haben Rechte gegenüber Verantwortlichen.",
"text": "Was bedeutet Auskunftsrecht?",
"answers": ["Betroffene können Informationen über gespeicherte Daten verlangen", "Betroffene müssen alle Daten selbst sichern", "Betroffene verlieren alle Rechte"],
"correct": 0,
"explanation": "Betroffene dürfen erfahren, welche Daten zu welchem Zweck verarbeitet werden."
},
{
"category": "Betroffenenrechte",
"hint": "Betroffene Personen haben Rechte gegenüber Verantwortlichen.",
"text": "Was bedeutet Recht auf Berichtigung?",
"answers": ["Falsche personenbezogene Daten müssen korrigiert werden", "Daten müssen immer veröffentlicht werden", "Nur Passwörter dürfen geändert werden"],
"correct": 0,
"explanation": "Unrichtige Daten können berichtigt werden."
},
{
"category": "Betroffenenrechte",
"hint": "Betroffene Personen haben Rechte gegenüber Verantwortlichen.",
"text": "Was bedeutet Recht auf Löschung?",
"answers": ["Daten können unter bestimmten Voraussetzungen gelöscht werden", "Alle Daten müssen immer sofort gelöscht werden", "Daten dürfen nie gelöscht werden"],
"correct": 0,
"explanation": "Löschung hängt von Zweck, Rechtsgrundlage und Aufbewahrungspflichten ab."
},
{
"category": "Betroffenenrechte",
"hint": "Betroffene Personen haben Rechte gegenüber Verantwortlichen.",
"text": "Was bedeutet Widerspruchsrecht?",
"answers": ["Betroffene können bestimmten Verarbeitungen widersprechen", "Betroffene müssen jede Verarbeitung akzeptieren", "Nur Administratoren dürfen widersprechen"],
"correct": 0,
"explanation": "Unter bestimmten Bedingungen kann Verarbeitung abgelehnt werden."
},
{
"category": "Betroffenenrechte",
"hint": "Betroffene Personen haben Rechte gegenüber Verantwortlichen.",
"text": "Was bedeutet Datenübertragbarkeit?",
"answers": ["Daten in einem strukturierten, gängigen Format erhalten können", "Daten nur auf Papier bekommen", "Daten nie exportieren dürfen"],
"correct": 0,
"explanation": "Das Recht erleichtert Wechsel zwischen Diensten."
},
{
"category": "Betroffenenrechte",
"hint": "Betroffene Personen haben Rechte gegenüber Verantwortlichen.",
"text": "Wer ist eine betroffene Person?",
"answers": ["Die Person, auf die sich personenbezogene Daten beziehen", "Nur der Datenschutzbeauftragte", "Nur der Serveradministrator"],
"correct": 0,
"explanation": "Betroffen ist die identifizierte oder identifizierbare Person."
},
{
"category": "Betroffenenrechte",
"hint": "Betroffene Personen haben Rechte gegenüber Verantwortlichen.",
"text": "Was sollte bei einer Auskunftsanfrage zuerst geprüft werden?",
"answers": ["Identität der anfragenden Person", "Monitorauflösung", "Farbe der Datenbank"],
"correct": 0,
"explanation": "Daten dürfen nicht an unberechtigte Personen herausgegeben werden."
},
{
"category": "Betroffenenrechte",
"hint": "Betroffene Personen haben Rechte gegenüber Verantwortlichen.",
"text": "Warum dürfen Betroffenenrechte nicht ignoriert werden?",
"answers": ["Sie sind rechtlich relevante Ansprüche", "Sie sind freiwillige Dekoration", "Sie gelten nur im Urlaub"],
"correct": 0,
"explanation": "Organisationen müssen Anfragen angemessen bearbeiten."
},
{
"category": "Betroffenenrechte",
"hint": "Betroffene Personen haben Rechte gegenüber Verantwortlichen.",
"text": "Was ist bei Löschanfragen zu beachten?",
"answers": ["Ob gesetzliche Aufbewahrungspflichten entgegenstehen", "Ob der Drucker eingeschaltet ist", "Ob die Datei hübsch benannt ist"],
"correct": 0,
"explanation": "Nicht jede Löschung ist sofort möglich, wenn Pflichten zur Aufbewahrung bestehen."
},
{
"category": "Betroffenenrechte",
"hint": "Betroffene Personen haben Rechte gegenüber Verantwortlichen.",
"text": "Welche Antwort auf eine Betroffenenanfrage ist professionell?",
"answers": ["Anfrage dokumentieren, prüfen und fristgerecht beantworten", "Anfrage löschen", "Anfrage öffentlich posten"],
"correct": 0,
"explanation": "Dokumentation und fristgerechte Bearbeitung sind wichtig."
},
{
"category": "TOMs & Schutzziele",
"hint": "Technische und organisatorische Maßnahmen schützen Daten im Betrieb.",
"text": "Wofür steht TOM?",
"answers": ["Technische und organisatorische Maßnahmen", "Tägliche Online-Meldung", "Temporäre Ordner-Migration"],
"correct": 0,
"explanation": "TOMs sind Schutzmaßnahmen für die Verarbeitung personenbezogener Daten."
},
{
"category": "TOMs & Schutzziele",
"hint": "Technische und organisatorische Maßnahmen schützen Daten im Betrieb.",
"text": "Welches Schutzziel wird durch Verschlüsselung besonders unterstützt?",
"answers": ["Vertraulichkeit", "Lautstärke", "Bildschirmgröße"],
"correct": 0,
"explanation": "Verschlüsselung schützt Inhalte vor unberechtigtem Lesen."
},
{
"category": "TOMs & Schutzziele",
"hint": "Technische und organisatorische Maßnahmen schützen Daten im Betrieb.",
"text": "Welches Schutzziel wird durch Backups besonders unterstützt?",
"answers": ["Verfügbarkeit", "Farbtreue", "Kabellänge"],
"correct": 0,
"explanation": "Backups helfen, Daten nach Verlust wiederherzustellen."
},
{
"category": "TOMs & Schutzziele",
"hint": "Technische und organisatorische Maßnahmen schützen Daten im Betrieb.",
"text": "Was bedeutet Integrität?",
"answers": ["Daten sind vollständig und unverändert", "Daten sind immer öffentlich", "Daten sind besonders groß"],
"correct": 0,
"explanation": "Integrität schützt vor unbemerkter Manipulation oder Fehlern."
},
{
"category": "TOMs & Schutzziele",
"hint": "Technische und organisatorische Maßnahmen schützen Daten im Betrieb.",
"text": "Welche Maßnahme unterstützt Zugriffskontrolle?",
"answers": ["Rollen- und Rechtekonzept", "Offene Admin-Passwörter", "Gemeinsamer Account für alle"],
"correct": 0,
"explanation": "Rollen und Rechte begrenzen Zugriff nach Aufgabe."
},
{
"category": "TOMs & Schutzziele",
"hint": "Technische und organisatorische Maßnahmen schützen Daten im Betrieb.",
"text": "Warum ist Protokollierung wichtig?",
"answers": ["Zugriffe und Änderungen können nachvollzogen werden", "Alle Daten werden automatisch anonym", "Sie ersetzt jedes Backup"],
"correct": 0,
"explanation": "Logs unterstützen Kontrolle, Nachvollziehbarkeit und Fehleranalyse."
},
{
"category": "TOMs & Schutzziele",
"hint": "Technische und organisatorische Maßnahmen schützen Daten im Betrieb.",
"text": "Was ist ein gutes Passwortkonzept?",
"answers": ["Starke Passwörter, individuelle Accounts und wenn möglich Mehrfaktor-Authentifizierung", "Ein Passwort für alle", "Passwörter auf Monitor kleben"],
"correct": 0,
"explanation": "Individuelle starke Authentifizierung reduziert Missbrauch."
},
{
"category": "TOMs & Schutzziele",
"hint": "Technische und organisatorische Maßnahmen schützen Daten im Betrieb.",
"text": "Welche organisatorische Maßnahme ist sinnvoll?",
"answers": ["Mitarbeiter zu Datenschutz und Sicherheit schulen", "Sicherheitsregeln geheim halten", "Keine Zuständigkeiten definieren"],
"correct": 0,
"explanation": "Schulung hilft, Fehlverhalten und Unsicherheit zu reduzieren."
},
{
"category": "TOMs & Schutzziele",
"hint": "Technische und organisatorische Maßnahmen schützen Daten im Betrieb.",
"text": "Was bedeutet Need-to-know?",
"answers": ["Zugriff nur, wenn er für die Aufgabe nötig ist", "Alle dürfen alles sehen", "Nur externe Personen bekommen Zugriff"],
"correct": 0,
"explanation": "Need-to-know begrenzt Zugriff auf notwendige Informationen."
},
{
"category": "TOMs & Schutzziele",
"hint": "Technische und organisatorische Maßnahmen schützen Daten im Betrieb.",
"text": "Welche Maßnahme passt zur Verfügbarkeit?",
"answers": ["USV, Backup und Redundanz", "Unverschlüsselte Passwortliste", "Keine Wartung"],
"correct": 0,
"explanation": "Verfügbarkeit wird durch Ausfallschutz und Wiederherstellbarkeit unterstützt."
},
{
"category": "Praxisfälle & Verantwortung",
"hint": "Wende Datenschutz in typischen AP1-Handlungssituationen an.",
"text": "Ein USB-Stick mit Kundendaten wurde verloren. Was ist sinnvoll?",
"answers": ["Vorfall melden, Risiko prüfen und zuständige Stellen informieren", "Den Vorfall verschweigen", "Neue Aufkleber drucken"],
"correct": 0,
"explanation": "Datenschutzvorfälle müssen bewertet und nach Prozess behandelt werden."
},
{
"category": "Praxisfälle & Verantwortung",
"hint": "Wende Datenschutz in typischen AP1-Handlungssituationen an.",
"text": "Wer ist Verantwortlicher im Datenschutz?",
"answers": ["Die Stelle, die über Zweck und Mittel der Verarbeitung entscheidet", "Immer der Auszubildende", "Immer der Druckerhersteller"],
"correct": 0,
"explanation": "Verantwortliche bestimmen Zweck und Mittel der Verarbeitung."
},
{
"category": "Praxisfälle & Verantwortung",
"hint": "Wende Datenschutz in typischen AP1-Handlungssituationen an.",
"text": "Was ist Auftragsverarbeitung?",
"answers": ["Ein Dienstleister verarbeitet personenbezogene Daten im Auftrag", "Ein Kunde kauft einen Monitor", "Ein Projekt wird ohne Auftrag begonnen"],
"correct": 0,
"explanation": "Bei Auftragsverarbeitung braucht es klare vertragliche Regelungen."
},
{
"category": "Praxisfälle & Verantwortung",
"hint": "Wende Datenschutz in typischen AP1-Handlungssituationen an.",
"text": "Ein externer IT-Dienstleister wartet ein System mit Kundendaten. Was ist zu prüfen?",
"answers": ["Zugriff, Vertrag, Vertraulichkeit und Zweckbindung", "Nur die Farbe seines Firmenwagens", "Ob er private Musik hört"],
"correct": 0,
"explanation": "Externe Zugriffe müssen rechtlich und technisch geregelt sein."
},
{
"category": "Praxisfälle & Verantwortung",
"hint": "Wende Datenschutz in typischen AP1-Handlungssituationen an.",
"text": "Was ist bei Bildschirmarbeitsplätzen mit Kundendaten sinnvoll?",
"answers": ["Bildschirm sperren und Sichtschutz bei Bedarf nutzen", "Daten dauerhaft offen anzeigen", "Passwort unter die Tastatur legen"],
"correct": 0,
"explanation": "Arbeitsplätze müssen gegen unbefugte Einsicht geschützt werden."
},
{
"category": "Praxisfälle & Verantwortung",
"hint": "Wende Datenschutz in typischen AP1-Handlungssituationen an.",
"text": "Warum sollten alte Datenträger sicher gelöscht oder vernichtet werden?",
"answers": ["Damit personenbezogene Daten nicht wiederhergestellt werden können", "Damit sie schöner aussehen", "Damit Backups schneller werden"],
"correct": 0,
"explanation": "Normales Löschen reicht oft nicht gegen Wiederherstellung."
},
{
"category": "Praxisfälle & Verantwortung",
"hint": "Wende Datenschutz in typischen AP1-Handlungssituationen an.",
"text": "Was ist bei Testdaten in Entwicklungssystemen sinnvoll?",
"answers": ["Keine echten personenbezogenen Daten nutzen oder sie anonymisieren", "Produktivdaten frei kopieren", "Kundendaten öffentlich bereitstellen"],
"correct": 0,
"explanation": "Testsysteme sollten keine unnötigen echten personenbezogenen Daten enthalten."
},
{
"category": "Praxisfälle & Verantwortung",
"hint": "Wende Datenschutz in typischen AP1-Handlungssituationen an.",
"text": "Was sollte bei neuen IT-Systemen früh bedacht werden?",
"answers": ["Datenschutz durch Technikgestaltung und datenschutzfreundliche Voreinstellungen", "Nur die Gehäusefarbe", "Möglichst viele unnötige Daten sammeln"],
"correct": 0,
"explanation": "Privacy by Design und Privacy by Default sind wichtige Prinzipien."
},
{
"category": "Praxisfälle & Verantwortung",
"hint": "Wende Datenschutz in typischen AP1-Handlungssituationen an.",
"text": "Ein Kollege bittet um fremde Personaldaten ohne dienstlichen Grund. Was ist richtig?",
"answers": ["Zugriff verweigern und auf Berechtigung verweisen", "Daten sofort senden", "Daten öffentlich im Chat posten"],
"correct": 0,
"explanation": "Ohne berechtigten Zweck darf kein Zugriff erfolgen."
},
{
"category": "Praxisfälle & Verantwortung",
"hint": "Wende Datenschutz in typischen AP1-Handlungssituationen an.",
"text": "Warum ist Datenschutz in AP1-Aufgaben oft mit IT-Sicherheit verbunden?",
"answers": ["Weil technische Schutzmaßnahmen personenbezogene Daten sichern", "Weil Datenschutz nur aus Firewalls besteht", "Weil Sicherheit Datenschutz ersetzt"],
"correct": 0,
"explanation": "Datenschutz und Datensicherheit überschneiden sich, sind aber nicht identisch."
}
]
}
@@ -0,0 +1,405 @@
{
"title": "OSI-Modell",
"questions": [
{
"category": "OSI-Grundlagen",
"hint": "Verstehe Zweck, Reihenfolge und Nutzen des Schichtenmodells.",
"text": "Wozu dient das OSI-Modell hauptsächlich?",
"answers": ["Zur strukturierten Beschreibung von Netzwerkkommunikation", "Zum Formatieren von Festplatten", "Zum Berechnen von Rabatten"],
"correct": 0,
"explanation": "Das OSI-Modell teilt Netzwerkkommunikation in sieben verständliche Schichten."
},
{
"category": "OSI-Grundlagen",
"hint": "Verstehe Zweck, Reihenfolge und Nutzen des Schichtenmodells.",
"text": "Wie viele Schichten hat das OSI-Modell?",
"answers": ["4", "7", "12"],
"correct": 1,
"explanation": "Das OSI-Modell besteht aus sieben Schichten."
},
{
"category": "OSI-Grundlagen",
"hint": "Verstehe Zweck, Reihenfolge und Nutzen des Schichtenmodells.",
"text": "Welche Schicht ist die unterste Schicht?",
"answers": ["Anwendung", "Bitübertragung", "Transport"],
"correct": 1,
"explanation": "Schicht 1 ist die Bitübertragungsschicht."
},
{
"category": "OSI-Grundlagen",
"hint": "Verstehe Zweck, Reihenfolge und Nutzen des Schichtenmodells.",
"text": "Welche Schicht ist die oberste Schicht?",
"answers": ["Anwendung", "Vermittlung", "Sicherung"],
"correct": 0,
"explanation": "Schicht 7 ist die Anwendungsschicht."
},
{
"category": "OSI-Grundlagen",
"hint": "Verstehe Zweck, Reihenfolge und Nutzen des Schichtenmodells.",
"text": "Warum ist das OSI-Modell in der Fehleranalyse nützlich?",
"answers": ["Fehler können schichtweise eingegrenzt werden", "Es löscht automatisch Störungen", "Es ersetzt jede Dokumentation"],
"correct": 0,
"explanation": "Man prüft vom physischen Anschluss bis zur Anwendung systematisch."
},
{
"category": "OSI-Grundlagen",
"hint": "Verstehe Zweck, Reihenfolge und Nutzen des Schichtenmodells.",
"text": "Welche Reihenfolge ist korrekt?",
"answers": ["Bitübertragung, Sicherung, Vermittlung, Transport", "Anwendung, Sicherung, Bitübertragung, Transport", "Transport, Darstellung, Bitübertragung, Sicherung"],
"correct": 0,
"explanation": "Die unteren vier Schichten lauten 1 Bitübertragung, 2 Sicherung, 3 Vermittlung, 4 Transport."
},
{
"category": "OSI-Grundlagen",
"hint": "Verstehe Zweck, Reihenfolge und Nutzen des Schichtenmodells.",
"text": "Was bedeutet Kapselung in Netzwerkmodellen?",
"answers": ["Jede Schicht fügt eigene Informationen hinzu", "Daten werden immer gelöscht", "Nur Kabel werden beschriftet"],
"correct": 0,
"explanation": "Beim Senden werden Daten von Schicht zu Schicht mit Headern versehen."
},
{
"category": "OSI-Grundlagen",
"hint": "Verstehe Zweck, Reihenfolge und Nutzen des Schichtenmodells.",
"text": "Welche Aussage ist korrekt?",
"answers": ["Protokolle lassen sich bestimmten Schichten zuordnen", "Alle Protokolle gehören immer zu Schicht 1", "Das OSI-Modell gilt nur für Drucker"],
"correct": 0,
"explanation": "Beispiele sind Ethernet auf Schicht 2, IP auf Schicht 3 und HTTP auf Schicht 7."
},
{
"category": "OSI-Grundlagen",
"hint": "Verstehe Zweck, Reihenfolge und Nutzen des Schichtenmodells.",
"text": "Welcher Begriff passt zum OSI-Modell?",
"answers": ["Schichtenmodell", "Bilanzkonto", "Zeiterfassung"],
"correct": 0,
"explanation": "OSI ist ein Schichtenmodell für Kommunikation."
},
{
"category": "OSI-Grundlagen",
"hint": "Verstehe Zweck, Reihenfolge und Nutzen des Schichtenmodells.",
"text": "Was ist in AP1 besonders wichtig?",
"answers": ["Typische Geräte, Protokolle und Fehler den Schichten zuordnen", "Alle RFCs auswendig lernen", "Nur IPv6-Adressen malen"],
"correct": 0,
"explanation": "Prüfungsaufgaben arbeiten oft mit Zuordnung und Fehlerdiagnose."
},
{
"category": "Schicht 1-2: Bitübertragung & Sicherung",
"hint": "Kabel, Signale, MAC-Adressen, Frames und Switches sicher zuordnen.",
"text": "Was gehört typischerweise zu Schicht 1?",
"answers": ["Kabel und elektrische Signale", "HTTP-Statuscodes", "Benutzerrechte"],
"correct": 0,
"explanation": "Schicht 1 beschreibt die physische Übertragung."
},
{
"category": "Schicht 1-2: Bitübertragung & Sicherung",
"hint": "Kabel, Signale, MAC-Adressen, Frames und Switches sicher zuordnen.",
"text": "Welches Gerät arbeitet klassisch auf Schicht 2?",
"answers": ["Switch", "Webserver", "Druckertreiber"],
"correct": 0,
"explanation": "Switches treffen Weiterleitungsentscheidungen anhand von MAC-Adressen."
},
{
"category": "Schicht 1-2: Bitübertragung & Sicherung",
"hint": "Kabel, Signale, MAC-Adressen, Frames und Switches sicher zuordnen.",
"text": "Welche Adresse gehört zu Schicht 2?",
"answers": ["MAC-Adresse", "IP-Adresse", "URL"],
"correct": 0,
"explanation": "MAC-Adressen werden auf der Sicherungsschicht verwendet."
},
{
"category": "Schicht 1-2: Bitübertragung & Sicherung",
"hint": "Kabel, Signale, MAC-Adressen, Frames und Switches sicher zuordnen.",
"text": "Welche Einheit passt zu Schicht 2?",
"answers": ["Frame", "Segment", "Datei"],
"correct": 0,
"explanation": "Auf Schicht 2 werden Daten typischerweise als Frames betrachtet."
},
{
"category": "Schicht 1-2: Bitübertragung & Sicherung",
"hint": "Kabel, Signale, MAC-Adressen, Frames und Switches sicher zuordnen.",
"text": "Ein Netzwerkkabel ist defekt. Welche Schicht ist zuerst betroffen?",
"answers": ["Schicht 1", "Schicht 4", "Schicht 7"],
"correct": 0,
"explanation": "Kabel gehören zur Bitübertragungsschicht."
},
{
"category": "Schicht 1-2: Bitübertragung & Sicherung",
"hint": "Kabel, Signale, MAC-Adressen, Frames und Switches sicher zuordnen.",
"text": "Was macht ein Switch mit seiner MAC-Tabelle?",
"answers": ["Er ordnet MAC-Adressen Ports zu", "Er vergibt HTTP-Cookies", "Er berechnet Kreditzinsen"],
"correct": 0,
"explanation": "Die MAC-Tabelle hilft beim gezielten Weiterleiten von Frames."
},
{
"category": "Schicht 1-2: Bitübertragung & Sicherung",
"hint": "Kabel, Signale, MAC-Adressen, Frames und Switches sicher zuordnen.",
"text": "Was ist ein typisches Schicht-1-Problem?",
"answers": ["Kein Link-Signal am Port", "Falsches Passwort im Webformular", "Falscher Mehrwertsteuersatz"],
"correct": 0,
"explanation": "Fehlendes Link-Signal deutet auf physische Verbindung oder Portproblem hin."
},
{
"category": "Schicht 1-2: Bitübertragung & Sicherung",
"hint": "Kabel, Signale, MAC-Adressen, Frames und Switches sicher zuordnen.",
"text": "Was ist ein typisches Schicht-2-Thema?",
"answers": ["VLAN", "DNS-Name", "HTML-Formular"],
"correct": 0,
"explanation": "VLANs werden häufig der Sicherungsschicht zugeordnet."
},
{
"category": "Schicht 1-2: Bitübertragung & Sicherung",
"hint": "Kabel, Signale, MAC-Adressen, Frames und Switches sicher zuordnen.",
"text": "Was prüfst du bei Verdacht auf Schicht-1-Fehler?",
"answers": ["Kabel, Link-LED, Port und physische Verbindung", "Nur den Browsercache", "Nur Benutzerrechte"],
"correct": 0,
"explanation": "Schicht 1 beginnt bei der physischen Verbindung."
},
{
"category": "Schicht 1-2: Bitübertragung & Sicherung",
"hint": "Kabel, Signale, MAC-Adressen, Frames und Switches sicher zuordnen.",
"text": "Welche Aussage zu Switches ist korrekt?",
"answers": ["Sie arbeiten überwiegend mit MAC-Adressen", "Sie ersetzen jede IP-Adresse", "Sie sind immer Webbrowser"],
"correct": 0,
"explanation": "Switches leiten Frames anhand von MAC-Adressen weiter."
},
{
"category": "Schicht 3-4: Vermittlung & Transport",
"hint": "IP, Routing, TCP, UDP und Ports sauber unterscheiden.",
"text": "Auf welcher Schicht arbeitet IP?",
"answers": ["Schicht 3", "Schicht 1", "Schicht 7"],
"correct": 0,
"explanation": "IP gehört zur Vermittlungsschicht."
},
{
"category": "Schicht 3-4: Vermittlung & Transport",
"hint": "IP, Routing, TCP, UDP und Ports sauber unterscheiden.",
"text": "Auf welcher Schicht arbeitet TCP?",
"answers": ["Schicht 4", "Schicht 2", "Schicht 6"],
"correct": 0,
"explanation": "TCP ist ein Transportprotokoll."
},
{
"category": "Schicht 3-4: Vermittlung & Transport",
"hint": "IP, Routing, TCP, UDP und Ports sauber unterscheiden.",
"text": "Welches Gerät arbeitet klassisch auf Schicht 3?",
"answers": ["Router", "Hub", "Monitor"],
"correct": 0,
"explanation": "Router verbinden Netze anhand von IP-Informationen."
},
{
"category": "Schicht 3-4: Vermittlung & Transport",
"hint": "IP, Routing, TCP, UDP und Ports sauber unterscheiden.",
"text": "Welche Adresse gehört zu Schicht 3?",
"answers": ["IP-Adresse", "MAC-Adresse", "Seriennummer"],
"correct": 0,
"explanation": "IP-Adressen dienen zur logischen Adressierung im Netzwerk."
},
{
"category": "Schicht 3-4: Vermittlung & Transport",
"hint": "IP, Routing, TCP, UDP und Ports sauber unterscheiden.",
"text": "Welche Protokolle gehören typischerweise zu Schicht 4?",
"answers": ["TCP und UDP", "HTTP und HTML", "VGA und HDMI"],
"correct": 0,
"explanation": "TCP und UDP sind Transportprotokolle."
},
{
"category": "Schicht 3-4: Vermittlung & Transport",
"hint": "IP, Routing, TCP, UDP und Ports sauber unterscheiden.",
"text": "Wozu dienen Ports?",
"answers": ["Zur Zuordnung von Daten zu Anwendungen oder Diensten", "Zur Stromversorgung", "Zur Berechnung von Subventionen"],
"correct": 0,
"explanation": "Ports helfen, Daten an den richtigen Dienst weiterzugeben."
},
{
"category": "Schicht 3-4: Vermittlung & Transport",
"hint": "IP, Routing, TCP, UDP und Ports sauber unterscheiden.",
"text": "Was ist ein typischer TCP-Vorteil?",
"answers": ["Zuverlässige, verbindungsorientierte Übertragung", "Keine Fehlerkontrolle", "Nur Broadcast"],
"correct": 0,
"explanation": "TCP bestätigt Daten und sorgt für Reihenfolge und Wiederholung bei Verlust."
},
{
"category": "Schicht 3-4: Vermittlung & Transport",
"hint": "IP, Routing, TCP, UDP und Ports sauber unterscheiden.",
"text": "Was ist ein typischer UDP-Vorteil?",
"answers": ["Geringer Overhead und schnelle Übertragung", "Garantierte Zustellung jedes Pakets", "Automatische Verschlüsselung"],
"correct": 0,
"explanation": "UDP ist schlanker, aber bietet weniger Zuverlässigkeitsmechanismen."
},
{
"category": "Schicht 3-4: Vermittlung & Transport",
"hint": "IP, Routing, TCP, UDP und Ports sauber unterscheiden.",
"text": "Ein Host hat eine falsche Standardgateway-Adresse. Welche Schicht ist besonders betroffen?",
"answers": ["Schicht 3", "Schicht 1", "Schicht 6"],
"correct": 0,
"explanation": "Gateway und Routing gehören zur Vermittlungsschicht."
},
{
"category": "Schicht 3-4: Vermittlung & Transport",
"hint": "IP, Routing, TCP, UDP und Ports sauber unterscheiden.",
"text": "Ein Dienst hört nicht auf Port 443. Welche Schicht ist bei der Portprüfung relevant?",
"answers": ["Schicht 4", "Schicht 1", "Schicht 2"],
"correct": 0,
"explanation": "Ports sind ein Thema der Transportschicht."
},
{
"category": "Schicht 5-7: Sitzung, Darstellung, Anwendung",
"hint": "Dienste, Formate, Verschlüsselung und Anwendungsprotokolle zuordnen.",
"text": "Welche Schicht ist die Anwendungsschicht?",
"answers": ["Schicht 7", "Schicht 3", "Schicht 1"],
"correct": 0,
"explanation": "Schicht 7 stellt Dienste für Anwendungen bereit."
},
{
"category": "Schicht 5-7: Sitzung, Darstellung, Anwendung",
"hint": "Dienste, Formate, Verschlüsselung und Anwendungsprotokolle zuordnen.",
"text": "Welches Protokoll gehört typischerweise zur Anwendungsschicht?",
"answers": ["HTTP", "IP", "Ethernet"],
"correct": 0,
"explanation": "HTTP ist ein Anwendungsprotokoll."
},
{
"category": "Schicht 5-7: Sitzung, Darstellung, Anwendung",
"hint": "Dienste, Formate, Verschlüsselung und Anwendungsprotokolle zuordnen.",
"text": "Welche Aufgabe passt zur Darstellungsschicht?",
"answers": ["Datenformat, Kodierung oder Verschlüsselung", "Kabel einstecken", "MAC-Tabelle lernen"],
"correct": 0,
"explanation": "Schicht 6 befasst sich unter anderem mit Darstellung und Kodierung."
},
{
"category": "Schicht 5-7: Sitzung, Darstellung, Anwendung",
"hint": "Dienste, Formate, Verschlüsselung und Anwendungsprotokolle zuordnen.",
"text": "Welche Aufgabe passt zur Sitzungsschicht?",
"answers": ["Sitzungen und Dialoge zwischen Systemen steuern", "IP-Routing durchführen", "Kabelschirmung prüfen"],
"correct": 0,
"explanation": "Schicht 5 koordiniert Sitzungen und Verbindungsdialoge."
},
{
"category": "Schicht 5-7: Sitzung, Darstellung, Anwendung",
"hint": "Dienste, Formate, Verschlüsselung und Anwendungsprotokolle zuordnen.",
"text": "DNS wird in Prüfungen meist welcher Schicht zugeordnet?",
"answers": ["Schicht 7", "Schicht 2", "Schicht 1"],
"correct": 0,
"explanation": "DNS ist ein Anwendungsdienst zur Namensauflösung."
},
{
"category": "Schicht 5-7: Sitzung, Darstellung, Anwendung",
"hint": "Dienste, Formate, Verschlüsselung und Anwendungsprotokolle zuordnen.",
"text": "SMTP wird typischerweise wofür verwendet?",
"answers": ["E-Mail-Versand", "MAC-Adressierung", "Stromversorgung"],
"correct": 0,
"explanation": "SMTP ist ein Protokoll für den Versand von E-Mails."
},
{
"category": "Schicht 5-7: Sitzung, Darstellung, Anwendung",
"hint": "Dienste, Formate, Verschlüsselung und Anwendungsprotokolle zuordnen.",
"text": "Welche Aussage zu HTTPS ist passend?",
"answers": ["Es schützt HTTP-Kommunikation durch TLS", "Es ersetzt jedes Routing", "Es gehört nur zu Schicht 1"],
"correct": 0,
"explanation": "HTTPS nutzt TLS für verschlüsselte Webkommunikation."
},
{
"category": "Schicht 5-7: Sitzung, Darstellung, Anwendung",
"hint": "Dienste, Formate, Verschlüsselung und Anwendungsprotokolle zuordnen.",
"text": "Ein Browser zeigt 'DNS_PROBE_FINISHED'. Welcher Bereich ist naheliegend?",
"answers": ["Namensauflösung auf Anwendungsebene", "Defektes Netzwerkkabel zwingend", "Falsche Mehrwertsteuer"],
"correct": 0,
"explanation": "DNS-Probleme liegen bei der Namensauflösung, typischerweise Anwendungsschicht."
},
{
"category": "Schicht 5-7: Sitzung, Darstellung, Anwendung",
"hint": "Dienste, Formate, Verschlüsselung und Anwendungsprotokolle zuordnen.",
"text": "Welches Beispiel passt zur Darstellungsschicht?",
"answers": ["Zeichencodierung wie UTF-8", "Switchport lernen", "Subnetzmaske berechnen"],
"correct": 0,
"explanation": "Zeichencodierung betrifft die Darstellung von Daten."
},
{
"category": "Schicht 5-7: Sitzung, Darstellung, Anwendung",
"hint": "Dienste, Formate, Verschlüsselung und Anwendungsprotokolle zuordnen.",
"text": "Welche Protokolle sind typische Anwendungsprotokolle?",
"answers": ["HTTP, DNS, SMTP", "IP, ICMP, ARP", "Kupfer, Glasfaser, Funk"],
"correct": 0,
"explanation": "HTTP, DNS und SMTP werden meist der Anwendungsschicht zugeordnet."
},
{
"category": "Fehleranalyse nach OSI",
"hint": "Gehe systematisch von physischer Verbindung bis Anwendung vor.",
"text": "Ein PC hat keine Link-LED am Netzwerkport. Was prüfst du zuerst?",
"answers": ["Kabel, Port und physische Verbindung", "DNS-Eintrag", "HTTP-Cookie"],
"correct": 0,
"explanation": "Ohne Link ist zuerst Schicht 1 zu prüfen."
},
{
"category": "Fehleranalyse nach OSI",
"hint": "Gehe systematisch von physischer Verbindung bis Anwendung vor.",
"text": "Ein PC hat Link, aber keine gültige IP-Adresse. Welche Ebene ist naheliegend?",
"answers": ["Schicht 3 beziehungsweise IP-Konfiguration", "Nur Schicht 7", "Nur das Netzteil"],
"correct": 0,
"explanation": "IP-Adresse, Gateway und Netzmaske gehören zur Vermittlungsschicht."
},
{
"category": "Fehleranalyse nach OSI",
"hint": "Gehe systematisch von physischer Verbindung bis Anwendung vor.",
"text": "Ping zur IP funktioniert, aber der Name nicht. Was ist wahrscheinlich?",
"answers": ["DNS-Problem", "Kabel zwingend defekt", "Monitor kaputt"],
"correct": 0,
"explanation": "Wenn IP erreichbar ist, aber Name nicht, liegt der Fokus auf Namensauflösung."
},
{
"category": "Fehleranalyse nach OSI",
"hint": "Gehe systematisch von physischer Verbindung bis Anwendung vor.",
"text": "Ein Webserver ist per Ping erreichbar, aber HTTPS geht nicht. Was prüfst du?",
"answers": ["Port 443, Dienst und Firewall", "Nur die Kabelfarbe", "Nur den Druckertreiber"],
"correct": 0,
"explanation": "Hier sind Transport- und Anwendungsebene relevant."
},
{
"category": "Fehleranalyse nach OSI",
"hint": "Gehe systematisch von physischer Verbindung bis Anwendung vor.",
"text": "Warum ist schichtweises Vorgehen sinnvoll?",
"answers": ["Es verhindert planloses Raten", "Es macht Dokumentation unnötig", "Es löscht automatisch Fehler"],
"correct": 0,
"explanation": "Schichtweises Prüfen grenzt Ursachen systematisch ein."
},
{
"category": "Fehleranalyse nach OSI",
"hint": "Gehe systematisch von physischer Verbindung bis Anwendung vor.",
"text": "Welche Reihenfolge ist bei Fehlersuche oft sinnvoll?",
"answers": ["Physisch, lokale Konfiguration, Routing, Ports, Anwendung", "Anwendung, Rechnung, Gehäusefarbe", "Nur Neustart ohne Prüfung"],
"correct": 0,
"explanation": "Man beginnt häufig unten und arbeitet sich nach oben."
},
{
"category": "Fehleranalyse nach OSI",
"hint": "Gehe systematisch von physischer Verbindung bis Anwendung vor.",
"text": "Ein falsches VLAN am Switchport betrifft vor allem welche Schicht?",
"answers": ["Schicht 2", "Schicht 6", "Schicht 7"],
"correct": 0,
"explanation": "VLAN-Zuordnung ist ein Thema der Sicherungsschicht."
},
{
"category": "Fehleranalyse nach OSI",
"hint": "Gehe systematisch von physischer Verbindung bis Anwendung vor.",
"text": "Ein falsches Standardgateway verhindert Zugriff auf andere Netze. Welche Schicht ist betroffen?",
"answers": ["Schicht 3", "Schicht 1", "Schicht 5"],
"correct": 0,
"explanation": "Gateway und Routing gehören zu Schicht 3."
},
{
"category": "Fehleranalyse nach OSI",
"hint": "Gehe systematisch von physischer Verbindung bis Anwendung vor.",
"text": "Ein Dienst läuft, aber die Firewall blockiert den Port. Welche Prüfung ist relevant?",
"answers": ["Transportebene und Portfreigabe", "Nur Bildschirmhelligkeit", "Nur Speicherplatz"],
"correct": 0,
"explanation": "Ports und Verbindungen gehören zur Transportschicht."
},
{
"category": "Fehleranalyse nach OSI",
"hint": "Gehe systematisch von physischer Verbindung bis Anwendung vor.",
"text": "Eine Webseite liefert HTTP 500. Wo liegt der Fokus eher?",
"answers": ["Anwendung oder Serverdienst", "Defektes Patchkabel zwingend", "MAC-Adresse des Monitors"],
"correct": 0,
"explanation": "HTTP-Fehlercodes gehören zur Anwendungsebene beziehungsweise zum Webdienst."
}
]
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,245 @@
{
"title": "Datenbanksysteme",
"questions": [
{
"category": "Datenbank-Grundlagen",
"hint": "Tabellen, Datensätze und Beziehungen verstehen.",
"text": "Was beschreibt Tabelle am besten?",
"answers": [
"Sie strukturiert Daten in Zeilen und Spalten.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Sie strukturiert Daten in Zeilen und Spalten."
},
{
"category": "Datenbank-Grundlagen",
"hint": "Tabellen, Datensätze und Beziehungen verstehen.",
"text": "Welche Aussage zu Datensatz ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Eine Zeile beschreibt ein Objekt oder Ereignis.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Eine Zeile beschreibt ein Objekt oder Ereignis."
},
{
"category": "Datenbank-Grundlagen",
"hint": "Tabellen, Datensätze und Beziehungen verstehen.",
"text": "Woran erkennst du Attribut in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Eine Spalte beschreibt eine Eigenschaft."
],
"correct": 2,
"explanation": "Eine Spalte beschreibt eine Eigenschaft."
},
{
"category": "Datenbank-Grundlagen",
"hint": "Tabellen, Datensätze und Beziehungen verstehen.",
"text": "Was ist bei Primärschlüssel besonders wichtig?",
"answers": [
"Er identifiziert Datensätze eindeutig.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Er identifiziert Datensätze eindeutig."
},
{
"category": "Datenbank-Grundlagen",
"hint": "Tabellen, Datensätze und Beziehungen verstehen.",
"text": "Was beschreibt Fremdschlüssel am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Er verweist auf Datensätze anderer Tabellen.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Er verweist auf Datensätze anderer Tabellen."
},
{
"category": "Datenbank-Grundlagen",
"hint": "Tabellen, Datensätze und Beziehungen verstehen.",
"text": "Welche Aussage zu Relation ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Beziehung zwischen Tabellen."
],
"correct": 2,
"explanation": "Beziehung zwischen Tabellen."
},
{
"category": "Datenbank-Grundlagen",
"hint": "Tabellen, Datensätze und Beziehungen verstehen.",
"text": "Woran erkennst du Redundanz in einer AP1-Aufgabe?",
"answers": [
"Doppelte Daten können Inkonsistenzen erzeugen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Doppelte Daten können Inkonsistenzen erzeugen."
},
{
"category": "Datenbank-Grundlagen",
"hint": "Tabellen, Datensätze und Beziehungen verstehen.",
"text": "Was ist bei Normalisierung besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Sie reduziert unnötige Wiederholungen.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Sie reduziert unnötige Wiederholungen."
},
{
"category": "Datenbank-Grundlagen",
"hint": "Tabellen, Datensätze und Beziehungen verstehen.",
"text": "Was beschreibt DBMS am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Es verwaltet Daten, Zugriffe und Transaktionen."
],
"correct": 2,
"explanation": "Es verwaltet Daten, Zugriffe und Transaktionen."
},
{
"category": "Datenbank-Grundlagen",
"hint": "Tabellen, Datensätze und Beziehungen verstehen.",
"text": "Welche Aussage zu Transaktion ist richtig?",
"answers": [
"Sie fasst Operationen zuverlässig zusammen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Sie fasst Operationen zuverlässig zusammen."
},
{
"category": "SQL & Betrieb",
"hint": "Abfragen, Rechte und Betriebsaspekte einordnen.",
"text": "Was beschreibt SELECT am besten?",
"answers": [
"Liest Daten aus Tabellen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Liest Daten aus Tabellen."
},
{
"category": "SQL & Betrieb",
"hint": "Abfragen, Rechte und Betriebsaspekte einordnen.",
"text": "Welche Aussage zu INSERT ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Fügt neue Datensätze ein.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Fügt neue Datensätze ein."
},
{
"category": "SQL & Betrieb",
"hint": "Abfragen, Rechte und Betriebsaspekte einordnen.",
"text": "Woran erkennst du UPDATE in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Ändert bestehende Datensätze."
],
"correct": 2,
"explanation": "Ändert bestehende Datensätze."
},
{
"category": "SQL & Betrieb",
"hint": "Abfragen, Rechte und Betriebsaspekte einordnen.",
"text": "Was ist bei DELETE besonders wichtig?",
"answers": [
"Löscht Datensätze.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Löscht Datensätze."
},
{
"category": "SQL & Betrieb",
"hint": "Abfragen, Rechte und Betriebsaspekte einordnen.",
"text": "Was beschreibt WHERE am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Filtert Datensätze nach Bedingungen.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Filtert Datensätze nach Bedingungen."
},
{
"category": "SQL & Betrieb",
"hint": "Abfragen, Rechte und Betriebsaspekte einordnen.",
"text": "Welche Aussage zu JOIN ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Verknüpft Tabellen über Beziehungen."
],
"correct": 2,
"explanation": "Verknüpft Tabellen über Beziehungen."
},
{
"category": "SQL & Betrieb",
"hint": "Abfragen, Rechte und Betriebsaspekte einordnen.",
"text": "Woran erkennst du Backup in einer AP1-Aufgabe?",
"answers": [
"Datenbanken brauchen Sicherung und Restore-Test.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Datenbanken brauchen Sicherung und Restore-Test."
},
{
"category": "SQL & Betrieb",
"hint": "Abfragen, Rechte und Betriebsaspekte einordnen.",
"text": "Was ist bei Rechtekonzept besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Nutzer sollten nur notwendige Rechte haben.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Nutzer sollten nur notwendige Rechte haben."
},
{
"category": "SQL & Betrieb",
"hint": "Abfragen, Rechte und Betriebsaspekte einordnen.",
"text": "Was beschreibt Datenschutz am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Personenbezogene Daten müssen geschützt werden."
],
"correct": 2,
"explanation": "Personenbezogene Daten müssen geschützt werden."
},
{
"category": "SQL & Betrieb",
"hint": "Abfragen, Rechte und Betriebsaspekte einordnen.",
"text": "Welche Aussage zu Index ist richtig?",
"answers": [
"Kann Abfragen beschleunigen, braucht aber Speicher.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Kann Abfragen beschleunigen, braucht aber Speicher."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "DSL und Internetanschluss",
"questions": [
{
"category": "Anschluss & Bandbreite",
"hint": "Technische Anschlusswerte richtig deuten.",
"text": "Was beschreibt Downloadrate am besten?",
"answers": [
"Datenrate aus dem Internet zum Kunden.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Datenrate aus dem Internet zum Kunden."
},
{
"category": "Anschluss & Bandbreite",
"hint": "Technische Anschlusswerte richtig deuten.",
"text": "Welche Aussage zu Uploadrate ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Datenrate vom Kunden ins Internet.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Datenrate vom Kunden ins Internet."
},
{
"category": "Anschluss & Bandbreite",
"hint": "Technische Anschlusswerte richtig deuten.",
"text": "Woran erkennst du Latenz in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Zeitverzögerung einer Verbindung."
],
"correct": 2,
"explanation": "Zeitverzögerung einer Verbindung."
},
{
"category": "Anschluss & Bandbreite",
"hint": "Technische Anschlusswerte richtig deuten.",
"text": "Was ist bei Bandbreite besonders wichtig?",
"answers": [
"Maximale Datenübertragungsrate.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Maximale Datenübertragungsrate."
},
{
"category": "Anschluss & Bandbreite",
"hint": "Technische Anschlusswerte richtig deuten.",
"text": "Was beschreibt Router am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Verbindet lokales Netz mit dem Internet.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Verbindet lokales Netz mit dem Internet."
},
{
"category": "Anschluss & Bandbreite",
"hint": "Technische Anschlusswerte richtig deuten.",
"text": "Welche Aussage zu Modem ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Setzt Anschlusssignal für Datenkommunikation um."
],
"correct": 2,
"explanation": "Setzt Anschlusssignal für Datenkommunikation um."
},
{
"category": "Anschluss & Bandbreite",
"hint": "Technische Anschlusswerte richtig deuten.",
"text": "Woran erkennst du Provider in einer AP1-Aufgabe?",
"answers": [
"Stellt den Internetanschluss bereit.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Stellt den Internetanschluss bereit."
},
{
"category": "Anschluss & Bandbreite",
"hint": "Technische Anschlusswerte richtig deuten.",
"text": "Was ist bei Verfügbarkeit besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Beschreibt, wie zuverlässig ein Anschluss nutzbar ist.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Beschreibt, wie zuverlässig ein Anschluss nutzbar ist."
},
{
"category": "Anschluss & Bandbreite",
"hint": "Technische Anschlusswerte richtig deuten.",
"text": "Was beschreibt Fallback am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Ersatzverbindung etwa über Mobilfunk."
],
"correct": 2,
"explanation": "Ersatzverbindung etwa über Mobilfunk."
},
{
"category": "Anschluss & Bandbreite",
"hint": "Technische Anschlusswerte richtig deuten.",
"text": "Welche Aussage zu SLA ist richtig?",
"answers": [
"Vereinbarung über Servicequalität und Reaktionszeiten.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Vereinbarung über Servicequalität und Reaktionszeiten."
},
{
"category": "Praxis & Fehleranalyse",
"hint": "Typische Anschlussprobleme bewerten.",
"text": "Was beschreibt Cloud-Backup am besten?",
"answers": [
"Benötigt ausreichend Uploadrate.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Benötigt ausreichend Uploadrate."
},
{
"category": "Praxis & Fehleranalyse",
"hint": "Typische Anschlussprobleme bewerten.",
"text": "Welche Aussage zu Videokonferenz ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Benötigt Bandbreite und niedrige Latenz.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Benötigt Bandbreite und niedrige Latenz."
},
{
"category": "Praxis & Fehleranalyse",
"hint": "Typische Anschlussprobleme bewerten.",
"text": "Woran erkennst du DNS-Problem in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"IP funktioniert, Name aber nicht."
],
"correct": 2,
"explanation": "IP funktioniert, Name aber nicht."
},
{
"category": "Praxis & Fehleranalyse",
"hint": "Typische Anschlussprobleme bewerten.",
"text": "Was ist bei Router-Neustart besonders wichtig?",
"answers": [
"Kann einfache Verbindungsprobleme beheben, ersetzt aber keine Analyse.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Kann einfache Verbindungsprobleme beheben, ersetzt aber keine Analyse."
},
{
"category": "Praxis & Fehleranalyse",
"hint": "Typische Anschlussprobleme bewerten.",
"text": "Was beschreibt Leitungsstörung am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Kann Paketverlust oder Abbrüche verursachen.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Kann Paketverlust oder Abbrüche verursachen."
},
{
"category": "Praxis & Fehleranalyse",
"hint": "Typische Anschlussprobleme bewerten.",
"text": "Welche Aussage zu WLAN vs DSL ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"WLAN-Probleme sind nicht automatisch Anschlussprobleme."
],
"correct": 2,
"explanation": "WLAN-Probleme sind nicht automatisch Anschlussprobleme."
},
{
"category": "Praxis & Fehleranalyse",
"hint": "Typische Anschlussprobleme bewerten.",
"text": "Woran erkennst du Messung in einer AP1-Aufgabe?",
"answers": [
"Speedtests müssen richtig interpretiert werden.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Speedtests müssen richtig interpretiert werden."
},
{
"category": "Praxis & Fehleranalyse",
"hint": "Typische Anschlussprobleme bewerten.",
"text": "Was ist bei NAT besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Übersetzt private interne Adressen nach außen.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Übersetzt private interne Adressen nach außen."
},
{
"category": "Praxis & Fehleranalyse",
"hint": "Typische Anschlussprobleme bewerten.",
"text": "Was beschreibt Firewall am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Kann Dienste blockieren."
],
"correct": 2,
"explanation": "Kann Dienste blockieren."
},
{
"category": "Praxis & Fehleranalyse",
"hint": "Typische Anschlussprobleme bewerten.",
"text": "Welche Aussage zu Dokumentation ist richtig?",
"answers": [
"Zugangsdaten und Vertragsdaten müssen sicher dokumentiert sein.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Zugangsdaten und Vertragsdaten müssen sicher dokumentiert sein."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Storage Systeme",
"questions": [
{
"category": "DAS, NAS, SAN",
"hint": "Speicherkonzepte sicher unterscheiden.",
"text": "Was beschreibt DAS am besten?",
"answers": [
"Direkt angeschlossener Speicher am Host.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Direkt angeschlossener Speicher am Host."
},
{
"category": "DAS, NAS, SAN",
"hint": "Speicherkonzepte sicher unterscheiden.",
"text": "Welche Aussage zu NAS ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Dateibasierter Speicher über das Netzwerk.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Dateibasierter Speicher über das Netzwerk."
},
{
"category": "DAS, NAS, SAN",
"hint": "Speicherkonzepte sicher unterscheiden.",
"text": "Woran erkennst du SAN in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Blockbasierter Speicher über ein Speichernetz."
],
"correct": 2,
"explanation": "Blockbasierter Speicher über ein Speichernetz."
},
{
"category": "DAS, NAS, SAN",
"hint": "Speicherkonzepte sicher unterscheiden.",
"text": "Was ist bei iSCSI besonders wichtig?",
"answers": [
"Blockzugriff über IP-Netzwerke.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Blockzugriff über IP-Netzwerke."
},
{
"category": "DAS, NAS, SAN",
"hint": "Speicherkonzepte sicher unterscheiden.",
"text": "Was beschreibt Fibre Channel am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Technologie für performante SAN-Umgebungen.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Technologie für performante SAN-Umgebungen."
},
{
"category": "DAS, NAS, SAN",
"hint": "Speicherkonzepte sicher unterscheiden.",
"text": "Welche Aussage zu SMB ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Typisches Protokoll für Dateifreigaben."
],
"correct": 2,
"explanation": "Typisches Protokoll für Dateifreigaben."
},
{
"category": "DAS, NAS, SAN",
"hint": "Speicherkonzepte sicher unterscheiden.",
"text": "Woran erkennst du NFS in einer AP1-Aufgabe?",
"answers": [
"Dateifreigaben häufig in Unix/Linux-Umgebungen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Dateifreigaben häufig in Unix/Linux-Umgebungen."
},
{
"category": "DAS, NAS, SAN",
"hint": "Speicherkonzepte sicher unterscheiden.",
"text": "Was ist bei Blockspeicher besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Wirkt für den Host wie ein Laufwerk.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Wirkt für den Host wie ein Laufwerk."
},
{
"category": "DAS, NAS, SAN",
"hint": "Speicherkonzepte sicher unterscheiden.",
"text": "Was beschreibt Dateispeicher am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Stellt Dateien und Ordner über Freigaben bereit."
],
"correct": 2,
"explanation": "Stellt Dateien und Ordner über Freigaben bereit."
},
{
"category": "DAS, NAS, SAN",
"hint": "Speicherkonzepte sicher unterscheiden.",
"text": "Welche Aussage zu Storage-Auswahl ist richtig?",
"answers": [
"Anforderungen an Performance, Kosten und Verwaltung entscheiden.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Anforderungen an Performance, Kosten und Verwaltung entscheiden."
},
{
"category": "Betrieb & Praxis",
"hint": "Storage in AP1-Situationen bewerten.",
"text": "Was beschreibt RAID am besten?",
"answers": [
"Kann Verfügbarkeit verbessern, ersetzt aber kein Backup.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Kann Verfügbarkeit verbessern, ersetzt aber kein Backup."
},
{
"category": "Betrieb & Praxis",
"hint": "Storage in AP1-Situationen bewerten.",
"text": "Welche Aussage zu Snapshots ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Erlauben schnelle Zustände, ersetzen aber nicht immer Backups.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Erlauben schnelle Zustände, ersetzen aber nicht immer Backups."
},
{
"category": "Betrieb & Praxis",
"hint": "Storage in AP1-Situationen bewerten.",
"text": "Woran erkennst du Kapazitätsplanung in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Wachstum und Reserven müssen eingeplant werden."
],
"correct": 2,
"explanation": "Wachstum und Reserven müssen eingeplant werden."
},
{
"category": "Betrieb & Praxis",
"hint": "Storage in AP1-Situationen bewerten.",
"text": "Was ist bei Zugriffsrechte besonders wichtig?",
"answers": [
"Freigaben brauchen passende Berechtigungen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Freigaben brauchen passende Berechtigungen."
},
{
"category": "Betrieb & Praxis",
"hint": "Storage in AP1-Situationen bewerten.",
"text": "Was beschreibt Performance am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"IOPS, Latenz und Durchsatz können wichtig sein.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "IOPS, Latenz und Durchsatz können wichtig sein."
},
{
"category": "Betrieb & Praxis",
"hint": "Storage in AP1-Situationen bewerten.",
"text": "Welche Aussage zu Redundanz ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Mehrfach ausgelegte Komponenten senken Ausfallrisiko."
],
"correct": 2,
"explanation": "Mehrfach ausgelegte Komponenten senken Ausfallrisiko."
},
{
"category": "Betrieb & Praxis",
"hint": "Storage in AP1-Situationen bewerten.",
"text": "Woran erkennst du Monitoring in einer AP1-Aufgabe?",
"answers": [
"Füllstand und Fehler müssen überwacht werden.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Füllstand und Fehler müssen überwacht werden."
},
{
"category": "Betrieb & Praxis",
"hint": "Storage in AP1-Situationen bewerten.",
"text": "Was ist bei Datenschutz besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Speicher mit personenbezogenen Daten braucht Schutzmaßnahmen.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Speicher mit personenbezogenen Daten braucht Schutzmaßnahmen."
},
{
"category": "Betrieb & Praxis",
"hint": "Storage in AP1-Situationen bewerten.",
"text": "Was beschreibt Restore am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Wiederherstellung muss getestet werden."
],
"correct": 2,
"explanation": "Wiederherstellung muss getestet werden."
},
{
"category": "Betrieb & Praxis",
"hint": "Storage in AP1-Situationen bewerten.",
"text": "Welche Aussage zu Dokumentation ist richtig?",
"answers": [
"Volumes, Freigaben und Zuständigkeiten dokumentieren.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Volumes, Freigaben und Zuständigkeiten dokumentieren."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Thin Clients",
"questions": [
{
"category": "Thin-Client-Grundlagen",
"hint": "Konzept und Unterschiede verstehen.",
"text": "Was beschreibt Thin Client am besten?",
"answers": [
"Schlanker Arbeitsplatz mit zentral bereitgestellten Anwendungen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Schlanker Arbeitsplatz mit zentral bereitgestellten Anwendungen."
},
{
"category": "Thin-Client-Grundlagen",
"hint": "Konzept und Unterschiede verstehen.",
"text": "Welche Aussage zu Fat Client ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Leistungsfähiger lokaler Arbeitsplatz mit eigener Verarbeitung.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Leistungsfähiger lokaler Arbeitsplatz mit eigener Verarbeitung."
},
{
"category": "Thin-Client-Grundlagen",
"hint": "Konzept und Unterschiede verstehen.",
"text": "Woran erkennst du Zentrale Verwaltung in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Updates und Anwendungen werden zentral gepflegt."
],
"correct": 2,
"explanation": "Updates und Anwendungen werden zentral gepflegt."
},
{
"category": "Thin-Client-Grundlagen",
"hint": "Konzept und Unterschiede verstehen.",
"text": "Was ist bei Serverabhängigkeit besonders wichtig?",
"answers": [
"Thin Clients brauchen zentrale Dienste.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Thin Clients brauchen zentrale Dienste."
},
{
"category": "Thin-Client-Grundlagen",
"hint": "Konzept und Unterschiede verstehen.",
"text": "Was beschreibt Netzwerkabhängigkeit am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Ohne Netzwerk ist Arbeiten oft eingeschränkt.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Ohne Netzwerk ist Arbeiten oft eingeschränkt."
},
{
"category": "Thin-Client-Grundlagen",
"hint": "Konzept und Unterschiede verstehen.",
"text": "Welche Aussage zu Lokaler Speicher ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Bei Thin Clients meist geringer oder nicht im Fokus."
],
"correct": 2,
"explanation": "Bei Thin Clients meist geringer oder nicht im Fokus."
},
{
"category": "Thin-Client-Grundlagen",
"hint": "Konzept und Unterschiede verstehen.",
"text": "Woran erkennst du Energieverbrauch in einer AP1-Aufgabe?",
"answers": [
"Thin Clients können sparsamer sein.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Thin Clients können sparsamer sein."
},
{
"category": "Thin-Client-Grundlagen",
"hint": "Konzept und Unterschiede verstehen.",
"text": "Was ist bei Rollout besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Zentrale Images vereinfachen Bereitstellung.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Zentrale Images vereinfachen Bereitstellung."
},
{
"category": "Thin-Client-Grundlagen",
"hint": "Konzept und Unterschiede verstehen.",
"text": "Was beschreibt Wartung am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Weniger lokale Komplexität kann Wartung senken."
],
"correct": 2,
"explanation": "Weniger lokale Komplexität kann Wartung senken."
},
{
"category": "Thin-Client-Grundlagen",
"hint": "Konzept und Unterschiede verstehen.",
"text": "Welche Aussage zu Benutzerprofil ist richtig?",
"answers": [
"Profile werden häufig zentral verwaltet.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Profile werden häufig zentral verwaltet."
},
{
"category": "Praxis & Bewertung",
"hint": "Vor- und Nachteile in Szenarien abwägen.",
"text": "Was beschreibt Callcenter am besten?",
"answers": [
"Standardisierte Arbeitsplätze passen oft gut.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Standardisierte Arbeitsplätze passen oft gut."
},
{
"category": "Praxis & Bewertung",
"hint": "Vor- und Nachteile in Szenarien abwägen.",
"text": "Welche Aussage zu CAD-Arbeitsplatz ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Hohe lokale Leistung kann gegen Thin Clients sprechen.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Hohe lokale Leistung kann gegen Thin Clients sprechen."
},
{
"category": "Praxis & Bewertung",
"hint": "Vor- und Nachteile in Szenarien abwägen.",
"text": "Woran erkennst du Ausfallsicherheit in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Server und Netzwerk müssen zuverlässig sein."
],
"correct": 2,
"explanation": "Server und Netzwerk müssen zuverlässig sein."
},
{
"category": "Praxis & Bewertung",
"hint": "Vor- und Nachteile in Szenarien abwägen.",
"text": "Was ist bei Datenschutz besonders wichtig?",
"answers": [
"Zentrale Datenhaltung kann Schutz und Kontrolle verbessern.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Zentrale Datenhaltung kann Schutz und Kontrolle verbessern."
},
{
"category": "Praxis & Bewertung",
"hint": "Vor- und Nachteile in Szenarien abwägen.",
"text": "Was beschreibt Kosten am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Anschaffung, Betrieb und Serverinfrastruktur zusammen betrachten.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Anschaffung, Betrieb und Serverinfrastruktur zusammen betrachten."
},
{
"category": "Praxis & Bewertung",
"hint": "Vor- und Nachteile in Szenarien abwägen.",
"text": "Welche Aussage zu Latenz ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Schlechte Verbindung beeinträchtigt Nutzung."
],
"correct": 2,
"explanation": "Schlechte Verbindung beeinträchtigt Nutzung."
},
{
"category": "Praxis & Bewertung",
"hint": "Vor- und Nachteile in Szenarien abwägen.",
"text": "Woran erkennst du Peripherie in einer AP1-Aufgabe?",
"answers": [
"Scanner, Drucker oder Spezialgeräte müssen unterstützt werden.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Scanner, Drucker oder Spezialgeräte müssen unterstützt werden."
},
{
"category": "Praxis & Bewertung",
"hint": "Vor- und Nachteile in Szenarien abwägen.",
"text": "Was ist bei Homeoffice besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Verbindung und Sicherheit sind entscheidend.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Verbindung und Sicherheit sind entscheidend."
},
{
"category": "Praxis & Bewertung",
"hint": "Vor- und Nachteile in Szenarien abwägen.",
"text": "Was beschreibt Skalierung am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Neue Clients können schnell bereitgestellt werden."
],
"correct": 2,
"explanation": "Neue Clients können schnell bereitgestellt werden."
},
{
"category": "Praxis & Bewertung",
"hint": "Vor- und Nachteile in Szenarien abwägen.",
"text": "Welche Aussage zu AP1-Argumentation ist richtig?",
"answers": [
"Anforderungen bestimmen, ob Thin Client sinnvoll ist.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Anforderungen bestimmen, ob Thin Client sinnvoll ist."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Netzwerktopologien",
"questions": [
{
"category": "Topologie-Grundlagen",
"hint": "Strukturen und typische Eigenschaften zuordnen.",
"text": "Was beschreibt Sterntopologie am besten?",
"answers": [
"Alle Endgeräte hängen zentral an Switch oder Verteiler.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Alle Endgeräte hängen zentral an Switch oder Verteiler."
},
{
"category": "Topologie-Grundlagen",
"hint": "Strukturen und typische Eigenschaften zuordnen.",
"text": "Welche Aussage zu Bustopologie ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Alle Teilnehmer nutzen ein gemeinsames Übertragungsmedium.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Alle Teilnehmer nutzen ein gemeinsames Übertragungsmedium."
},
{
"category": "Topologie-Grundlagen",
"hint": "Strukturen und typische Eigenschaften zuordnen.",
"text": "Woran erkennst du Ringtopologie in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Teilnehmer sind ringförmig verbunden."
],
"correct": 2,
"explanation": "Teilnehmer sind ringförmig verbunden."
},
{
"category": "Topologie-Grundlagen",
"hint": "Strukturen und typische Eigenschaften zuordnen.",
"text": "Was ist bei Mesh besonders wichtig?",
"answers": [
"Viele Knoten sind mehrfach miteinander verbunden.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Viele Knoten sind mehrfach miteinander verbunden."
},
{
"category": "Topologie-Grundlagen",
"hint": "Strukturen und typische Eigenschaften zuordnen.",
"text": "Was beschreibt Baumtopologie am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Hierarchische Struktur aus mehreren Ebenen.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Hierarchische Struktur aus mehreren Ebenen."
},
{
"category": "Topologie-Grundlagen",
"hint": "Strukturen und typische Eigenschaften zuordnen.",
"text": "Welche Aussage zu Zentraler Knoten ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Bei Stern ist der Switch ein kritischer Punkt."
],
"correct": 2,
"explanation": "Bei Stern ist der Switch ein kritischer Punkt."
},
{
"category": "Topologie-Grundlagen",
"hint": "Strukturen und typische Eigenschaften zuordnen.",
"text": "Woran erkennst du Redundanz in einer AP1-Aufgabe?",
"answers": [
"Mehrfachverbindungen erhöhen Ausfallsicherheit.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Mehrfachverbindungen erhöhen Ausfallsicherheit."
},
{
"category": "Topologie-Grundlagen",
"hint": "Strukturen und typische Eigenschaften zuordnen.",
"text": "Was ist bei Skalierbarkeit besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Stern- und Baumstrukturen sind oft gut erweiterbar.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Stern- und Baumstrukturen sind oft gut erweiterbar."
},
{
"category": "Topologie-Grundlagen",
"hint": "Strukturen und typische Eigenschaften zuordnen.",
"text": "Was beschreibt Verkabelungsaufwand am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Mesh kann besonders aufwendig sein."
],
"correct": 2,
"explanation": "Mesh kann besonders aufwendig sein."
},
{
"category": "Topologie-Grundlagen",
"hint": "Strukturen und typische Eigenschaften zuordnen.",
"text": "Welche Aussage zu AP1-Zuordnung ist richtig?",
"answers": [
"Prüfungen fragen oft nach Vor- und Nachteilen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Prüfungen fragen oft nach Vor- und Nachteilen."
},
{
"category": "Auswahl & Praxis",
"hint": "Topologie passend zu Anforderungen wählen.",
"text": "Was beschreibt Büro-LAN am besten?",
"answers": [
"Sterntopologie ist in modernen LANs typisch.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Sterntopologie ist in modernen LANs typisch."
},
{
"category": "Auswahl & Praxis",
"hint": "Topologie passend zu Anforderungen wählen.",
"text": "Welche Aussage zu Hochverfügbarkeit ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Redundante Verbindungen senken Ausfallrisiko.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Redundante Verbindungen senken Ausfallrisiko."
},
{
"category": "Auswahl & Praxis",
"hint": "Topologie passend zu Anforderungen wählen.",
"text": "Woran erkennst du Kosten in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Mehr Redundanz bedeutet oft höhere Kosten."
],
"correct": 2,
"explanation": "Mehr Redundanz bedeutet oft höhere Kosten."
},
{
"category": "Auswahl & Praxis",
"hint": "Topologie passend zu Anforderungen wählen.",
"text": "Was ist bei Fehlersuche besonders wichtig?",
"answers": [
"Stern erleichtert oft die Eingrenzung einzelner Leitungen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Stern erleichtert oft die Eingrenzung einzelner Leitungen."
},
{
"category": "Auswahl & Praxis",
"hint": "Topologie passend zu Anforderungen wählen.",
"text": "Was beschreibt Single Point of Failure am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Ein zentraler Switch kann ein Ausfallpunkt sein.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Ein zentraler Switch kann ein Ausfallpunkt sein."
},
{
"category": "Auswahl & Praxis",
"hint": "Topologie passend zu Anforderungen wählen.",
"text": "Welche Aussage zu Backbone ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Baumstrukturen nutzen oft zentrale Verteilerebenen."
],
"correct": 2,
"explanation": "Baumstrukturen nutzen oft zentrale Verteilerebenen."
},
{
"category": "Auswahl & Praxis",
"hint": "Topologie passend zu Anforderungen wählen.",
"text": "Woran erkennst du WLAN-Mesh in einer AP1-Aufgabe?",
"answers": [
"Mesh kann Funkabdeckung verbessern.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Mesh kann Funkabdeckung verbessern."
},
{
"category": "Auswahl & Praxis",
"hint": "Topologie passend zu Anforderungen wählen.",
"text": "Was ist bei Dokumentation besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Netzpläne machen Topologien nachvollziehbar.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Netzpläne machen Topologien nachvollziehbar."
},
{
"category": "Auswahl & Praxis",
"hint": "Topologie passend zu Anforderungen wählen.",
"text": "Was beschreibt Erweiterung am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Neue Arbeitsplätze brauchen freie Ports und Kabelwege."
],
"correct": 2,
"explanation": "Neue Arbeitsplätze brauchen freie Ports und Kabelwege."
},
{
"category": "Auswahl & Praxis",
"hint": "Topologie passend zu Anforderungen wählen.",
"text": "Welche Aussage zu Prüfungsargumentation ist richtig?",
"answers": [
"Immer Kosten, Ausfallsicherheit und Wartbarkeit abwägen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Immer Kosten, Ausfallsicherheit und Wartbarkeit abwägen."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "VDI & DaaS",
"questions": [
{
"category": "VDI und DaaS Grundlagen",
"hint": "Virtuelle Desktopmodelle unterscheiden.",
"text": "Was beschreibt VDI am besten?",
"answers": [
"Virtuelle Desktops auf meist eigener Infrastruktur.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Virtuelle Desktops auf meist eigener Infrastruktur."
},
{
"category": "VDI und DaaS Grundlagen",
"hint": "Virtuelle Desktopmodelle unterscheiden.",
"text": "Welche Aussage zu DaaS ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Desktop as a Service aus einem externen Dienst.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Desktop as a Service aus einem externen Dienst."
},
{
"category": "VDI und DaaS Grundlagen",
"hint": "Virtuelle Desktopmodelle unterscheiden.",
"text": "Woran erkennst du Virtueller Desktop in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Arbeitsumgebung läuft zentral oder in der Cloud."
],
"correct": 2,
"explanation": "Arbeitsumgebung läuft zentral oder in der Cloud."
},
{
"category": "VDI und DaaS Grundlagen",
"hint": "Virtuelle Desktopmodelle unterscheiden.",
"text": "Was ist bei Clientgerät besonders wichtig?",
"answers": [
"Dient hauptsächlich als Zugriffspunkt.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Dient hauptsächlich als Zugriffspunkt."
},
{
"category": "VDI und DaaS Grundlagen",
"hint": "Virtuelle Desktopmodelle unterscheiden.",
"text": "Was beschreibt Zentrale Verwaltung am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Desktops können zentral gepflegt werden.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Desktops können zentral gepflegt werden."
},
{
"category": "VDI und DaaS Grundlagen",
"hint": "Virtuelle Desktopmodelle unterscheiden.",
"text": "Welche Aussage zu Image ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Vorlage für Desktopbereitstellung."
],
"correct": 2,
"explanation": "Vorlage für Desktopbereitstellung."
},
{
"category": "VDI und DaaS Grundlagen",
"hint": "Virtuelle Desktopmodelle unterscheiden.",
"text": "Woran erkennst du Persistenter Desktop in einer AP1-Aufgabe?",
"answers": [
"Persönliche Änderungen bleiben erhalten.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Persönliche Änderungen bleiben erhalten."
},
{
"category": "VDI und DaaS Grundlagen",
"hint": "Virtuelle Desktopmodelle unterscheiden.",
"text": "Was ist bei Nicht-persistenter Desktop besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Desktop wird nach Nutzung zurückgesetzt.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Desktop wird nach Nutzung zurückgesetzt."
},
{
"category": "VDI und DaaS Grundlagen",
"hint": "Virtuelle Desktopmodelle unterscheiden.",
"text": "Was beschreibt Remote-Protokoll am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Überträgt Bild, Eingabe und Sitzung."
],
"correct": 2,
"explanation": "Überträgt Bild, Eingabe und Sitzung."
},
{
"category": "VDI und DaaS Grundlagen",
"hint": "Virtuelle Desktopmodelle unterscheiden.",
"text": "Welche Aussage zu AP1-Vergleich ist richtig?",
"answers": [
"Eigener Betrieb und Dienstleistung abwägen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Eigener Betrieb und Dienstleistung abwägen."
},
{
"category": "Betrieb & Bewertung",
"hint": "Einsatz anhand von Anforderungen beurteilen.",
"text": "Was beschreibt Datenschutz am besten?",
"answers": [
"Datenstandort und Auftragsverarbeitung prüfen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Datenstandort und Auftragsverarbeitung prüfen."
},
{
"category": "Betrieb & Bewertung",
"hint": "Einsatz anhand von Anforderungen beurteilen.",
"text": "Welche Aussage zu Latenz ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Verzögerung beeinflusst Bedienbarkeit.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Verzögerung beeinflusst Bedienbarkeit."
},
{
"category": "Betrieb & Bewertung",
"hint": "Einsatz anhand von Anforderungen beurteilen.",
"text": "Woran erkennst du Bandbreite in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Viele Desktops brauchen ausreichende Verbindung."
],
"correct": 2,
"explanation": "Viele Desktops brauchen ausreichende Verbindung."
},
{
"category": "Betrieb & Bewertung",
"hint": "Einsatz anhand von Anforderungen beurteilen.",
"text": "Was ist bei Kostenmodell besonders wichtig?",
"answers": [
"DaaS kann laufende Gebühren statt Investition bedeuten.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "DaaS kann laufende Gebühren statt Investition bedeuten."
},
{
"category": "Betrieb & Bewertung",
"hint": "Einsatz anhand von Anforderungen beurteilen.",
"text": "Was beschreibt Skalierung am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Cloud-Dienste können flexibel wachsen.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Cloud-Dienste können flexibel wachsen."
},
{
"category": "Betrieb & Bewertung",
"hint": "Einsatz anhand von Anforderungen beurteilen.",
"text": "Welche Aussage zu Ausfall Internet ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"DaaS ist stark von Verbindung abhängig."
],
"correct": 2,
"explanation": "DaaS ist stark von Verbindung abhängig."
},
{
"category": "Betrieb & Bewertung",
"hint": "Einsatz anhand von Anforderungen beurteilen.",
"text": "Woran erkennst du Administration in einer AP1-Aufgabe?",
"answers": [
"Zentrale Pflege kann Aufwand senken.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Zentrale Pflege kann Aufwand senken."
},
{
"category": "Betrieb & Bewertung",
"hint": "Einsatz anhand von Anforderungen beurteilen.",
"text": "Was ist bei Sicherheit besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Zugriff, MFA und Richtlinien sind wichtig.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Zugriff, MFA und Richtlinien sind wichtig."
},
{
"category": "Betrieb & Bewertung",
"hint": "Einsatz anhand von Anforderungen beurteilen.",
"text": "Was beschreibt Performance am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Grafik- oder Spezialanwendungen brauchen Planung."
],
"correct": 2,
"explanation": "Grafik- oder Spezialanwendungen brauchen Planung."
},
{
"category": "Betrieb & Bewertung",
"hint": "Einsatz anhand von Anforderungen beurteilen.",
"text": "Welche Aussage zu Abwägung ist richtig?",
"answers": [
"Technik, Kosten, Recht und Nutzerbedarf zusammen bewerten.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Technik, Kosten, Recht und Nutzerbedarf zusammen bewerten."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "VLAN",
"questions": [
{
"category": "VLAN-Grundlagen",
"hint": "Logische Netztrennung verstehen.",
"text": "Was beschreibt VLAN am besten?",
"answers": [
"Logische Trennung innerhalb eines physischen Netzwerks.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Logische Trennung innerhalb eines physischen Netzwerks."
},
{
"category": "VLAN-Grundlagen",
"hint": "Logische Netztrennung verstehen.",
"text": "Welche Aussage zu Broadcast-Domäne ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"VLANs trennen Broadcastbereiche.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "VLANs trennen Broadcastbereiche."
},
{
"category": "VLAN-Grundlagen",
"hint": "Logische Netztrennung verstehen.",
"text": "Woran erkennst du VLAN-ID in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Kennzeichnet ein VLAN."
],
"correct": 2,
"explanation": "Kennzeichnet ein VLAN."
},
{
"category": "VLAN-Grundlagen",
"hint": "Logische Netztrennung verstehen.",
"text": "Was ist bei Access-Port besonders wichtig?",
"answers": [
"Gehört typischerweise zu einem VLAN.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Gehört typischerweise zu einem VLAN."
},
{
"category": "VLAN-Grundlagen",
"hint": "Logische Netztrennung verstehen.",
"text": "Was beschreibt Trunk-Port am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Transportiert mehrere VLANs.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Transportiert mehrere VLANs."
},
{
"category": "VLAN-Grundlagen",
"hint": "Logische Netztrennung verstehen.",
"text": "Welche Aussage zu Tagging ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Markiert Frames mit VLAN-Information."
],
"correct": 2,
"explanation": "Markiert Frames mit VLAN-Information."
},
{
"category": "VLAN-Grundlagen",
"hint": "Logische Netztrennung verstehen.",
"text": "Woran erkennst du Untagged in einer AP1-Aufgabe?",
"answers": [
"Frames ohne VLAN-Tag am Endgerät.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Frames ohne VLAN-Tag am Endgerät."
},
{
"category": "VLAN-Grundlagen",
"hint": "Logische Netztrennung verstehen.",
"text": "Was ist bei Switch besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Setzt VLAN-Zuordnung auf Ports um.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Setzt VLAN-Zuordnung auf Ports um."
},
{
"category": "VLAN-Grundlagen",
"hint": "Logische Netztrennung verstehen.",
"text": "Was beschreibt Netztrennung am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Erhöht Struktur und Sicherheit."
],
"correct": 2,
"explanation": "Erhöht Struktur und Sicherheit."
},
{
"category": "VLAN-Grundlagen",
"hint": "Logische Netztrennung verstehen.",
"text": "Welche Aussage zu Gastnetz ist richtig?",
"answers": [
"Typischer VLAN-Einsatzfall.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Typischer VLAN-Einsatzfall."
},
{
"category": "VLAN-Praxis",
"hint": "Konfiguration und Fehler bewerten.",
"text": "Was beschreibt Inter-VLAN-Routing am besten?",
"answers": [
"Kommunikation zwischen VLANs braucht Layer-3-Funktion.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Kommunikation zwischen VLANs braucht Layer-3-Funktion."
},
{
"category": "VLAN-Praxis",
"hint": "Konfiguration und Fehler bewerten.",
"text": "Welche Aussage zu falsches VLAN ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Endgerät landet im falschen Netz.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Endgerät landet im falschen Netz."
},
{
"category": "VLAN-Praxis",
"hint": "Konfiguration und Fehler bewerten.",
"text": "Woran erkennst du Trunk fehlt in einer AP1-Aufgabe?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"VLANs erreichen andere Switches nicht."
],
"correct": 2,
"explanation": "VLANs erreichen andere Switches nicht."
},
{
"category": "VLAN-Praxis",
"hint": "Konfiguration und Fehler bewerten.",
"text": "Was ist bei Native VLAN besonders wichtig?",
"answers": [
"Muss bewusst und sicher konfiguriert werden.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Muss bewusst und sicher konfiguriert werden."
},
{
"category": "VLAN-Praxis",
"hint": "Konfiguration und Fehler bewerten.",
"text": "Was beschreibt Dokumentation am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"VLAN-IDs und Portzuordnung dokumentieren.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "VLAN-IDs und Portzuordnung dokumentieren."
},
{
"category": "VLAN-Praxis",
"hint": "Konfiguration und Fehler bewerten.",
"text": "Welche Aussage zu Sicherheit ist richtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"VLANs ersetzen keine Firewall-Regeln."
],
"correct": 2,
"explanation": "VLANs ersetzen keine Firewall-Regeln."
},
{
"category": "VLAN-Praxis",
"hint": "Konfiguration und Fehler bewerten.",
"text": "Woran erkennst du IP-Subnetz in einer AP1-Aufgabe?",
"answers": [
"Jedes VLAN hat oft eigenes Subnetz.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Jedes VLAN hat oft eigenes Subnetz."
},
{
"category": "VLAN-Praxis",
"hint": "Konfiguration und Fehler bewerten.",
"text": "Was ist bei DHCP besonders wichtig?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Muss pro VLAN erreichbar sein.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 1,
"explanation": "Muss pro VLAN erreichbar sein."
},
{
"category": "VLAN-Praxis",
"hint": "Konfiguration und Fehler bewerten.",
"text": "Was beschreibt Fehleranalyse am besten?",
"answers": [
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung.",
"Portmodus, VLAN-ID und Routing prüfen."
],
"correct": 2,
"explanation": "Portmodus, VLAN-ID und Routing prüfen."
},
{
"category": "VLAN-Praxis",
"hint": "Konfiguration und Fehler bewerten.",
"text": "Welche Aussage zu AP1-Szenario ist richtig?",
"answers": [
"Abteilungstrennung und Gästezugang begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Abteilungstrennung und Gästezugang begründen."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "USV - Unterbrechungsfreie Stromversorgung",
"questions": [
{
"category": "USV-Grundlagen",
"hint": "Verstehe Zweck, Grenzen und typische Einsatzbereiche einer USV.",
"text": "Wofür steht USV?",
"answers": ["Unterbrechungsfreie Stromversorgung", "Universelle Serververwaltung", "Unternehmensweite Softwareverteilung"],
"correct": 0,
"explanation": "Eine USV versorgt Geräte bei Stromproblemen kurzzeitig weiter."
},
{
"category": "USV-Grundlagen",
"hint": "Verstehe Zweck, Grenzen und typische Einsatzbereiche einer USV.",
"text": "Was ist ein Hauptzweck einer USV?",
"answers": ["Zeit für geordnetes Herunterfahren schaffen", "Speicherplatz erhöhen", "IP-Adressen vergeben"],
"correct": 0,
"explanation": "Eine USV überbrückt Ausfälle und ermöglicht kontrollierte Reaktion."
},
{
"category": "USV-Grundlagen",
"hint": "Verstehe Zweck, Grenzen und typische Einsatzbereiche einer USV.",
"text": "Welche Störung kann eine USV abfangen?",
"answers": ["Kurzzeitigen Stromausfall", "Falsche Rechtschreibung", "Fehlerhafte SQL-Abfrage automatisch"],
"correct": 0,
"explanation": "USV-Systeme schützen vor Stromausfällen und teils Spannungsschwankungen."
},
{
"category": "USV-Grundlagen",
"hint": "Verstehe Zweck, Grenzen und typische Einsatzbereiche einer USV.",
"text": "Was ersetzt eine normale USV nicht dauerhaft?",
"answers": ["Langfristige Stromversorgung durch Generator oder Netz", "Ein Patchkabel", "Eine Tastatur"],
"correct": 0,
"explanation": "Eine USV ist meist für Minuten, nicht für endlosen Betrieb ausgelegt."
},
{
"category": "USV-Grundlagen",
"hint": "Verstehe Zweck, Grenzen und typische Einsatzbereiche einer USV.",
"text": "Welche Systeme werden häufig an eine USV angeschlossen?",
"answers": ["Server, Storage und Netzwerkkomponenten", "Kaffeemaschinen im Pausenraum", "Private Spielekonsolen"],
"correct": 0,
"explanation": "Kritische IT-Infrastruktur soll kontrolliert weiterlaufen oder herunterfahren."
},
{
"category": "USV-Grundlagen",
"hint": "Verstehe Zweck, Grenzen und typische Einsatzbereiche einer USV.",
"text": "Was ist Autonomiezeit?",
"answers": ["Zeit, die eine USV eine Last versorgen kann", "Zeit bis zur nächsten Mittagspause", "Dauer eines Backups immer in Tagen"],
"correct": 0,
"explanation": "Autonomiezeit hängt von Batterie, Last und Zustand der USV ab."
},
{
"category": "USV-Grundlagen",
"hint": "Verstehe Zweck, Grenzen und typische Einsatzbereiche einer USV.",
"text": "Warum ist eine USV für Datenbanken sinnvoll?",
"answers": ["Sie reduziert Risiko durch abrupten Stromverlust", "Sie optimiert SQL automatisch", "Sie ersetzt Transaktionen"],
"correct": 0,
"explanation": "Abrupte Ausfälle können Datenverlust oder Inkonsistenzen begünstigen."
},
{
"category": "USV-Grundlagen",
"hint": "Verstehe Zweck, Grenzen und typische Einsatzbereiche einer USV.",
"text": "Welche Aussage ist korrekt?",
"answers": ["Eine USV schützt nicht vor jedem IT-Risiko", "Eine USV verhindert alle Hackerangriffe", "Eine USV ersetzt Backups"],
"correct": 0,
"explanation": "USV ist Teil eines Schutzkonzepts, aber kein Ersatz für Backups oder Security."
},
{
"category": "USV-Grundlagen",
"hint": "Verstehe Zweck, Grenzen und typische Einsatzbereiche einer USV.",
"text": "Was sollte bei Stromausfall automatisch passieren können?",
"answers": ["Server geordnet herunterfahren", "Alle Passwörter löschen", "Alle Switches formatieren"],
"correct": 0,
"explanation": "Automatischer Shutdown schützt Systeme und Daten."
},
{
"category": "USV-Grundlagen",
"hint": "Verstehe Zweck, Grenzen und typische Einsatzbereiche einer USV.",
"text": "Was ist ein typischer AP1-Prüfungspunkt zur USV?",
"answers": ["Zweck, Dimensionierung und Shutdown-Konzept erklären", "HTML-Farben auswendig wissen", "Nur die Marke nennen"],
"correct": 0,
"explanation": "AP1 fragt häufig nach praktischer Einordnung und Begründung."
},
{
"category": "Leistung & Dimensionierung",
"hint": "Dimensioniere USV nach Last, Laufzeit, Reserve und Anschlussbedarf.",
"text": "Was muss für die Dimensionierung bekannt sein?",
"answers": ["Leistungsaufnahme der angeschlossenen Geräte", "Lieblingsfarbe des Admins", "Anzahl der Bürofenster"],
"correct": 0,
"explanation": "Die USV muss zur Gesamtlast passen."
},
{
"category": "Leistung & Dimensionierung",
"hint": "Dimensioniere USV nach Last, Laufzeit, Reserve und Anschlussbedarf.",
"text": "Welche Einheit ist bei USV-Angaben häufig?",
"answers": ["VA oder Watt", "Kilometer pro Stunde", "Grad Celsius als Hauptleistung"],
"correct": 0,
"explanation": "USV-Leistung wird häufig in VA und/oder Watt angegeben."
},
{
"category": "Leistung & Dimensionierung",
"hint": "Dimensioniere USV nach Last, Laufzeit, Reserve und Anschlussbedarf.",
"text": "Warum sollte Reserve eingeplant werden?",
"answers": ["Für Lastspitzen, Alterung und spätere Erweiterung", "Damit die USV absichtlich überlastet wird", "Damit Batterien nie geprüft werden"],
"correct": 0,
"explanation": "Reserve macht die Lösung robuster."
},
{
"category": "Leistung & Dimensionierung",
"hint": "Dimensioniere USV nach Last, Laufzeit, Reserve und Anschlussbedarf.",
"text": "Was passiert bei Überlastung einer USV?",
"answers": ["Sie kann abschalten oder die Last nicht zuverlässig versorgen", "Sie erzeugt automatisch mehr Batterien", "Sie wird zu einem Router"],
"correct": 0,
"explanation": "Überlastung gefährdet Schutzwirkung und Betrieb."
},
{
"category": "Leistung & Dimensionierung",
"hint": "Dimensioniere USV nach Last, Laufzeit, Reserve und Anschlussbedarf.",
"text": "Welche Angabe beeinflusst die Laufzeit stark?",
"answers": ["Angeschlossene Last", "Name des Serverraums", "Farbe der Steckdosen"],
"correct": 0,
"explanation": "Je höher die Last, desto kürzer typischerweise die Autonomiezeit."
},
{
"category": "Leistung & Dimensionierung",
"hint": "Dimensioniere USV nach Last, Laufzeit, Reserve und Anschlussbedarf.",
"text": "Was sollte vor Kauf einer USV geprüft werden?",
"answers": ["Anzahl und Art der Anschlüsse", "Nur Verpackungsfarbe", "Ob sie im Flur gut aussieht"],
"correct": 0,
"explanation": "Anschlussart, Leistung und Laufzeit müssen zur Infrastruktur passen."
},
{
"category": "Leistung & Dimensionierung",
"hint": "Dimensioniere USV nach Last, Laufzeit, Reserve und Anschlussbedarf.",
"text": "Warum ist Batteriealterung relevant?",
"answers": ["Kapazität sinkt mit der Zeit", "Batterien werden automatisch schneller", "Alterung verbessert die Laufzeit"],
"correct": 0,
"explanation": "Alternde Batterien verkürzen die tatsächliche Überbrückungszeit."
},
{
"category": "Leistung & Dimensionierung",
"hint": "Dimensioniere USV nach Last, Laufzeit, Reserve und Anschlussbedarf.",
"text": "Was ist bei mehreren Servern wichtig?",
"answers": ["Gesamtlast und Priorisierung beim Shutdown", "Alle Server an eine beliebige Steckdose hängen", "Keine Dokumentation"],
"correct": 0,
"explanation": "Nicht jede Last ist gleich kritisch; Shutdown-Reihenfolge kann wichtig sein."
},
{
"category": "Leistung & Dimensionierung",
"hint": "Dimensioniere USV nach Last, Laufzeit, Reserve und Anschlussbedarf.",
"text": "Welche Planung ist sinnvoll?",
"answers": ["Laufzeit passend zu Shutdown-Zeit plus Reserve wählen", "Laufzeit ignorieren", "Nur billigstes Gerät wählen"],
"correct": 0,
"explanation": "Die USV muss lang genug überbrücken, damit Systeme sauber reagieren."
},
{
"category": "Leistung & Dimensionierung",
"hint": "Dimensioniere USV nach Last, Laufzeit, Reserve und Anschlussbedarf.",
"text": "Was gehört in eine USV-Dokumentation?",
"answers": ["Lasten, Laufzeit, angeschlossene Systeme und Shutdown-Verhalten", "Nur ein Foto", "Private Notizen ohne Bezug"],
"correct": 0,
"explanation": "Diese Angaben helfen Betrieb, Wartung und Störungsreaktion."
},
{
"category": "Betrieb, Wartung & Praxis",
"hint": "Plane Tests, Monitoring, Austausch und Reaktion auf Stromereignisse.",
"text": "Warum sollte eine USV überwacht werden?",
"answers": ["Batteriestatus und Störungen müssen erkannt werden", "Damit niemand sie findet", "Damit Backups gelöscht werden"],
"correct": 0,
"explanation": "Monitoring zeigt Probleme, bevor der Ernstfall kommt."
},
{
"category": "Betrieb, Wartung & Praxis",
"hint": "Plane Tests, Monitoring, Austausch und Reaktion auf Stromereignisse.",
"text": "Warum sind USV-Tests wichtig?",
"answers": ["Sie prüfen, ob Überbrückung und Shutdown funktionieren", "Sie ersetzen jede Wartung", "Sie machen Batterien unendlich haltbar"],
"correct": 0,
"explanation": "Tests zeigen, ob das Konzept praktisch funktioniert."
},
{
"category": "Betrieb, Wartung & Praxis",
"hint": "Plane Tests, Monitoring, Austausch und Reaktion auf Stromereignisse.",
"text": "Was ist bei Batterien zu beachten?",
"answers": ["Sie müssen nach Herstellerangaben geprüft und ersetzt werden", "Sie halten immer ewig", "Sie brauchen keine Beachtung"],
"correct": 0,
"explanation": "Batterien sind Verschleißteile."
},
{
"category": "Betrieb, Wartung & Praxis",
"hint": "Plane Tests, Monitoring, Austausch und Reaktion auf Stromereignisse.",
"text": "Welche Reaktion ist bei USV-Alarm sinnvoll?",
"answers": ["Ursache prüfen und gegebenenfalls Shutdown einleiten", "Alarm ignorieren", "Alle Logs löschen"],
"correct": 0,
"explanation": "Alarme zeigen Handlungsbedarf."
},
{
"category": "Betrieb, Wartung & Praxis",
"hint": "Plane Tests, Monitoring, Austausch und Reaktion auf Stromereignisse.",
"text": "Warum ist Netzwerkkomponente an USV oft sinnvoll?",
"answers": ["Damit Server noch erreichbar und kontrolliert steuerbar bleiben", "Damit Internet schneller wird", "Damit VLANs verschwinden"],
"correct": 0,
"explanation": "Switches und Router können für Shutdown und Verfügbarkeit wichtig sein."
},
{
"category": "Betrieb, Wartung & Praxis",
"hint": "Plane Tests, Monitoring, Austausch und Reaktion auf Stromereignisse.",
"text": "Was ist ein geordneter Shutdown?",
"answers": ["Dienste und Systeme kontrolliert beenden", "Strom sofort hart trennen", "Festplatten absichtlich beschädigen"],
"correct": 0,
"explanation": "Kontrolliertes Herunterfahren reduziert Datenverlust und Schäden."
},
{
"category": "Betrieb, Wartung & Praxis",
"hint": "Plane Tests, Monitoring, Austausch und Reaktion auf Stromereignisse.",
"text": "Was sollte nach einem Stromereignis geprüft werden?",
"answers": ["Logs, Batteriestatus und Systemzustand", "Nur die Wandfarbe", "Nichts"],
"correct": 0,
"explanation": "Nachkontrolle erkennt Folgeschäden oder Wartungsbedarf."
},
{
"category": "Betrieb, Wartung & Praxis",
"hint": "Plane Tests, Monitoring, Austausch und Reaktion auf Stromereignisse.",
"text": "Welche Aussage zur USV und Backup ist richtig?",
"answers": ["USV ersetzt Backups nicht", "USV macht Backups unnötig", "Backups verhindern Stromausfälle"],
"correct": 0,
"explanation": "USV und Backup schützen gegen unterschiedliche Risiken."
},
{
"category": "Betrieb, Wartung & Praxis",
"hint": "Plane Tests, Monitoring, Austausch und Reaktion auf Stromereignisse.",
"text": "Welche USV-Information ist für den Betrieb wichtig?",
"answers": ["Welche Systeme angeschlossen sind", "Welche Musik im Büro läuft", "Welche Mausfarbe genutzt wird"],
"correct": 0,
"explanation": "Betrieb muss wissen, welche Lasten geschützt sind."
},
{
"category": "Betrieb, Wartung & Praxis",
"hint": "Plane Tests, Monitoring, Austausch und Reaktion auf Stromereignisse.",
"text": "Was ist ein typischer Fehler?",
"answers": ["USV installieren, aber Shutdown-Software nie konfigurieren", "Autonomiezeit dokumentieren", "Batterietest einplanen"],
"correct": 0,
"explanation": "Ohne Shutdown-Konfiguration kann die USV ihre Schutzwirkung nur teilweise erfüllen."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Amortisation",
"questions": [
{
"category": "Formel & Rechnung",
"hint": "Amortisation: Formel & Rechnung sicher anwenden.",
"text": "Was beschreibt Amortisation am besten?",
"answers": [
"Amortisation hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Amortisation ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Formel & Rechnung",
"hint": "Amortisation: Formel & Rechnung sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Formel & Rechnung",
"hint": "Amortisation: Formel & Rechnung sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Formel & Rechnung",
"hint": "Amortisation: Formel & Rechnung sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Formel & Rechnung",
"hint": "Amortisation: Formel & Rechnung sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Formel & Rechnung",
"hint": "Amortisation: Formel & Rechnung sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Formel & Rechnung",
"hint": "Amortisation: Formel & Rechnung sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Formel & Rechnung",
"hint": "Amortisation: Formel & Rechnung sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Formel & Rechnung",
"hint": "Amortisation: Formel & Rechnung sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Formel & Rechnung",
"hint": "Amortisation: Formel & Rechnung sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Bewertung",
"hint": "Amortisation: Bewertung sicher anwenden.",
"text": "Was beschreibt Amortisation am besten?",
"answers": [
"Amortisation hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Amortisation ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Bewertung",
"hint": "Amortisation: Bewertung sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Bewertung",
"hint": "Amortisation: Bewertung sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Bewertung",
"hint": "Amortisation: Bewertung sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Bewertung",
"hint": "Amortisation: Bewertung sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Bewertung",
"hint": "Amortisation: Bewertung sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Bewertung",
"hint": "Amortisation: Bewertung sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Bewertung",
"hint": "Amortisation: Bewertung sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Bewertung",
"hint": "Amortisation: Bewertung sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Bewertung",
"hint": "Amortisation: Bewertung sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Angebotsvergleich",
"questions": [
{
"category": "Preisvergleich",
"hint": "Angebotsvergleich: Preisvergleich sicher anwenden.",
"text": "Was beschreibt Angebotsvergleich am besten?",
"answers": [
"Angebotsvergleich hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Angebotsvergleich ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Preisvergleich",
"hint": "Angebotsvergleich: Preisvergleich sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Preisvergleich",
"hint": "Angebotsvergleich: Preisvergleich sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Preisvergleich",
"hint": "Angebotsvergleich: Preisvergleich sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Preisvergleich",
"hint": "Angebotsvergleich: Preisvergleich sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Preisvergleich",
"hint": "Angebotsvergleich: Preisvergleich sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Preisvergleich",
"hint": "Angebotsvergleich: Preisvergleich sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Preisvergleich",
"hint": "Angebotsvergleich: Preisvergleich sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Preisvergleich",
"hint": "Angebotsvergleich: Preisvergleich sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Preisvergleich",
"hint": "Angebotsvergleich: Preisvergleich sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Entscheidung & Kriterien",
"hint": "Angebotsvergleich: Entscheidung & Kriterien sicher anwenden.",
"text": "Was beschreibt Angebotsvergleich am besten?",
"answers": [
"Angebotsvergleich hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Angebotsvergleich ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Entscheidung & Kriterien",
"hint": "Angebotsvergleich: Entscheidung & Kriterien sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Entscheidung & Kriterien",
"hint": "Angebotsvergleich: Entscheidung & Kriterien sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Entscheidung & Kriterien",
"hint": "Angebotsvergleich: Entscheidung & Kriterien sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Entscheidung & Kriterien",
"hint": "Angebotsvergleich: Entscheidung & Kriterien sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Entscheidung & Kriterien",
"hint": "Angebotsvergleich: Entscheidung & Kriterien sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Entscheidung & Kriterien",
"hint": "Angebotsvergleich: Entscheidung & Kriterien sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Entscheidung & Kriterien",
"hint": "Angebotsvergleich: Entscheidung & Kriterien sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Entscheidung & Kriterien",
"hint": "Angebotsvergleich: Entscheidung & Kriterien sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Entscheidung & Kriterien",
"hint": "Angebotsvergleich: Entscheidung & Kriterien sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Bezugskalkulation",
"questions": [
{
"category": "Rechenweg",
"hint": "Bezugskalkulation: Rechenweg sicher anwenden.",
"text": "Was beschreibt Bezugskalkulation am besten?",
"answers": [
"Bezugskalkulation hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Bezugskalkulation ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Rechenweg",
"hint": "Bezugskalkulation: Rechenweg sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Rechenweg",
"hint": "Bezugskalkulation: Rechenweg sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Rechenweg",
"hint": "Bezugskalkulation: Rechenweg sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Rechenweg",
"hint": "Bezugskalkulation: Rechenweg sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Rechenweg",
"hint": "Bezugskalkulation: Rechenweg sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Rechenweg",
"hint": "Bezugskalkulation: Rechenweg sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Rechenweg",
"hint": "Bezugskalkulation: Rechenweg sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Rechenweg",
"hint": "Bezugskalkulation: Rechenweg sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Rechenweg",
"hint": "Bezugskalkulation: Rechenweg sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Preisbestandteile",
"hint": "Bezugskalkulation: Preisbestandteile sicher anwenden.",
"text": "Was beschreibt Bezugskalkulation am besten?",
"answers": [
"Bezugskalkulation hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Bezugskalkulation ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Preisbestandteile",
"hint": "Bezugskalkulation: Preisbestandteile sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Preisbestandteile",
"hint": "Bezugskalkulation: Preisbestandteile sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Preisbestandteile",
"hint": "Bezugskalkulation: Preisbestandteile sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Preisbestandteile",
"hint": "Bezugskalkulation: Preisbestandteile sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Preisbestandteile",
"hint": "Bezugskalkulation: Preisbestandteile sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Preisbestandteile",
"hint": "Bezugskalkulation: Preisbestandteile sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Preisbestandteile",
"hint": "Bezugskalkulation: Preisbestandteile sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Preisbestandteile",
"hint": "Bezugskalkulation: Preisbestandteile sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Preisbestandteile",
"hint": "Bezugskalkulation: Preisbestandteile sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Harvard-Konzept",
"questions": [
{
"category": "Grundprinzipien",
"hint": "Harvard-Konzept: Grundprinzipien sicher anwenden.",
"text": "Was beschreibt Harvard-Konzept am besten?",
"answers": [
"Harvard-Konzept hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Harvard-Konzept ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Grundprinzipien",
"hint": "Harvard-Konzept: Grundprinzipien sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Grundprinzipien",
"hint": "Harvard-Konzept: Grundprinzipien sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Grundprinzipien",
"hint": "Harvard-Konzept: Grundprinzipien sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Grundprinzipien",
"hint": "Harvard-Konzept: Grundprinzipien sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Grundprinzipien",
"hint": "Harvard-Konzept: Grundprinzipien sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Grundprinzipien",
"hint": "Harvard-Konzept: Grundprinzipien sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Grundprinzipien",
"hint": "Harvard-Konzept: Grundprinzipien sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Grundprinzipien",
"hint": "Harvard-Konzept: Grundprinzipien sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Grundprinzipien",
"hint": "Harvard-Konzept: Grundprinzipien sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Verhandlungspraxis",
"hint": "Harvard-Konzept: Verhandlungspraxis sicher anwenden.",
"text": "Was beschreibt Harvard-Konzept am besten?",
"answers": [
"Harvard-Konzept hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Harvard-Konzept ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Verhandlungspraxis",
"hint": "Harvard-Konzept: Verhandlungspraxis sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Verhandlungspraxis",
"hint": "Harvard-Konzept: Verhandlungspraxis sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Verhandlungspraxis",
"hint": "Harvard-Konzept: Verhandlungspraxis sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Verhandlungspraxis",
"hint": "Harvard-Konzept: Verhandlungspraxis sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Verhandlungspraxis",
"hint": "Harvard-Konzept: Verhandlungspraxis sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Verhandlungspraxis",
"hint": "Harvard-Konzept: Verhandlungspraxis sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Verhandlungspraxis",
"hint": "Harvard-Konzept: Verhandlungspraxis sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Verhandlungspraxis",
"hint": "Harvard-Konzept: Verhandlungspraxis sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Verhandlungspraxis",
"hint": "Harvard-Konzept: Verhandlungspraxis sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Kosten-Nutzen-Vergleich",
"questions": [
{
"category": "Kostenarten",
"hint": "Kosten-Nutzen-Vergleich: Kostenarten sicher anwenden.",
"text": "Was beschreibt Kosten-Nutzen-Vergleich am besten?",
"answers": [
"Kosten-Nutzen-Vergleich hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Kosten-Nutzen-Vergleich ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Kostenarten",
"hint": "Kosten-Nutzen-Vergleich: Kostenarten sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Kostenarten",
"hint": "Kosten-Nutzen-Vergleich: Kostenarten sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Kostenarten",
"hint": "Kosten-Nutzen-Vergleich: Kostenarten sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Kostenarten",
"hint": "Kosten-Nutzen-Vergleich: Kostenarten sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Kostenarten",
"hint": "Kosten-Nutzen-Vergleich: Kostenarten sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Kostenarten",
"hint": "Kosten-Nutzen-Vergleich: Kostenarten sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Kostenarten",
"hint": "Kosten-Nutzen-Vergleich: Kostenarten sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Kostenarten",
"hint": "Kosten-Nutzen-Vergleich: Kostenarten sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Kostenarten",
"hint": "Kosten-Nutzen-Vergleich: Kostenarten sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Nutzenbewertung",
"hint": "Kosten-Nutzen-Vergleich: Nutzenbewertung sicher anwenden.",
"text": "Was beschreibt Kosten-Nutzen-Vergleich am besten?",
"answers": [
"Kosten-Nutzen-Vergleich hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Kosten-Nutzen-Vergleich ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Nutzenbewertung",
"hint": "Kosten-Nutzen-Vergleich: Nutzenbewertung sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Nutzenbewertung",
"hint": "Kosten-Nutzen-Vergleich: Nutzenbewertung sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Nutzenbewertung",
"hint": "Kosten-Nutzen-Vergleich: Nutzenbewertung sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Nutzenbewertung",
"hint": "Kosten-Nutzen-Vergleich: Nutzenbewertung sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Nutzenbewertung",
"hint": "Kosten-Nutzen-Vergleich: Nutzenbewertung sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Nutzenbewertung",
"hint": "Kosten-Nutzen-Vergleich: Nutzenbewertung sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Nutzenbewertung",
"hint": "Kosten-Nutzen-Vergleich: Nutzenbewertung sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Nutzenbewertung",
"hint": "Kosten-Nutzen-Vergleich: Nutzenbewertung sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Nutzenbewertung",
"hint": "Kosten-Nutzen-Vergleich: Nutzenbewertung sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Make or Buy",
"questions": [
{
"category": "Kostenvergleich",
"hint": "Make or Buy: Kostenvergleich sicher anwenden.",
"text": "Was beschreibt Make or Buy am besten?",
"answers": [
"Make or Buy hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Make or Buy ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Kostenvergleich",
"hint": "Make or Buy: Kostenvergleich sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Kostenvergleich",
"hint": "Make or Buy: Kostenvergleich sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Kostenvergleich",
"hint": "Make or Buy: Kostenvergleich sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Kostenvergleich",
"hint": "Make or Buy: Kostenvergleich sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Kostenvergleich",
"hint": "Make or Buy: Kostenvergleich sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Kostenvergleich",
"hint": "Make or Buy: Kostenvergleich sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Kostenvergleich",
"hint": "Make or Buy: Kostenvergleich sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Kostenvergleich",
"hint": "Make or Buy: Kostenvergleich sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Kostenvergleich",
"hint": "Make or Buy: Kostenvergleich sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Strategische Bewertung",
"hint": "Make or Buy: Strategische Bewertung sicher anwenden.",
"text": "Was beschreibt Make or Buy am besten?",
"answers": [
"Make or Buy hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Make or Buy ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Strategische Bewertung",
"hint": "Make or Buy: Strategische Bewertung sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Strategische Bewertung",
"hint": "Make or Buy: Strategische Bewertung sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Strategische Bewertung",
"hint": "Make or Buy: Strategische Bewertung sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Strategische Bewertung",
"hint": "Make or Buy: Strategische Bewertung sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Strategische Bewertung",
"hint": "Make or Buy: Strategische Bewertung sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Strategische Bewertung",
"hint": "Make or Buy: Strategische Bewertung sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Strategische Bewertung",
"hint": "Make or Buy: Strategische Bewertung sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Strategische Bewertung",
"hint": "Make or Buy: Strategische Bewertung sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Strategische Bewertung",
"hint": "Make or Buy: Strategische Bewertung sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Marktformen",
"questions": [
{
"category": "Marktformen",
"hint": "Marktformen: Marktformen sicher anwenden.",
"text": "Was beschreibt Marktformen am besten?",
"answers": [
"Marktformen hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Marktformen ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Marktformen",
"hint": "Marktformen: Marktformen sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Marktformen",
"hint": "Marktformen: Marktformen sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Marktformen",
"hint": "Marktformen: Marktformen sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Marktformen",
"hint": "Marktformen: Marktformen sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Marktformen",
"hint": "Marktformen: Marktformen sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Marktformen",
"hint": "Marktformen: Marktformen sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Marktformen",
"hint": "Marktformen: Marktformen sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Marktformen",
"hint": "Marktformen: Marktformen sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Marktformen",
"hint": "Marktformen: Marktformen sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Auswirkungen",
"hint": "Marktformen: Auswirkungen sicher anwenden.",
"text": "Was beschreibt Marktformen am besten?",
"answers": [
"Marktformen hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Marktformen ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Auswirkungen",
"hint": "Marktformen: Auswirkungen sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Auswirkungen",
"hint": "Marktformen: Auswirkungen sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Auswirkungen",
"hint": "Marktformen: Auswirkungen sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Auswirkungen",
"hint": "Marktformen: Auswirkungen sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Auswirkungen",
"hint": "Marktformen: Auswirkungen sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Auswirkungen",
"hint": "Marktformen: Auswirkungen sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Auswirkungen",
"hint": "Marktformen: Auswirkungen sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Auswirkungen",
"hint": "Marktformen: Auswirkungen sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Auswirkungen",
"hint": "Marktformen: Auswirkungen sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Nutzwertanalyse",
"questions": [
{
"category": "Methode",
"hint": "Nutzwertanalyse: Methode sicher anwenden.",
"text": "Was beschreibt Nutzwertanalyse am besten?",
"answers": [
"Nutzwertanalyse hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Nutzwertanalyse ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Methode",
"hint": "Nutzwertanalyse: Methode sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Methode",
"hint": "Nutzwertanalyse: Methode sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Methode",
"hint": "Nutzwertanalyse: Methode sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Methode",
"hint": "Nutzwertanalyse: Methode sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Methode",
"hint": "Nutzwertanalyse: Methode sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Methode",
"hint": "Nutzwertanalyse: Methode sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Methode",
"hint": "Nutzwertanalyse: Methode sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Methode",
"hint": "Nutzwertanalyse: Methode sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Methode",
"hint": "Nutzwertanalyse: Methode sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Bewertung & Fehler",
"hint": "Nutzwertanalyse: Bewertung & Fehler sicher anwenden.",
"text": "Was beschreibt Nutzwertanalyse am besten?",
"answers": [
"Nutzwertanalyse hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Nutzwertanalyse ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Bewertung & Fehler",
"hint": "Nutzwertanalyse: Bewertung & Fehler sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Bewertung & Fehler",
"hint": "Nutzwertanalyse: Bewertung & Fehler sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Bewertung & Fehler",
"hint": "Nutzwertanalyse: Bewertung & Fehler sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Bewertung & Fehler",
"hint": "Nutzwertanalyse: Bewertung & Fehler sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Bewertung & Fehler",
"hint": "Nutzwertanalyse: Bewertung & Fehler sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Bewertung & Fehler",
"hint": "Nutzwertanalyse: Bewertung & Fehler sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Bewertung & Fehler",
"hint": "Nutzwertanalyse: Bewertung & Fehler sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Bewertung & Fehler",
"hint": "Nutzwertanalyse: Bewertung & Fehler sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Bewertung & Fehler",
"hint": "Nutzwertanalyse: Bewertung & Fehler sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Ratendarlehen",
"questions": [
{
"category": "Darlehensgrundlagen",
"hint": "Ratendarlehen: Darlehensgrundlagen sicher anwenden.",
"text": "Was beschreibt Ratendarlehen am besten?",
"answers": [
"Ratendarlehen hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Ratendarlehen ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Darlehensgrundlagen",
"hint": "Ratendarlehen: Darlehensgrundlagen sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Darlehensgrundlagen",
"hint": "Ratendarlehen: Darlehensgrundlagen sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Darlehensgrundlagen",
"hint": "Ratendarlehen: Darlehensgrundlagen sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Darlehensgrundlagen",
"hint": "Ratendarlehen: Darlehensgrundlagen sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Darlehensgrundlagen",
"hint": "Ratendarlehen: Darlehensgrundlagen sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Darlehensgrundlagen",
"hint": "Ratendarlehen: Darlehensgrundlagen sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Darlehensgrundlagen",
"hint": "Ratendarlehen: Darlehensgrundlagen sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Darlehensgrundlagen",
"hint": "Ratendarlehen: Darlehensgrundlagen sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Darlehensgrundlagen",
"hint": "Ratendarlehen: Darlehensgrundlagen sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Rechenweg",
"hint": "Ratendarlehen: Rechenweg sicher anwenden.",
"text": "Was beschreibt Ratendarlehen am besten?",
"answers": [
"Ratendarlehen hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Ratendarlehen ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Rechenweg",
"hint": "Ratendarlehen: Rechenweg sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Rechenweg",
"hint": "Ratendarlehen: Rechenweg sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Rechenweg",
"hint": "Ratendarlehen: Rechenweg sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Rechenweg",
"hint": "Ratendarlehen: Rechenweg sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Rechenweg",
"hint": "Ratendarlehen: Rechenweg sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Rechenweg",
"hint": "Ratendarlehen: Rechenweg sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Rechenweg",
"hint": "Ratendarlehen: Rechenweg sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Rechenweg",
"hint": "Ratendarlehen: Rechenweg sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Rechenweg",
"hint": "Ratendarlehen: Rechenweg sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Rentabilitätsrechnung",
"questions": [
{
"category": "Formel & Begriffe",
"hint": "Rentabilität über Gewinn und eingesetztes Kapital berechnen.",
"text": "Welche Formel beschreibt die Rentabilität in Prozent?",
"answers": [
"(Gewinn / eingesetztes Kapital) * 100",
"(Umsatz / Gewinn) * 100",
"(Kosten / Umsatz) * 100"
],
"correct": 0,
"explanation": "Rentabilität setzt den erzielten Gewinn ins Verhältnis zum eingesetzten Kapital."
},
{
"category": "Formel & Begriffe",
"hint": "Rentabilität über Gewinn und eingesetztes Kapital berechnen.",
"text": "Was ist mit eingesetztem Kapital in einer einfachen AP1-Aufgabe gemeint?",
"answers": [
"Der Betrag, der für die Investition gebunden oder aufgewendet wird.",
"Immer nur der Jahresumsatz des Unternehmens.",
"Nur die monatlichen Stromkosten."
],
"correct": 0,
"explanation": "Das eingesetzte Kapital ist die Bezugsgröße, auf die der Gewinn gerechnet wird."
},
{
"category": "Formel & Begriffe",
"hint": "Rentabilität über Gewinn und eingesetztes Kapital berechnen.",
"text": "Eine Investition bringt 6.000 Euro Gewinn bei 30.000 Euro Kapitaleinsatz. Wie hoch ist die Rentabilität?",
"answers": [
"5 %",
"20 %",
"36 %"
],
"correct": 1,
"explanation": "6.000 / 30.000 * 100 = 20 %."
},
{
"category": "Formel & Begriffe",
"hint": "Rentabilität über Gewinn und eingesetztes Kapital berechnen.",
"text": "Warum wird die Rentabilität meistens in Prozent angegeben?",
"answers": [
"Damit unterschiedlich große Investitionen vergleichbarer werden.",
"Damit keine Rechnung mehr nötig ist.",
"Weil Euro-Beträge in Prüfungen verboten sind."
],
"correct": 0,
"explanation": "Prozentwerte machen den Ertrag im Verhältnis zum Kapitaleinsatz sichtbar."
},
{
"category": "Formel & Begriffe",
"hint": "Rentabilität über Gewinn und eingesetztes Kapital berechnen.",
"text": "Welche Angabe brauchst du zwingend für eine einfache Rentabilitätsrechnung?",
"answers": [
"Gewinn und eingesetztes Kapital.",
"Nur die Anzahl der Mitarbeitenden.",
"Nur die Lieferzeit."
],
"correct": 0,
"explanation": "Ohne Gewinn und Kapital kann das Verhältnis nicht berechnet werden."
},
{
"category": "Formel & Begriffe",
"hint": "Rentabilität über Gewinn und eingesetztes Kapital berechnen.",
"text": "Was ist der Unterschied zwischen Gewinn und Umsatz?",
"answers": [
"Gewinn ist Umsatz nach Abzug der Kosten.",
"Gewinn und Umsatz sind immer identisch.",
"Umsatz entsteht erst nach der Rentabilitätsrechnung."
],
"correct": 0,
"explanation": "Für Rentabilität wird der Gewinn verwendet, nicht einfach der Umsatz."
},
{
"category": "Formel & Begriffe",
"hint": "Rentabilität über Gewinn und eingesetztes Kapital berechnen.",
"text": "Eine Rentabilität von 25 % bedeutet in einfachen Worten:",
"answers": [
"Pro 100 Euro eingesetztem Kapital entstehen 25 Euro Gewinn.",
"Die Investition kostet immer 25 Euro.",
"Der Umsatz ist automatisch um 25 Euro gefallen."
],
"correct": 0,
"explanation": "Der Prozentwert beschreibt den Gewinn je 100 Euro Kapitaleinsatz."
},
{
"category": "Formel & Begriffe",
"hint": "Rentabilität über Gewinn und eingesetztes Kapital berechnen.",
"text": "Warum ist eine reine Gewinnzahl für Investitionsvergleiche oft nicht ausreichend?",
"answers": [
"Weil der Kapitaleinsatz unterschiedlich hoch sein kann.",
"Weil Gewinnzahlen nie berechnet werden dürfen.",
"Weil Prozentwerte grundsätzlich unwichtig sind."
],
"correct": 0,
"explanation": "Ein hoher Gewinn kann weniger attraktiv sein, wenn dafür sehr viel Kapital gebunden wird."
},
{
"category": "Formel & Begriffe",
"hint": "Rentabilität über Gewinn und eingesetztes Kapital berechnen.",
"text": "Welche Einheit hat das Ergebnis der Rentabilitätsrechnung?",
"answers": [
"Prozent.",
"Stück pro Stunde.",
"Gigabyte."
],
"correct": 0,
"explanation": "Das Verhältnis wird mit 100 multipliziert und als Prozentwert angegeben."
},
{
"category": "Formel & Begriffe",
"hint": "Rentabilität über Gewinn und eingesetztes Kapital berechnen.",
"text": "Was solltest du bei einer AP1-Rechenaufgabe zur Rentabilität immer mit angeben?",
"answers": [
"Rechenweg, Ergebnis und Einheit.",
"Nur eine unbeschriftete Zahl.",
"Nur den Namen der Formel."
],
"correct": 0,
"explanation": "Der nachvollziehbare Rechenweg ist in Prüfungsaufgaben wichtig."
},
{
"category": "Bewertung & Entscheidung",
"hint": "Rentabilität für Investitionsentscheidungen einordnen.",
"text": "Zwei Investitionen sind gleich riskant. Welche ist nach Rentabilität attraktiver?",
"answers": [
"Die Investition mit der höheren Rentabilität.",
"Immer die Investition mit dem höheren Preis.",
"Immer die Investition mit dem längeren Namen."
],
"correct": 0,
"explanation": "Bei sonst gleichen Bedingungen spricht die höhere Rentabilität für die bessere Kapitalverwertung."
},
{
"category": "Bewertung & Entscheidung",
"hint": "Rentabilität für Investitionsentscheidungen einordnen.",
"text": "Warum darf Rentabilität nicht immer das einzige Entscheidungskriterium sein?",
"answers": [
"Weil Risiko, Liquidität, Nutzungsdauer und strategische Ziele ebenfalls relevant sein können.",
"Weil Kennzahlen nie verwendet werden dürfen.",
"Weil jede Investition automatisch gleich gut ist."
],
"correct": 0,
"explanation": "Wirtschaftliche Entscheidungen müssen oft mehrere Kriterien berücksichtigen."
},
{
"category": "Bewertung & Entscheidung",
"hint": "Rentabilität für Investitionsentscheidungen einordnen.",
"text": "Investition A bringt 10.000 Euro Gewinn bei 100.000 Euro Kapital. Investition B bringt 8.000 Euro Gewinn bei 40.000 Euro Kapital. Welche hat die höhere Rentabilität?",
"answers": [
"Investition A mit 10 %.",
"Investition B mit 20 %.",
"Beide haben 50 %."
],
"correct": 1,
"explanation": "A: 10.000 / 100.000 * 100 = 10 %. B: 8.000 / 40.000 * 100 = 20 %."
},
{
"category": "Bewertung & Entscheidung",
"hint": "Rentabilität für Investitionsentscheidungen einordnen.",
"text": "Was zeigt eine negative Rentabilität?",
"answers": [
"Die Investition macht im betrachteten Zeitraum Verlust.",
"Die Investition ist automatisch steuerfrei.",
"Der Kapitaleinsatz ist immer null."
],
"correct": 0,
"explanation": "Ein negativer Gewinn führt zu einem negativen Verhältnis."
},
{
"category": "Bewertung & Entscheidung",
"hint": "Rentabilität für Investitionsentscheidungen einordnen.",
"text": "Warum ist der betrachtete Zeitraum wichtig?",
"answers": [
"Weil Gewinn und Kapitalbindung zeitbezogen bewertet werden.",
"Weil Zeitangaben in Wirtschaft keine Rolle spielen.",
"Weil die Formel sonst keine Prozentzeichen enthält."
],
"correct": 0,
"explanation": "Eine Jahresrentabilität ist anders zu bewerten als ein Wert über mehrere Jahre."
},
{
"category": "Bewertung & Entscheidung",
"hint": "Rentabilität für Investitionsentscheidungen einordnen.",
"text": "Welche Aussage passt zu einer prüfungstauglichen Begründung?",
"answers": [
"Ich wähle die Alternative mit höherer Rentabilität, sofern Risiko und Rahmenbedingungen vergleichbar sind.",
"Ich wähle zufällig, weil Zahlen nicht begründet werden.",
"Ich ignoriere den Kapitaleinsatz."
],
"correct": 0,
"explanation": "Die Entscheidung muss an Bedingungen und Kennzahlen geknüpft werden."
},
{
"category": "Bewertung & Entscheidung",
"hint": "Rentabilität für Investitionsentscheidungen einordnen.",
"text": "Wann kann eine Investition mit niedrigerer Rentabilität trotzdem sinnvoll sein?",
"answers": [
"Wenn sie strategisch wichtig ist oder deutlich weniger Risiko hat.",
"Nie, niedrigere Rentabilität ist immer verboten.",
"Wenn sie gar keinen Nutzen hat."
],
"correct": 0,
"explanation": "Kennzahlen unterstützen Entscheidungen, ersetzen aber nicht die fachliche Bewertung."
},
{
"category": "Bewertung & Entscheidung",
"hint": "Rentabilität für Investitionsentscheidungen einordnen.",
"text": "Welche Datenqualität ist für Rentabilitätsvergleiche wichtig?",
"answers": [
"Kosten, Gewinne und Kapitalwerte müssen aus demselben Betrachtungsrahmen stammen.",
"Alle Zahlen dürfen aus beliebigen Jahren gemischt werden.",
"Nur geschätzte Begriffe ohne Zahlen reichen immer aus."
],
"correct": 0,
"explanation": "Vergleiche sind nur sinnvoll, wenn die Datengrundlage konsistent ist."
},
{
"category": "Bewertung & Entscheidung",
"hint": "Rentabilität für Investitionsentscheidungen einordnen.",
"text": "Welche Kennzahl ergänzt Rentabilität häufig bei Investitionsentscheidungen?",
"answers": [
"Amortisationsdauer.",
"OSI-Schicht 4.",
"Subnetzmaske."
],
"correct": 0,
"explanation": "Neben der Rentabilität wird oft betrachtet, wann sich eine Investition zurückzahlt."
},
{
"category": "Bewertung & Entscheidung",
"hint": "Rentabilität für Investitionsentscheidungen einordnen.",
"text": "Was ist ein typischer Fehler bei der Rentabilitätsrechnung?",
"answers": [
"Umsatz statt Gewinn in die Formel einzusetzen.",
"Das Ergebnis als Prozent anzugeben.",
"Den Rechenweg zu dokumentieren."
],
"correct": 0,
"explanation": "Für die einfache Rentabilität wird Gewinn durch Kapital geteilt."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Return on Investment",
"questions": [
{
"category": "Formel & Bedeutung",
"hint": "Return on Investment: Formel & Bedeutung sicher anwenden.",
"text": "Was beschreibt Return on Investment am besten?",
"answers": [
"Return on Investment hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Return on Investment ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Formel & Bedeutung",
"hint": "Return on Investment: Formel & Bedeutung sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Formel & Bedeutung",
"hint": "Return on Investment: Formel & Bedeutung sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Formel & Bedeutung",
"hint": "Return on Investment: Formel & Bedeutung sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Formel & Bedeutung",
"hint": "Return on Investment: Formel & Bedeutung sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Formel & Bedeutung",
"hint": "Return on Investment: Formel & Bedeutung sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Formel & Bedeutung",
"hint": "Return on Investment: Formel & Bedeutung sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Formel & Bedeutung",
"hint": "Return on Investment: Formel & Bedeutung sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Formel & Bedeutung",
"hint": "Return on Investment: Formel & Bedeutung sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Formel & Bedeutung",
"hint": "Return on Investment: Formel & Bedeutung sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Interpretation",
"hint": "Return on Investment: Interpretation sicher anwenden.",
"text": "Was beschreibt Return on Investment am besten?",
"answers": [
"Return on Investment hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Return on Investment ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Interpretation",
"hint": "Return on Investment: Interpretation sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Interpretation",
"hint": "Return on Investment: Interpretation sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Interpretation",
"hint": "Return on Investment: Interpretation sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Interpretation",
"hint": "Return on Investment: Interpretation sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Interpretation",
"hint": "Return on Investment: Interpretation sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Interpretation",
"hint": "Return on Investment: Interpretation sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Interpretation",
"hint": "Return on Investment: Interpretation sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Interpretation",
"hint": "Return on Investment: Interpretation sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Interpretation",
"hint": "Return on Investment: Interpretation sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Vertragsarten",
"questions": [
{
"category": "Vertragsgrundlagen",
"hint": "Vertragsarten: Vertragsgrundlagen sicher anwenden.",
"text": "Was beschreibt Vertragsarten am besten?",
"answers": [
"Vertragsarten hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Vertragsarten ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Vertragsgrundlagen",
"hint": "Vertragsarten: Vertragsgrundlagen sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Vertragsgrundlagen",
"hint": "Vertragsarten: Vertragsgrundlagen sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Vertragsgrundlagen",
"hint": "Vertragsarten: Vertragsgrundlagen sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Vertragsgrundlagen",
"hint": "Vertragsarten: Vertragsgrundlagen sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Vertragsgrundlagen",
"hint": "Vertragsarten: Vertragsgrundlagen sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Vertragsgrundlagen",
"hint": "Vertragsarten: Vertragsgrundlagen sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Vertragsgrundlagen",
"hint": "Vertragsarten: Vertragsgrundlagen sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Vertragsgrundlagen",
"hint": "Vertragsarten: Vertragsgrundlagen sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Vertragsgrundlagen",
"hint": "Vertragsarten: Vertragsgrundlagen sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Praxisfälle",
"hint": "Vertragsarten: Praxisfälle sicher anwenden.",
"text": "Was beschreibt Vertragsarten am besten?",
"answers": [
"Vertragsarten hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Vertragsarten ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Praxisfälle",
"hint": "Vertragsarten: Praxisfälle sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Praxisfälle",
"hint": "Vertragsarten: Praxisfälle sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Praxisfälle",
"hint": "Vertragsarten: Praxisfälle sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Praxisfälle",
"hint": "Vertragsarten: Praxisfälle sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Praxisfälle",
"hint": "Vertragsarten: Praxisfälle sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Praxisfälle",
"hint": "Vertragsarten: Praxisfälle sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Praxisfälle",
"hint": "Vertragsarten: Praxisfälle sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Praxisfälle",
"hint": "Vertragsarten: Praxisfälle sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Praxisfälle",
"hint": "Vertragsarten: Praxisfälle sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Win-Win-Strategie",
"questions": [
{
"category": "Grundidee",
"hint": "Win-Win-Strategie: Grundidee sicher anwenden.",
"text": "Was beschreibt Win-Win-Strategie am besten?",
"answers": [
"Win-Win-Strategie hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Win-Win-Strategie ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Grundidee",
"hint": "Win-Win-Strategie: Grundidee sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Grundidee",
"hint": "Win-Win-Strategie: Grundidee sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Grundidee",
"hint": "Win-Win-Strategie: Grundidee sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Grundidee",
"hint": "Win-Win-Strategie: Grundidee sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Grundidee",
"hint": "Win-Win-Strategie: Grundidee sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Grundidee",
"hint": "Win-Win-Strategie: Grundidee sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Grundidee",
"hint": "Win-Win-Strategie: Grundidee sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Grundidee",
"hint": "Win-Win-Strategie: Grundidee sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Grundidee",
"hint": "Win-Win-Strategie: Grundidee sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Praxis & Grenzen",
"hint": "Win-Win-Strategie: Praxis & Grenzen sicher anwenden.",
"text": "Was beschreibt Win-Win-Strategie am besten?",
"answers": [
"Win-Win-Strategie hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Win-Win-Strategie ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Praxis & Grenzen",
"hint": "Win-Win-Strategie: Praxis & Grenzen sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Praxis & Grenzen",
"hint": "Win-Win-Strategie: Praxis & Grenzen sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Praxis & Grenzen",
"hint": "Win-Win-Strategie: Praxis & Grenzen sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Praxis & Grenzen",
"hint": "Win-Win-Strategie: Praxis & Grenzen sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Praxis & Grenzen",
"hint": "Win-Win-Strategie: Praxis & Grenzen sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Praxis & Grenzen",
"hint": "Win-Win-Strategie: Praxis & Grenzen sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Praxis & Grenzen",
"hint": "Win-Win-Strategie: Praxis & Grenzen sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Praxis & Grenzen",
"hint": "Win-Win-Strategie: Praxis & Grenzen sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Praxis & Grenzen",
"hint": "Win-Win-Strategie: Praxis & Grenzen sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,245 @@
{
"title": "Wirtschaftssektoren",
"questions": [
{
"category": "Sektoren",
"hint": "Wirtschaftssektoren: Sektoren sicher anwenden.",
"text": "Was beschreibt Wirtschaftssektoren am besten?",
"answers": [
"Wirtschaftssektoren hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Wirtschaftssektoren ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Sektoren",
"hint": "Wirtschaftssektoren: Sektoren sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Sektoren",
"hint": "Wirtschaftssektoren: Sektoren sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Sektoren",
"hint": "Wirtschaftssektoren: Sektoren sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Sektoren",
"hint": "Wirtschaftssektoren: Sektoren sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Sektoren",
"hint": "Wirtschaftssektoren: Sektoren sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Sektoren",
"hint": "Wirtschaftssektoren: Sektoren sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Sektoren",
"hint": "Wirtschaftssektoren: Sektoren sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Sektoren",
"hint": "Wirtschaftssektoren: Sektoren sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Sektoren",
"hint": "Wirtschaftssektoren: Sektoren sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
},
{
"category": "Zuordnung & Wandel",
"hint": "Wirtschaftssektoren: Zuordnung & Wandel sicher anwenden.",
"text": "Was beschreibt Wirtschaftssektoren am besten?",
"answers": [
"Wirtschaftssektoren hilft, wirtschaftliche Entscheidungen nachvollziehbar zu begründen.",
"Es ist nur Dekoration und hat keinen Prüfungsbezug.",
"Es ist ein zufälliger Begriff ohne technische Bedeutung."
],
"correct": 0,
"explanation": "Wirtschaftssektoren ist prüfungsrelevant, weil Entscheidungen begründet werden müssen."
},
{
"category": "Zuordnung & Wandel",
"hint": "Wirtschaftssektoren: Zuordnung & Wandel sicher anwenden.",
"text": "Welche Aussage zu Rechenweg ist richtig?",
"answers": [
"Nur das Endergebnis ohne Weg zählt immer.",
"Der Rechenweg muss mit Einheiten und Zwischenschritten nachvollziehbar sein.",
"Einheiten sind grundsätzlich egal."
],
"correct": 1,
"explanation": "IHK-Aufgaben bewerten häufig den nachvollziehbaren Lösungsweg."
},
{
"category": "Zuordnung & Wandel",
"hint": "Wirtschaftssektoren: Zuordnung & Wandel sicher anwenden.",
"text": "Woran erkennst du Kriterien in einer AP1-Aufgabe?",
"answers": [
"Kriterien verhindern jede Entscheidung.",
"Kriterien werden nach der Entscheidung erfunden.",
"Kriterien machen Alternativen vergleichbar."
],
"correct": 2,
"explanation": "Saubere Kriterien machen Entscheidungen transparent."
},
{
"category": "Zuordnung & Wandel",
"hint": "Wirtschaftssektoren: Zuordnung & Wandel sicher anwenden.",
"text": "Was ist bei Kosten besonders wichtig?",
"answers": [
"Kosten müssen vollständig und passend zum Szenario erfasst werden.",
"Kosten spielen in Wirtschaft nie eine Rolle.",
"Nur die höchste Zahl ist relevant."
],
"correct": 0,
"explanation": "Wirtschaftsaufgaben verlangen vollständige Betrachtung."
},
{
"category": "Zuordnung & Wandel",
"hint": "Wirtschaftssektoren: Zuordnung & Wandel sicher anwenden.",
"text": "Was beschreibt Nutzen am besten?",
"answers": [
"Nutzen ist immer verboten.",
"Nutzen kann quantitativ oder qualitativ bewertet werden.",
"Nutzen ist immer nur eine Zufallszahl."
],
"correct": 1,
"explanation": "Nicht jeder Nutzen ist direkt in Euro messbar."
},
{
"category": "Zuordnung & Wandel",
"hint": "Wirtschaftssektoren: Zuordnung & Wandel sicher anwenden.",
"text": "Welche Aussage zu Vergleichbarkeit ist richtig?",
"answers": [
"Jede Alternative nutzt andere Einheiten.",
"Vergleichbarkeit ist nur Dekoration.",
"Alternativen müssen auf derselben Grundlage verglichen werden."
],
"correct": 2,
"explanation": "Ohne gleiche Grundlage ist ein Vergleich unfair."
},
{
"category": "Zuordnung & Wandel",
"hint": "Wirtschaftssektoren: Zuordnung & Wandel sicher anwenden.",
"text": "Woran erkennst du Dokumentation in einer AP1-Aufgabe?",
"answers": [
"Annahmen, Zahlen und Entscheidung müssen dokumentiert werden.",
"Dokumentation macht Rechnungen falsch.",
"Dokumentation ist nur für Grafiken."
],
"correct": 0,
"explanation": "Dokumentation macht Entscheidungen prüfbar."
},
{
"category": "Zuordnung & Wandel",
"hint": "Wirtschaftssektoren: Zuordnung & Wandel sicher anwenden.",
"text": "Was ist bei Prüfungsargumentation besonders wichtig?",
"answers": [
"Eine Begründung ist nie erlaubt.",
"Eine gute Antwort verbindet Rechnung und kurze Begründung.",
"Nur ein Schlagwort reicht immer."
],
"correct": 1,
"explanation": "AP1 fragt häufig nach nachvollziehbarer Bewertung."
},
{
"category": "Zuordnung & Wandel",
"hint": "Wirtschaftssektoren: Zuordnung & Wandel sicher anwenden.",
"text": "Was beschreibt Risiko am besten?",
"answers": [
"Risiken gibt es nur in Netzwerken.",
"Risiken müssen ignoriert werden.",
"Wirtschaftliche Entscheidungen können Risiken und Unsicherheiten enthalten."
],
"correct": 2,
"explanation": "Risiken gehören zu realistischen Entscheidungen."
},
{
"category": "Zuordnung & Wandel",
"hint": "Wirtschaftssektoren: Zuordnung & Wandel sicher anwenden.",
"text": "Welche Aussage zu Entscheidung ist richtig?",
"answers": [
"Die beste Alternative hängt von Ziel, Kosten, Nutzen und Rahmenbedingungen ab.",
"Immer gewinnt die billigste Alternative.",
"Immer gewinnt die teuerste Alternative."
],
"correct": 0,
"explanation": "Preis allein reicht oft nicht als Entscheidungskriterium."
}
]
}
@@ -0,0 +1,70 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Backuparten - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Backuparten</h1>
<section>
<h2>Voll, differentiell, inkrementell</h2>
<ul class="key-list">
<li><strong>Vollbackup:</strong> alle Daten. Einfaches Restore, hoher Speicherbedarf.</li>
<li><strong>Differentiell:</strong> alles seit dem letzten Vollbackup. Restore: Vollbackup + letztes differentielles Backup.</li>
<li><strong>Inkrementell:</strong> nur Änderungen seit dem letzten Backup. Spart Speicher, Restore braucht die Kette.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>
Dieser FluxCheck trainiert Backup-Grundlagen, Sicherungsarten und typische
Praxisentscheidungen aus AP1-Situationen.
</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Backuparten</h2>
<p data-category-hint>Backup, Restore und Sicherungsstrategie.</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/backuparten.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Datenbanksysteme - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Datenbanksysteme</h1>
<section>
<h2>Lernfokus</h2>
<p>Trainiere relationale Grundlagen, Schlüssel, SQL-Begriffe und sicheren Betrieb.</p>
<ul class="key-list">
<li>Tabellen, Datensätze und Schlüssel verstehen.</li>
<li>SQL-Grundoperationen einordnen.</li>
<li>Backup, Rechte und Datenschutz berücksichtigen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Datenbanksysteme</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/systemintegration_datenbank.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>DSL und Internetanschluss - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>DSL und Internetanschluss</h1>
<section>
<h2>Lernfokus</h2>
<p>Trainiere Bandbreite, Upload/Download, Latenz und typische Anschlussprobleme.</p>
<ul class="key-list">
<li>Download und Upload unterscheiden.</li>
<li>Latenz und Verfügbarkeit bewerten.</li>
<li>Fehler an Anschluss und Router eingrenzen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>DSL und Internetanschluss</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/systemintegration_dsl.json" defer></script>
</body>
</html>
@@ -0,0 +1,78 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>OSI-Modell - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>OSI-Modell</h1>
<section>
<h2>Die 7 Schichten</h2>
<ol class="key-list">
<li>Bitübertragung: Kabel, Funk, elektrische Signale.</li>
<li>Sicherung: MAC-Adressen, Frames, Switches.</li>
<li>Vermittlung: IP-Adressen, Routing.</li>
<li>Transport: TCP, UDP, Ports.</li>
<li>Sitzung: Verbindungen steuern.</li>
<li>Darstellung: Formate, Kodierung, Verschlüsselung.</li>
<li>Anwendung: HTTP, DNS, SMTP und andere Dienste.</li>
</ol>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>
Dieser FluxCheck trainiert das OSI-Modell für typische AP1-Aufgaben:
Schichten erkennen, Geräte und Protokolle zuordnen und Fehler systematisch
eingrenzen.
</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>OSI-Modell</h2>
<p data-category-hint>Schichten, Geräte, Protokolle und Fehleranalyse.</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/osi.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Storage Systeme - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Storage Systeme</h1>
<section>
<h2>Lernfokus</h2>
<p>Trainiere DAS, NAS, SAN sowie Dateisysteme, Blockzugriff und typische Einsatzfälle.</p>
<ul class="key-list">
<li>DAS, NAS und SAN unterscheiden.</li>
<li>Block- und Dateizugriff erklären.</li>
<li>Einsatz nach Anforderungen begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Storage Systeme</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/systemintegration_storage.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Thin Clients - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Thin Clients</h1>
<section>
<h2>Lernfokus</h2>
<p>Trainiere zentrale Arbeitsplatzkonzepte, Vorteile, Grenzen und Abhängigkeiten.</p>
<ul class="key-list">
<li>Thin Client von Fat Client unterscheiden.</li>
<li>Netzwerk- und Serverabhängigkeit bewerten.</li>
<li>Einsatzfälle begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Thin Clients</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/systemintegration_thin-client.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Netzwerktopologien - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Netzwerktopologien</h1>
<section>
<h2>Lernfokus</h2>
<p>Vergleiche Bus, Stern, Ring, Mesh und Baumtopologie für AP1-Szenarien.</p>
<ul class="key-list">
<li>Topologien erkennen.</li>
<li>Vor- und Nachteile abwägen.</li>
<li>Ausfallsicherheit und Kosten begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Netzwerktopologien</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/systemintegration_topologien.json" defer></script>
</body>
</html>
@@ -0,0 +1,70 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>USV - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>USV - Unterbrechungsfreie Stromversorgung</h1>
<section>
<h2>Aufgabe einer USV</h2>
<p>
Eine USV überbrückt Stromausfälle kurzzeitig und schützt Systeme vor
Spannungsschwankungen. Sie ersetzt keinen Generator, sondern schafft Zeit
für geordnetes Herunterfahren oder Umschalten.
</p>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>
Dieser FluxCheck trainiert USV-Grundlagen, Dimensionierung und typische
Betriebsfragen aus AP1-Situationen.
</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>USV</h2>
<p data-category-hint>Stromausfall, Laufzeit und geordneter Shutdown.</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/usv.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>VDI & DaaS - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>VDI & DaaS</h1>
<section>
<h2>Lernfokus</h2>
<p>Trainiere virtuelle Desktops, eigene Infrastruktur und Cloud-Desktopdienste.</p>
<ul class="key-list">
<li>VDI und DaaS unterscheiden.</li>
<li>Kosten, Datenschutz und Betrieb bewerten.</li>
<li>Netzwerkabhängigkeit berücksichtigen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>VDI & DaaS</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/systemintegration_vdi-daas.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>VLAN - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>VLAN</h1>
<section>
<h2>Lernfokus</h2>
<p>Trainiere logische Netztrennung, Access/Trunk und typische VLAN-Fehler.</p>
<ul class="key-list">
<li>VLAN-Zweck erklären.</li>
<li>Access- und Trunk-Port unterscheiden.</li>
<li>Routing und Fehleranalyse einordnen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>VLAN</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/systemintegration_vlan.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Amortisation - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Amortisation</h1>
<section>
<h2>Lernfokus</h2>
<p>Berechnen, wann sich eine Investition durch Einsparungen zurückzahlt.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Amortisation</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_amortisation.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Angebotsvergleich - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Angebotsvergleich</h1>
<section>
<h2>Lernfokus</h2>
<p>Angebote anhand Preis, Leistung und Bedingungen nachvollziehbar vergleichen.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Angebotsvergleich</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_angebotsvergleich.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Bezugskalkulation - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Bezugskalkulation</h1>
<section>
<h2>Lernfokus</h2>
<p>Listeneinkaufspreis, Rabatte, Skonto und Bezugskosten sicher berechnen.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Bezugskalkulation</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_bezugskalkulation.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Harvard-Konzept - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Harvard-Konzept</h1>
<section>
<h2>Lernfokus</h2>
<p>Sachbezogen verhandeln und Interessen von Positionen unterscheiden.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Harvard-Konzept</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_harvard_konzept.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Kosten-Nutzen-Vergleich - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Kosten-Nutzen-Vergleich</h1>
<section>
<h2>Lernfokus</h2>
<p>Kosten und qualitative Nutzenargumente strukturiert gegenüberstellen.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Kosten-Nutzen-Vergleich</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_kosten_nutzen.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Make or Buy - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Make or Buy</h1>
<section>
<h2>Lernfokus</h2>
<p>Eigenfertigung und Fremdbezug wirtschaftlich und organisatorisch vergleichen.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Make or Buy</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_make_or_buy.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Marktformen - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Marktformen</h1>
<section>
<h2>Lernfokus</h2>
<p>Monopol, Oligopol, Polypol und Marktrollen einordnen.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Marktformen</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_marktformen.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Nutzwertanalyse - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Nutzwertanalyse</h1>
<section>
<h2>Lernfokus</h2>
<p>Alternativen mit Kriterien, Gewichtung und Punkten bewerten.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Nutzwertanalyse</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_nutzwertanalyse.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Ratendarlehen - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Ratendarlehen</h1>
<section>
<h2>Lernfokus</h2>
<p>Tilgung, Restschuld, Zinsen und Rate im Ratendarlehen verstehen.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Ratendarlehen</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_ratendarlehen.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Rentabilitätsrechnung - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Rentabilitätsrechnung</h1>
<section>
<h2>Lernfokus</h2>
<p>Rentabilität als Verhältnis von Gewinn zu eingesetztem Kapital verstehen, berechnen und bewerten.</p>
<ul class="key-list">
<li>Formel sicher anwenden.</li>
<li>Gewinn, Kapital und Prozentwerte sauber unterscheiden.</li>
<li>Investitionen anhand der Kennzahl prüfungstauglich beurteilen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Rentabilitätsrechnung</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_rentabilitätsrechnung.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Return on Investment - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Return on Investment</h1>
<section>
<h2>Lernfokus</h2>
<p>ROI als Kennzahl für Kapitalrentabilität verstehen und berechnen.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Return on Investment</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_roi.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Vertragsarten - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Vertragsarten</h1>
<section>
<h2>Lernfokus</h2>
<p>Kaufvertrag, Mietvertrag, Leasing, Dienst- und Werkvertrag unterscheiden.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Vertragsarten</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_vertragsarten.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Win-Win-Strategie - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Win-Win-Strategie</h1>
<section>
<h2>Lernfokus</h2>
<p>Faire Lösungen mit beidseitigem Nutzen erkennen und begründen.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Win-Win-Strategie</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_win_win_strategie.json" defer></script>
</body>
</html>
@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>Wirtschaftssektoren - FinalFlux AP1</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-page">
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<main>
<a href="/finalflux" class="back-link">Zurück zu FinalFlux</a>
<h1>Wirtschaftssektoren</h1>
<section>
<h2>Lernfokus</h2>
<p>Primär-, Sekundär- und Tertiärsektor unterscheiden.</p>
<ul class="key-list">
<li>Begriffe sicher einordnen.</li>
<li>Rechen- oder Bewertungsweg nachvollziehbar darstellen.</li>
<li>Entscheidung prüfungstauglich begründen.</li>
</ul>
</section>
<section>
<h2>Prüfungsmodus</h2>
<p>Dieser FluxCheck führt dich durch die wichtigsten AP1-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.</p>
</section>
<section class="finalflux-test" data-finalflux-test aria-live="polite">
<div class="test-meta">
<span data-question-counter>Frage 1</span>
<span data-score-counter>0 richtig</span>
</div>
<div class="category-block">
<p class="eyebrow">Kategorie</p>
<h2 data-category-title>Wirtschaftssektoren</h2>
<p data-category-hint>AP1-Training</p>
</div>
<div class="question-card">
<h3 data-question-text></h3>
<div data-answer-options class="answer-options"></div>
<div data-answer-feedback class="fluxcheck-result"></div>
</div>
<div class="test-actions">
<button type="button" data-check-answer>Antwort prüfen</button>
<button type="button" data-skip-question class="secondary">Überspringen</button>
<button type="button" data-next-question class="secondary" disabled>Weiter</button>
</div>
</section>
<section data-test-result class="finalflux-panel" hidden>
<h2>Auswertung</h2>
<p data-result-summary></p>
<ul data-category-summary class="key-list"></ul>
<div class="finalflux-actions">
<button type="button" data-restart-test>Test neu starten</button>
<a href="/finalflux">Zurück zur Übersicht</a>
</div>
</section>
</main>
<script src="/js/finalflux-test.js" data-questions-src="/finalflux/questions/wirtschaft_wirtschaftssektoren.json" defer></script>
</body>
</html>
+1
View File
@@ -0,0 +1 @@
It works!
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

@@ -0,0 +1,29 @@
document.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('[data-fluxcheck]').forEach((check) => {
const button = check.querySelector('button');
const result = check.querySelector('.fluxcheck-result');
if (!button || !result) {
return;
}
button.addEventListener('click', () => {
const selected = check.querySelector('input[type="radio"]:checked');
if (!selected) {
result.textContent = 'Wähle zuerst eine Antwort aus.';
result.className = 'fluxcheck-result wrong';
return;
}
const expected = check.dataset.answer;
const explanation = check.dataset.explanation || '';
const isCorrect = selected.value === expected;
result.textContent = isCorrect
? 'Richtig. ' + explanation
: 'Noch nicht. ' + explanation;
result.className = 'fluxcheck-result ' + (isCorrect ? 'correct' : 'wrong');
});
});
});
@@ -0,0 +1,179 @@
document.addEventListener('DOMContentLoaded', async () => {
const script = document.querySelector('script[data-questions-src]');
const testRoot = document.querySelector('[data-finalflux-test]');
if (!script || !testRoot) {
return;
}
const elements = {
questionCounter: testRoot.querySelector('[data-question-counter]'),
scoreCounter: testRoot.querySelector('[data-score-counter]'),
categoryTitle: testRoot.querySelector('[data-category-title]'),
categoryHint: testRoot.querySelector('[data-category-hint]'),
questionText: testRoot.querySelector('[data-question-text]'),
answerOptions: testRoot.querySelector('[data-answer-options]'),
answerFeedback: testRoot.querySelector('[data-answer-feedback]'),
checkAnswer: testRoot.querySelector('[data-check-answer]'),
skipQuestion: testRoot.querySelector('[data-skip-question]'),
nextQuestion: testRoot.querySelector('[data-next-question]'),
testResult: document.querySelector('[data-test-result]'),
resultSummary: document.querySelector('[data-result-summary]'),
categorySummary: document.querySelector('[data-category-summary]'),
restartTest: document.querySelector('[data-restart-test]')
};
let questions = [];
let currentIndex = 0;
let score = 0;
let answered = false;
const categoryStats = new Map();
function setError(message) {
elements.questionText.textContent = message;
elements.answerOptions.innerHTML = '';
elements.checkAnswer.disabled = true;
elements.skipQuestion.disabled = true;
elements.nextQuestion.disabled = true;
}
function ensureCategory(category) {
if (!categoryStats.has(category)) {
categoryStats.set(category, { correct: 0, total: 0, skipped: 0 });
}
return categoryStats.get(category);
}
function renderQuestion() {
const question = questions[currentIndex];
answered = false;
elements.questionCounter.textContent = `Frage ${currentIndex + 1} von ${questions.length}`;
elements.scoreCounter.textContent = `${score} richtig`;
elements.categoryTitle.textContent = question.category;
elements.categoryHint.textContent = question.hint || '';
elements.questionText.textContent = question.text;
elements.answerFeedback.textContent = '';
elements.answerFeedback.className = 'fluxcheck-result';
elements.nextQuestion.disabled = true;
elements.checkAnswer.disabled = false;
elements.skipQuestion.disabled = false;
elements.answerOptions.innerHTML = '';
question.answers.forEach((answer, index) => {
const label = document.createElement('label');
const input = document.createElement('input');
const text = document.createElement('span');
input.type = 'radio';
input.name = 'answer';
input.value = String(index);
text.textContent = answer;
label.append(input, text);
elements.answerOptions.append(label);
});
}
function markAnswered(isCorrect, skipped) {
const question = questions[currentIndex];
const stats = ensureCategory(question.category);
stats.total += 1;
if (skipped) {
stats.skipped += 1;
}
if (isCorrect) {
stats.correct += 1;
score += 1;
}
}
function finishIfDone() {
if (currentIndex < questions.length - 1) {
currentIndex += 1;
renderQuestion();
return;
}
testRoot.hidden = true;
elements.testResult.hidden = false;
elements.resultSummary.textContent = `Du hast ${score} von ${questions.length} Fragen richtig beantwortet.`;
elements.categorySummary.innerHTML = '';
Array.from(categoryStats.entries()).forEach(([category, stats]) => {
const skipped = stats.skipped ? `, ${stats.skipped} übersprungen` : '';
const item = document.createElement('li');
const categoryLabel = document.createElement('strong');
categoryLabel.textContent = `${category}:`;
item.append(categoryLabel, ` ${stats.correct} von ${stats.total} richtig${skipped}`);
elements.categorySummary.append(item);
});
}
elements.checkAnswer.addEventListener('click', () => {
if (answered) {
return;
}
const question = questions[currentIndex];
const selected = elements.answerOptions.querySelector('input[type="radio"]:checked');
if (!selected) {
elements.answerFeedback.textContent = 'Wähle zuerst eine Antwort aus oder überspringe die Frage.';
elements.answerFeedback.className = 'fluxcheck-result wrong';
return;
}
const isCorrect = Number(selected.value) === question.correct;
markAnswered(isCorrect, false);
answered = true;
elements.answerFeedback.textContent = (isCorrect ? 'Richtig. ' : 'Noch nicht. ') + question.explanation;
elements.answerFeedback.className = 'fluxcheck-result ' + (isCorrect ? 'correct' : 'wrong');
elements.scoreCounter.textContent = `${score} richtig`;
elements.nextQuestion.disabled = false;
elements.checkAnswer.disabled = true;
elements.skipQuestion.disabled = true;
});
elements.skipQuestion.addEventListener('click', () => {
if (!answered) {
markAnswered(false, true);
}
finishIfDone();
});
elements.nextQuestion.addEventListener('click', finishIfDone);
elements.restartTest.addEventListener('click', () => {
currentIndex = 0;
score = 0;
categoryStats.clear();
testRoot.hidden = false;
elements.testResult.hidden = true;
renderQuestion();
});
try {
const response = await fetch(script.dataset.questionsSrc);
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const payload = await response.json();
questions = Array.isArray(payload) ? payload : payload.questions;
if (!Array.isArray(questions) || questions.length === 0) {
setError('Dieser Fragenkatalog enthält noch keine Fragen.');
return;
}
renderQuestion();
} catch (error) {
console.error(error);
setError('Der Fragenkatalog konnte nicht geladen werden.');
}
});
+306
View File
@@ -0,0 +1,306 @@
/* MindMatch – Lern-Memory (Begriff <-> Bedeutung).
Decks kommen aus der DB-API (/api/mindmatch/decks), Highscore aus /api/games/mindmatch. */
(() => {
'use strict';
const GAME = 'mindmatch';
const board = document.getElementById('mm-board');
const deckSelect = document.getElementById('mm-deck');
const newBtn = document.getElementById('mm-new');
const cancelBtn = document.getElementById('mm-cancel');
const movesEl = document.getElementById('mm-moves');
const timeEl = document.getElementById('mm-time');
const pairsEl = document.getElementById('mm-pairs');
const bestEl = document.getElementById('mm-best');
const resultEl = document.getElementById('mm-result');
const resultStars = document.getElementById('mm-result-stars');
const resultScore = document.getElementById('mm-result-score');
const resultDetail= document.getElementById('mm-result-detail');
const resultHigh = document.getElementById('mm-result-highscore');
const againBtn = document.getElementById('mm-again');
const decksBySlug = new Map(); // slug -> [{term, match}]
// Laufender Spielzustand
let pairs = [];
let totalPairs = 0;
let firstCard = null; // erste aufgedeckte, noch nicht zugeordnete Karte
let lock = false; // Eingabesperre während der Auswertung
let moves = 0;
let matched = 0;
let seconds = 0;
let timerId = null;
let running = false; // läuft gerade eine Runde? (steuert den Abbrechen-Button)
/* Punkteformel – identisch zu GameScoreService.calculateScore (Server bleibt autoritativ). */
function calculateScore(p, mv, secs) {
if (p <= 0) return 0;
const safeMoves = Math.max(mv, p);
const safeSecs = Math.max(secs, 0);
const accuracy = Math.round(1000 * p / safeMoves);
const timeBonus = Math.max(0, 500 - safeSecs * 5);
return accuracy + timeBonus;
}
function starsFor(p, mv) {
if (mv <= Math.ceil(p * 1.4)) return 3;
if (mv <= p * 2) return 2;
return 1;
}
function formatTime(s) {
return `${Math.floor(s / 60)}:${String(s % 60).padStart(2, '0')}`;
}
function shuffle(arr) {
for (let i = arr.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[arr[i], arr[j]] = [arr[j], arr[i]];
}
return arr;
}
function startTimer() {
if (timerId) return;
timerId = setInterval(() => {
seconds++;
timeEl.textContent = formatTime(seconds);
}, 1000);
}
function stopTimer() {
clearInterval(timerId);
timerId = null;
}
function resetHud() {
seconds = 0; moves = 0; matched = 0;
timeEl.textContent = '0:00';
movesEl.textContent = '0';
pairsEl.textContent = '0 / 0';
}
/* Leeres Brett mit Hinweis; räumt die per-JS gesetzten Grid-Inline-Styles ab. */
function setIdle(message) {
board.style.gridTemplateColumns = '';
board.style.maxWidth = '';
board.innerHTML = '';
const hint = document.createElement('p');
hint.className = 'mm-idle';
hint.textContent = message;
board.appendChild(hint);
}
function buildCards(pairList) {
const cards = [];
pairList.forEach((pair, index) => {
cards.push({ pairId: index, kind: 'term', text: pair.term });
cards.push({ pairId: index, kind: 'def', text: pair.match });
});
return shuffle(cards);
}
function createCard(data) {
const card = document.createElement('button');
card.type = 'button';
card.className = 'mm-card';
card.dataset.pairId = String(data.pairId);
card.innerHTML =
'<span class="mm-card-inner">' +
'<span class="mm-card-face mm-card-front">⚡</span>' +
'<span class="mm-card-face mm-card-back mm-' + data.kind + '">' +
'<span class="mm-kind">' + (data.kind === 'term' ? 'Begriff' : 'Bedeutung') + '</span>' +
'<span class="mm-text"></span>' +
'</span>' +
'</span>';
card.querySelector('.mm-text').textContent = data.text; // sicher gegen HTML im Text
card.addEventListener('click', () => onCardClick(card));
return card;
}
function renderBoard(cards) {
board.innerHTML = '';
// Spaltenzahl ~ Wurzel der Kartenzahl; die Reihenhöhe regelt das CSS (grid-auto-rows: 1fr),
// sodass das ganze Brett ohne Scrollen in die feste Stage-Höhe passt.
const cols = Math.ceil(Math.sqrt(cards.length));
board.style.gridTemplateColumns = `repeat(${cols}, minmax(0, 1fr))`;
board.style.maxWidth = (cols * 220) + 'px';
cards.forEach((data) => board.appendChild(createCard(data)));
}
function onCardClick(card) {
if (lock) return;
if (card.classList.contains('flipped') || card.classList.contains('matched')) return;
startTimer();
card.classList.add('flipped');
if (!firstCard) {
firstCard = card;
return;
}
// zweite Karte -> ein Zug
moves++;
movesEl.textContent = String(moves);
const a = firstCard;
const b = card;
if (a.dataset.pairId === b.dataset.pairId) {
a.classList.add('matched');
b.classList.add('matched');
firstCard = null;
matched++;
pairsEl.textContent = `${matched} / ${totalPairs}`;
if (matched === totalPairs) {
finish();
}
} else {
lock = true;
a.classList.add('wrong');
b.classList.add('wrong');
setTimeout(() => {
a.classList.remove('flipped', 'wrong');
b.classList.remove('flipped', 'wrong');
firstCard = null;
lock = false;
}, 900);
}
}
async function finish() {
stopTimer();
running = false;
cancelBtn.hidden = true;
const localScore = calculateScore(totalPairs, moves, seconds);
const starCount = starsFor(totalPairs, moves);
resultStars.textContent = '★'.repeat(starCount) + '☆'.repeat(3 - starCount);
resultScore.textContent = String(localScore);
resultDetail.textContent = `${totalPairs} Paare · ${moves} Züge · ${formatTime(seconds)}`;
resultHigh.hidden = true;
resultEl.hidden = false;
try {
const res = await fetch(`/api/games/${GAME}/scores`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
deck: deckSelect.value,
pairs: totalPairs,
moves: moves,
durationSeconds: seconds
})
});
if (res.ok) {
const data = await res.json();
resultScore.textContent = String(data.score); // Server ist autoritativ
resultHigh.hidden = !data.newHighscore;
bestEl.textContent = String(data.highscore);
}
} catch (err) {
console.error('Score konnte nicht gespeichert werden:', err);
}
}
/* Laufendes Spiel abbrechen: Timer stoppen, Zustand zurücksetzen, KEIN Score-POST. */
function cancelGame() {
if (!running) return;
// Rückfrage nur, wenn schon etwas passiert ist (kein Nerv-Dialog auf frischem Brett).
const touched = moves > 0 || matched > 0 || seconds > 0 || firstCard !== null;
if (touched && !window.confirm(
'Aktuelles Spiel wirklich abbrechen? Der Fortschritt geht verloren und wird nicht gespeichert.')) {
return;
}
stopTimer();
resetHud();
running = false;
firstCard = null;
lock = false;
resultEl.hidden = true;
cancelBtn.hidden = true;
setIdle('Spiel abgebrochen – wähle ein Deck und starte ein neues Spiel.');
}
async function loadStats() {
try {
const res = await fetch(`/api/games/${GAME}/stats`);
if (!res.ok) return;
const stats = await res.json();
bestEl.textContent = stats.highscore > 0 ? String(stats.highscore) : '–';
} catch (err) {
/* still ohne Highscore weiter */
}
}
function newGame() {
const slug = deckSelect.value;
const deckPairs = decksBySlug.get(slug);
stopTimer();
running = false;
cancelBtn.hidden = true;
resetHud();
resultEl.hidden = true;
firstCard = null;
lock = false;
if (!deckPairs || !deckPairs.length) {
setIdle('Dieses Deck hat noch keine Paare.');
return;
}
pairs = deckPairs;
totalPairs = pairs.length;
pairsEl.textContent = `0 / ${totalPairs}`;
renderBoard(buildCards(pairs));
running = true;
cancelBtn.hidden = false;
}
async function loadDecks() {
const res = await fetch('/api/mindmatch/decks');
if (!res.ok) throw new Error(`HTTP ${res.status}`);
return res.json();
}
async function init() {
let decks = [];
try {
decks = await loadDecks();
} catch (err) {
console.error('Decks konnten nicht geladen werden:', err);
}
deckSelect.innerHTML = '';
decksBySlug.clear();
decks.forEach((deck) => {
decksBySlug.set(deck.slug, deck.pairs || []);
const option = document.createElement('option');
option.value = deck.slug;
option.textContent = deck.title;
deckSelect.appendChild(option);
});
newBtn.addEventListener('click', newGame);
againBtn.addEventListener('click', newGame);
cancelBtn.addEventListener('click', cancelGame);
deckSelect.addEventListener('change', newGame);
await loadStats();
if (decks.length) {
newGame();
} else {
setIdle('Noch keine Decks vorhanden. Ein Admin kann sie unter „MindMatch-Decks verwalten“ anlegen.');
}
}
init();
})();
+267
View File
@@ -0,0 +1,267 @@
/* TechTacular – IT-Quizduell im Jeopardy-Stil.
Board kommt aus /api/techtacular/board (ohne Lösung), Prüfung + Score serverseitig. */
(() => {
'use strict';
const GAME = 'techtacular';
const boardEl = document.getElementById('tt-board');
const newBtn = document.getElementById('tt-new');
const finishBtn = document.getElementById('tt-finish');
const cancelBtn = document.getElementById('tt-cancel');
const scoreEl = document.getElementById('tt-score');
const answeredEl= document.getElementById('tt-answered');
const timeEl = document.getElementById('tt-time');
const bestEl = document.getElementById('tt-best');
const qOverlay = document.getElementById('tt-question');
const qCat = document.getElementById('tt-q-cat');
const qPoints = document.getElementById('tt-q-points');
const qText = document.getElementById('tt-q-text');
const qAnswers = document.getElementById('tt-q-answers');
const qFeedback = document.getElementById('tt-q-feedback');
const qNext = document.getElementById('tt-q-next');
const resultEl = document.getElementById('tt-result');
const resultScore = document.getElementById('tt-result-score');
const resultMax = document.getElementById('tt-result-max');
const resultDetail= document.getElementById('tt-result-detail');
const resultHigh = document.getElementById('tt-result-high');
const againBtn = document.getElementById('tt-again');
let board = null;
let previousIds = []; // Frage-IDs der Vorrunde -> werden im nächsten Board vermieden
let tiles = []; // Tile-Zustände {data, categoryTitle, answered, correct, el}
let answeredCount = 0;
let score = 0;
let seconds = 0;
let timerId = null;
let running = false;
let current = null; // gerade offene Kachel
const submitted = []; // {questionId, answerId} für /finish
function formatTime(s) {
return `${Math.floor(s / 60)}:${String(s % 60).padStart(2, '0')}`;
}
function startTimer() {
if (timerId) return;
timerId = setInterval(() => { seconds++; timeEl.textContent = formatTime(seconds); }, 1000);
}
function stopTimer() { clearInterval(timerId); timerId = null; }
function setIdle(message) {
boardEl.style.gridTemplateColumns = '';
boardEl.innerHTML = `<p class="tt-idle">${message}</p>`;
}
function updateHud() {
scoreEl.textContent = String(score);
answeredEl.textContent = `${answeredCount} / ${tiles.length}`;
}
function renderBoard() {
boardEl.innerHTML = '';
boardEl.style.gridTemplateColumns = `repeat(${board.categories.length}, 1fr)`;
tiles = [];
board.categories.forEach((category) => {
const col = document.createElement('div');
col.className = 'tt-col';
const title = document.createElement('div');
title.className = 'tt-cat-title';
title.textContent = category.title;
col.appendChild(title);
category.tiles.forEach((tileData) => {
const tileEl = document.createElement('button');
tileEl.type = 'button';
tileEl.className = 'tt-tile';
tileEl.textContent = String(tileData.points);
const state = { data: tileData, categoryTitle: category.title, answered: false, correct: false, el: tileEl };
tileEl.addEventListener('click', () => openTile(state));
tiles.push(state);
col.appendChild(tileEl);
});
boardEl.appendChild(col);
});
}
function openTile(state) {
if (!running || state.answered || current) return;
current = state;
qCat.textContent = state.categoryTitle;
qPoints.textContent = String(state.data.points);
qText.textContent = state.data.text;
qFeedback.textContent = '';
qFeedback.className = 'tt-q-feedback';
qNext.hidden = true;
qAnswers.innerHTML = '';
state.data.answers.forEach((answer) => {
const btn = document.createElement('button');
btn.type = 'button';
btn.className = 'tt-answer';
btn.textContent = `Was ist ${answer.text}?`;
btn.addEventListener('click', () => chooseAnswer(state, answer.id, btn));
qAnswers.appendChild(btn);
});
qOverlay.hidden = false;
}
async function chooseAnswer(state, answerId, btn) {
if (state.answered) return;
state.answered = true; // sofort sperren (eine Antwort pro Frage)
const buttons = Array.from(qAnswers.querySelectorAll('.tt-answer'));
buttons.forEach((b) => { b.disabled = true; });
submitted.push({ questionId: state.data.questionId, answerId });
try {
const res = await fetch('/api/techtacular/answer', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ questionId: state.data.questionId, answerId })
});
const data = await res.json();
state.correct = data.correct;
// richtige Antwort grün, eigene falsche rot markieren
state.data.answers.forEach((answer, i) => {
if (answer.id === data.correctAnswerId) buttons[i].classList.add('correct');
});
if (!data.correct) btn.classList.add('wrong');
const correctTerm = (state.data.answers.find((a) => a.id === data.correctAnswerId) || {}).text || '';
if (data.correct) {
score += data.points;
qFeedback.textContent = `Richtig! +${data.points}. ${data.explanation || ''}`.trim();
qFeedback.className = 'tt-q-feedback correct';
} else {
qFeedback.textContent = `Falsch – richtig: „Was ist ${correctTerm}?“. ${data.explanation || ''}`.trim();
qFeedback.className = 'tt-q-feedback wrong';
}
updateHud();
} catch (err) {
qFeedback.textContent = 'Antwort konnte nicht geprüft werden.';
qFeedback.className = 'tt-q-feedback wrong';
console.error(err);
}
qNext.hidden = false;
}
function closeQuestion() {
if (!current) return;
const state = current;
current = null;
qOverlay.hidden = true;
state.el.classList.add('answered', state.correct ? 'correct' : 'wrong');
state.el.textContent = state.correct ? `✓ ${state.data.points}` : '✗';
answeredCount++;
updateHud();
if (answeredCount === tiles.length) {
finishGame();
}
}
async function finishGame() {
if (!running) return;
running = false;
stopTimer();
finishBtn.hidden = true;
cancelBtn.hidden = true;
try {
const res = await fetch('/api/techtacular/finish', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ durationSeconds: seconds, answers: submitted })
});
const data = await res.json();
resultScore.textContent = String(data.score);
resultMax.textContent = String(data.maxScore);
resultDetail.textContent =
`${data.correctCount} von ${data.totalCount} Fragen richtig · ${formatTime(seconds)}`;
resultHigh.hidden = !data.newHighscore;
bestEl.textContent = String(data.highscore);
resultEl.hidden = false;
} catch (err) {
console.error('Runde konnte nicht gespeichert werden:', err);
}
}
function cancelGame() {
if (!running) return;
if (answeredCount > 0 && !window.confirm(
'Aktuelle Runde wirklich abbrechen? Sie wird nicht gespeichert.')) {
return;
}
running = false;
current = null;
stopTimer();
qOverlay.hidden = true;
finishBtn.hidden = true;
cancelBtn.hidden = true;
setIdle('Runde abgebrochen – klicke „Neues Spiel“ für ein frisches Board.');
}
async function loadStats() {
try {
const res = await fetch(`/api/games/${GAME}/stats`);
if (!res.ok) return;
const stats = await res.json();
bestEl.textContent = stats.highscore > 0 ? String(stats.highscore) : '–';
} catch (err) { /* egal */ }
}
async function newGame() {
stopTimer();
seconds = 0; score = 0; answeredCount = 0; current = null;
submitted.length = 0;
timeEl.textContent = '0:00';
resultEl.hidden = true;
qOverlay.hidden = true;
const excludeParam = previousIds.length ? ('?exclude=' + previousIds.join(',')) : '';
try {
const res = await fetch('/api/techtacular/board' + excludeParam);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
board = await res.json();
} catch (err) {
console.error('Board konnte nicht geladen werden:', err);
setIdle('Board konnte nicht geladen werden.');
return;
}
if (!board.categories || !board.categories.length) {
setIdle('Noch keine Kategorien vorhanden. Ein Admin kann sie unter „TechTacular verwalten“ anlegen.');
return;
}
renderBoard();
previousIds = board.categories.flatMap((c) => c.tiles.map((t) => t.questionId));
updateHud();
running = true;
finishBtn.hidden = false;
cancelBtn.hidden = false;
startTimer();
}
newBtn.addEventListener('click', newGame);
againBtn.addEventListener('click', newGame);
finishBtn.addEventListener('click', finishGame);
cancelBtn.addEventListener('click', cancelGame);
qNext.addEventListener('click', closeQuestion);
loadStats();
newGame();
})();
+34
View File
@@ -0,0 +1,34 @@
/* Mindflux Theme – Dark/Light-Umschaltung, zentral.
Im <head> einbinden (ohne defer), dann setzt es das Theme vor dem Rendern (kein Flash).
Jeder Button mit Klasse .mf-theme wird automatisch zum Umschalter. */
(function () {
var KEY = 'mf-theme';
function read() { try { return localStorage.getItem(KEY) || 'dark'; } catch (e) { return 'dark'; } }
function apply(mode) { document.documentElement.setAttribute('data-theme', mode); }
apply(read()); // früh -> kein Aufblitzen
var SUN = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></svg>';
var MOON = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"/></svg>';
function paint() {
var dark = document.documentElement.getAttribute('data-theme') === 'dark';
document.querySelectorAll('.mf-theme').forEach(function (b) { b.innerHTML = dark ? SUN : MOON; });
}
function toggle() {
var next = document.documentElement.getAttribute('data-theme') === 'dark' ? 'light' : 'dark';
apply(next);
try { localStorage.setItem(KEY, next); } catch (e) {}
paint();
}
window.MindfluxTheme = { toggle: toggle, apply: apply };
document.addEventListener('DOMContentLoaded', function () {
document.querySelectorAll('.mf-theme').forEach(function (b) {
b.setAttribute('role', 'button');
b.setAttribute('aria-label', 'Theme umschalten');
b.addEventListener('click', toggle);
});
paint();
});
})();
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,71 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mindflux – Trophäen</title>
<link rel="stylesheet" href="/css/theme.css">
<script src="/js/theme.js"></script>
<style>
.mf-ach-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:1rem; }
.achievement-card { background:var(--surface-2); border:1px solid var(--border); border-radius:13px; padding:1.3rem 1.1rem; text-align:center; transition:transform .16s ease, box-shadow .25s ease; }
.achievement-card.unlocked { border-color:var(--border-accent); box-shadow:0 0 18px var(--glow-w); }
.achievement-card.unlocked:hover { transform:translateY(-4px); box-shadow:0 0 24px var(--glow-s); }
.achievement-card.locked { opacity:.55; }
.achievement-card .trophy-icon { font-size:2.4rem; margin-bottom:.6rem; filter:drop-shadow(0 0 8px var(--glow-s)); }
.achievement-card.locked .trophy-icon { filter:grayscale(1); }
.achievement-card h2 { color:var(--heading); font-size:1.05rem; margin-bottom:.5rem; }
.achievement-card p { color:var(--muted); font-size:.84rem; line-height:1.45; }
.achievement-card .status { margin-top:.7rem; font-weight:700; color:var(--accent); }
.achievement-card.locked .status { color:var(--muted); }
.mf-footer { text-align:center; color:var(--muted); font-size:.82rem; padding:1.6rem 1rem; }
.mf-footer a { color:var(--muted); text-decoration:none; margin:0 .15rem; }
.mf-footer a:hover { color:var(--accent); }
</style>
</head>
<body>
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<div class="mf-container">
<div class="mf-page-head">
<a href="/profile" class="mf-back">⟵ Zurück zum Profil</a>
</div>
<span class="mf-eyebrow">Deine Trophäen</span>
<h1 style="color:var(--heading); font-size:1.9rem; font-weight:800; margin:.3rem 0 .25rem;">🏆 Deine Trophäen</h1>
<p style="color:var(--muted); margin-bottom:1.4rem;">Sammle sie alle und werde zur Legende!</p>
<div class="mf-panel">
<div class="mf-ach-grid">
<div class="achievement-card"
th:each="achievement : ${achievements}"
th:classappend="${achievement.dateAchieved != null} ? ' unlocked' : ' locked'">
<div class="trophy-icon">🏆</div>
<h2 th:text="${achievement.title}">Titel des Erfolgs</h2>
<p th:text="${achievement.description}">Beschreibung des Erfolgs</p>
<p class="status"
th:text="${achievement.dateAchieved != null} ? '✔️ Freigeschaltet' : '🔒 Gesperrt'">
</p>
</div>
</div>
</div>
</div>
<!-- Footer -->
<footer class="mf-footer">
<a href="#">Support</a>
<a href="#">Feedback</a>
<a href="#">Nutzungsbedingungen</a>
<a href="#">Richtlinien</a>
<a href="#">Datenschutz</a>
<a href="#">Impressum</a>
</footer>
</body>
</html>
@@ -0,0 +1,83 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity6">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mindflux Admin Dashboard</title>
<link rel="stylesheet" href="/css/theme.css">
<script src="/js/theme.js"></script>
<style>
.admin-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; margin-top:1.1rem; }
.admin-card {
display:flex; align-items:center; gap:.6rem;
background:var(--surface-2); border:1px solid var(--border-accent); border-radius:13px;
padding:1.1rem 1.2rem; color:var(--heading); text-decoration:none; font-weight:700;
box-shadow:var(--g-soft); transition:transform .16s ease, box-shadow .25s ease, background-color .2s;
}
.admin-card:hover { transform:translateY(-3px); background:var(--surface); box-shadow:0 0 18px var(--glow-s); }
.admin-footer { margin-top:2rem; text-align:center; color:var(--muted); font-size:.85rem; }
.admin-footer a { color:var(--accent); text-decoration:none; }
.admin-footer a:hover { text-decoration:underline; }
</style>
</head>
<body>
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<div class="mf-container">
<div class="mf-page-head">
<a th:href="@{/dashboard}" class="mf-back">⟵ Zurück zum Benutzer-Dashboard</a>
</div>
<header style="margin-bottom:1.4rem">
<div class="mf-eyebrow">Control Center</div>
<h1 style="color:var(--heading); font-size:1.85rem; font-weight:800; margin-top:.35rem">✨ Admin-Dashboard ✨</h1>
<p style="color:var(--muted); margin-top:.4rem">Hier steuerst du das System wie Doc den DeLorean!</p>
</header>
<main>
<div class="mf-panel accent">
<h4>Admin Aktionen</h4>
<div class="admin-actions">
<a th:href="@{/admin/users}" class="admin-card">👤 Benutzer verwalten</a>
<a th:href="@{/admin/mindmatch}" class="admin-card">🧩 MindMatch-Decks verwalten</a>
<a th:href="@{/admin/techtacular}" class="admin-card">🎯 TechTacular-Fragen verwalten</a>
</div>
<p style="margin-top:1.1rem; color:var(--muted);">
Hier entsteht noch Großes... ✨ Bleib dran!
</p>
</div>
</main>
<footer class="mf-footer">
<a href="#">Support</a>
<a href="#">Feedback</a>
<a href="#">Nutzungsbedingungen</a>
<a href="#">Richtlinien</a>
<a href="#">Datenschutz</a>
<a href="#">Impressum</a>
</footer>
</div>
<script>
window.addEventListener('DOMContentLoaded', () => {
const successMessage = document.getElementById('successMessage');
if (successMessage) {
setTimeout(() => {
successMessage.style.opacity = '0';
setTimeout(() => {
successMessage.style.display = 'none';
}, 1500);
}, 3000);
}
});
</script>
</body>
</html>
@@ -0,0 +1,135 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity6">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MindMatch-Verwaltung – Admin</title>
<link rel="stylesheet" href="/css/theme.css">
<script src="/js/theme.js"></script>
<style>
.mmadmin { max-width: 1000px; margin: 0 auto; padding: 0 1rem; width: 100%; }
.mmadmin .deck {
background: var(--surface);
border: 1px solid var(--border);
border-left: 4px solid var(--accent);
border-radius: 14px;
padding: 1.2rem 1.4rem;
margin-bottom: 1.4rem;
box-shadow: var(--g-soft);
}
.mmadmin .deck.inactive { border-left-color: var(--danger); opacity: 0.75; }
.mmadmin .deck-head {
display: flex; align-items: center; flex-wrap: wrap; gap: 0.6rem;
justify-content: space-between; margin-bottom: 0.8rem;
}
.mmadmin .deck-head h2 { color: var(--heading); margin: 0; font-size: 1.25rem; }
.mmadmin .slug { color: var(--accent); font-size: 0.8rem; font-family: monospace; }
.mmadmin .badge {
font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.06em;
padding: 0.18rem 0.5rem; border-radius: 7px; border: 1px solid var(--border-accent);
}
.mmadmin .badge.on { background: var(--glow-w); color: var(--accent); }
.mmadmin .badge.off { background: rgba(255,95,107,.12); color: var(--danger); border-color: var(--danger); }
.mmadmin .pairs { list-style: none; padding: 0; margin: 0 0 0.8rem; }
.mmadmin .pairs li {
display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap;
padding: 0.4rem 0; border-bottom: 1px solid var(--border);
}
.mmadmin .pairs .term { color: var(--accent); font-weight: 700; min-width: 130px; }
.mmadmin .pairs .arrow { color: var(--muted); }
.mmadmin .pairs .def { flex: 1; min-width: 160px; color: var(--text); }
.mmadmin form.inline { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; }
.mmadmin .add-pair { margin-top: 0.6rem; }
.mmadmin .new-deck { margin-bottom: 1.6rem; }
.mmadmin .count { color: var(--muted); font-size: 0.85rem; }
.mmadmin .empty { color: var(--muted); }
.mmadmin .empty.warn { color: var(--danger); }
</style>
</head>
<body>
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<div class="mf-container" style="max-width:1040px">
<div class="mf-page-head">
<a th:href="@{/admin}" class="mf-back">⟵ Zurück zum Admin-Dashboard</a>
</div>
<header style="margin-bottom:1.4rem">
<div class="mf-eyebrow">MindMatch</div>
<h1 style="color:var(--heading); font-size:1.75rem; font-weight:800; margin-top:.35rem">🧩 MindMatch-Verwaltung</h1>
</header>
<main class="mmadmin">
<!-- Neues Deck -->
<div class="mf-panel accent new-deck">
<h4>Neue Kategorie (Deck) anlegen</h4>
<form class="inline" th:action="@{/admin/mindmatch/decks}" method="post">
<input class="mf-input" style="width:auto; min-width:240px" type="text" name="title" placeholder="z. B. SQL-Befehle" required>
<button type="submit" class="mf-btn">➕ Deck anlegen</button>
</form>
</div>
<!-- Decks -->
<div class="deck" th:each="deck : ${decks}" th:classappend="${deck.active} ? '' : 'inactive'">
<div class="deck-head">
<div>
<h2 th:text="${deck.title}">Deck</h2>
<span class="slug" th:text="'/' + ${deck.slug}">/slug</span>
<span class="badge on" th:if="${deck.active}">aktiv</span>
<span class="badge off" th:unless="${deck.active}">inaktiv</span>
<span class="count" th:text="'· ' + ${deck.pairs.size()} + ' Paare'">· 0 Paare</span>
</div>
<div style="display:flex; gap:0.5rem;">
<form th:action="@{'/admin/mindmatch/decks/' + ${deck.id} + '/toggle'}" method="post">
<button type="submit" class="mf-btn outline" th:text="${deck.active} ? 'Deaktivieren' : 'Aktivieren'">Toggle</button>
</form>
<form th:action="@{'/admin/mindmatch/decks/' + ${deck.id} + '/delete'}" method="post"
onsubmit="return confirm('Deck inkl. aller Paare löschen?');">
<button type="submit" class="mf-btn danger">Deck löschen</button>
</form>
</div>
</div>
<ul class="pairs">
<li th:each="pair : ${deck.pairs}">
<span class="term" th:text="${pair.term}">Begriff</span>
<span class="arrow">↔</span>
<span class="def" th:text="${pair.matchText}">Bedeutung</span>
<form th:action="@{'/admin/mindmatch/pairs/' + ${pair.id} + '/delete'}" method="post">
<button type="submit" class="mf-btn danger" style="padding:.35rem .7rem">✕</button>
</form>
</li>
<li th:if="${deck.pairs.isEmpty()}" class="empty warn">Noch keine Paare – unten hinzufügen.</li>
</ul>
<!-- Paar hinzufügen -->
<form class="inline add-pair" th:action="@{'/admin/mindmatch/decks/' + ${deck.id} + '/pairs'}" method="post">
<input class="mf-input" style="width:auto; min-width:200px" type="text" name="term" placeholder="Begriff (z. B. SELECT)" required>
<span class="arrow">↔</span>
<input class="mf-input" style="width:auto; min-width:200px" type="text" name="match" placeholder="Bedeutung (z. B. Daten abfragen)" required>
<button type="submit" class="mf-btn outline">➕ Paar hinzufügen</button>
</form>
</div>
<p th:if="${decks.isEmpty()}" class="empty">Noch keine Decks vorhanden. Lege oben das erste an.</p>
</main>
</div>
<footer class="mf-footer">
<a href="#">Support</a>
<a href="#">Feedback</a>
<a href="#">Nutzungsbedingungen</a>
<a href="#">Richtlinien</a>
<a href="#">Datenschutz</a>
<a href="#">Impressum</a>
</footer>
</body>
</html>
@@ -0,0 +1,139 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity6">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title th:text="${category.title} + ' – TechTacular'">TechTacular-Kategorie</title>
<link rel="stylesheet" href="/css/theme.css">
<script src="/js/theme.js"></script>
<style>
.ttcat { max-width: 1000px; margin: 0 auto; padding: 0 1rem; width: 100%; }
.ttcat .q {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 12px; padding: 0.9rem 1.1rem; margin-bottom: 0.7rem;
box-shadow: var(--g-soft);
}
.ttcat .q-head { display: flex; align-items: center; gap: 0.6rem; justify-content: space-between; }
.ttcat .points {
background: var(--glow-w); color: var(--accent); font-weight: 800;
border: 1px solid var(--border-accent);
border-radius: 7px; padding: 0.14rem 0.5rem; font-size: 0.85rem;
}
.ttcat .q-text { color: var(--heading); font-weight: 600; margin: 0.2rem 0 0.5rem; }
.ttcat ul.ans { list-style: none; padding: 0; margin: 0; }
.ttcat ul.ans li { color: var(--text); padding: 0.15rem 0; }
.ttcat ul.ans li.correct { color: var(--accent); font-weight: 700; }
.ttcat ul.ans li.correct::before { content: "✓ "; }
.ttcat .expl { color: var(--muted); font-size: 0.85rem; margin-top: 0.4rem; }
.ttcat .addbox { margin-top: 1.6rem; }
.ttcat .field { margin-bottom: 0.7rem; display: flex; flex-direction: column; gap: 0.35rem; }
.ttcat .field > label { color: var(--accent); font-weight: 700; font-size: 0.85rem; }
.ttcat .ans-row { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.5rem; }
.ttcat .ans-row input[type="text"] { flex: 1; }
.ttcat .ans-row label { color: var(--accent); font-size: 0.82rem; white-space: nowrap; display: flex; align-items: center; gap: 0.3rem; }
.ttcat .hint { color: var(--muted); font-size: 0.82rem; margin-bottom: 0.8rem; line-height: 1.5; }
.ttcat .hint strong { color: var(--text); }
.ttcat .empty { color: var(--danger); }
</style>
</head>
<body>
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<div class="mf-container" style="max-width:1040px">
<div class="mf-page-head">
<a th:href="@{/admin/techtacular}" class="mf-back">⟵ Zurück zur Kategorienliste</a>
</div>
<header style="margin-bottom:1.4rem">
<div class="mf-eyebrow">TechTacular · Kategorie</div>
<h1 style="color:var(--heading); font-size:1.75rem; font-weight:800; margin-top:.35rem" th:text="'🎯 ' + ${category.title}">Kategorie</h1>
</header>
<main class="ttcat">
<!-- Vorhandene Fragen -->
<div class="q" th:each="q : ${category.questions}">
<div class="q-head">
<span class="points" th:text="${q.points} + ' Pkt'">100 Pkt</span>
<form th:action="@{'/admin/techtacular/questions/' + ${q.id} + '/delete'}" method="post"
onsubmit="return confirm('Frage löschen?');">
<input type="hidden" name="categoryId" th:value="${category.id}">
<button type="submit" class="mf-btn danger">✕ Frage löschen</button>
</form>
</div>
<p class="q-text" th:text="${q.text}">Fragetext</p>
<ul class="ans">
<li th:each="a : ${q.answers}" th:text="${a.text}" th:classappend="${a.correct} ? 'correct' : ''">Antwort</li>
</ul>
<p class="expl" th:if="${q.explanation}" th:text="'Erklärung: ' + ${q.explanation}">Erklärung</p>
</div>
<p th:if="${category.questions.isEmpty()}" class="empty">Noch keine Fragen – unten hinzufügen.</p>
<!-- Frage hinzufügen -->
<div class="mf-panel accent addbox">
<h4>Hinweis hinzufügen</h4>
<p class="hint">Jeopardy umgekehrt: Der <strong>Hinweis</strong> ist eine Aussage. Trage die gesuchten
<strong>Begriffe</strong> ein und markiere die <strong>Lösung</strong> mit „richtig“. Im Spiel
erscheinen die Begriffe als „Was ist …?“. Mindestens zwei Begriffe.</p>
<form th:action="@{'/admin/techtacular/categories/' + ${category.id} + '/questions'}" method="post">
<div class="field">
<label>Hinweis (Aussage)</label>
<input class="mf-input" type="text" name="text" placeholder="z. B. Dieses Protokoll übersetzt Domainnamen in IP-Adressen." required>
</div>
<div class="field">
<label>Erklärung (optional)</label>
<input class="mf-input" type="text" name="explanation" placeholder="kurze Begründung">
</div>
<div class="field">
<label>Punkte (Schwierigkeit)</label>
<select class="mf-select" name="points">
<option value="100">100</option>
<option value="200">200</option>
<option value="300">300</option>
<option value="400">400</option>
<option value="500">500</option>
</select>
</div>
<div class="ans-row">
<label><input type="radio" name="correct" value="0" checked> Lösung</label>
<input class="mf-input" type="text" name="answer1" placeholder="Begriff 1 (z. B. DNS)" required>
</div>
<div class="ans-row">
<label><input type="radio" name="correct" value="1"> Lösung</label>
<input class="mf-input" type="text" name="answer2" placeholder="Begriff 2" required>
</div>
<div class="ans-row">
<label><input type="radio" name="correct" value="2"> Lösung</label>
<input class="mf-input" type="text" name="answer3" placeholder="Begriff 3 (optional)">
</div>
<div class="ans-row">
<label><input type="radio" name="correct" value="3"> Lösung</label>
<input class="mf-input" type="text" name="answer4" placeholder="Begriff 4 (optional)">
</div>
<button type="submit" class="mf-btn" style="margin-top:.4rem">➕ Hinweis speichern</button>
</form>
</div>
</main>
</div>
<footer class="mf-footer">
<a href="#">Support</a>
<a href="#">Feedback</a>
<a href="#">Nutzungsbedingungen</a>
<a href="#">Richtlinien</a>
<a href="#">Datenschutz</a>
<a href="#">Impressum</a>
</footer>
</body>
</html>
@@ -0,0 +1,96 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity6">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TechTacular-Verwaltung – Admin</title>
<link rel="stylesheet" href="/css/theme.css">
<script src="/js/theme.js"></script>
<style>
.ttadmin { max-width: 1000px; margin: 0 auto; padding: 0 1rem; width: 100%; }
.ttadmin .new-cat { margin-bottom: 1.6rem; }
.ttadmin .cat {
display: flex; align-items: center; flex-wrap: wrap; gap: 0.6rem;
justify-content: space-between;
background: var(--surface);
border: 1px solid var(--border);
border-left: 4px solid var(--accent);
border-radius: 12px; padding: 0.9rem 1.1rem; margin-bottom: 0.7rem;
box-shadow: var(--g-soft);
}
.ttadmin .cat.inactive { border-left-color: var(--danger); opacity: 0.7; }
.ttadmin .cat h2 { color: var(--heading); margin: 0; font-size: 1.1rem; }
.ttadmin .slug { color: var(--accent); font-size: 0.78rem; font-family: monospace; }
.ttadmin .count { color: var(--muted); font-size: 0.85rem; }
.ttadmin .badge { font-size: 0.68rem; text-transform: uppercase; padding: 0.14rem 0.45rem; border-radius: 7px; border: 1px solid var(--border-accent); }
.ttadmin .badge.on { background: var(--glow-w); color: var(--accent); }
.ttadmin .badge.off { background: rgba(255,95,107,.12); color: var(--danger); border-color: var(--danger); }
.ttadmin .actions { display: flex; gap: 0.45rem; flex-wrap: wrap; align-items: center; }
.ttadmin form.inline { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; }
.ttadmin .empty { color: var(--muted); }
</style>
</head>
<body>
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<div class="mf-container" style="max-width:1040px">
<div class="mf-page-head">
<a th:href="@{/admin}" class="mf-back">⟵ Zurück zum Admin-Dashboard</a>
</div>
<header style="margin-bottom:1.4rem">
<div class="mf-eyebrow">TechTacular</div>
<h1 style="color:var(--heading); font-size:1.75rem; font-weight:800; margin-top:.35rem">🎯 TechTacular-Verwaltung</h1>
</header>
<main class="ttadmin">
<div class="mf-panel accent new-cat">
<h4>Neue Kategorie anlegen</h4>
<form class="inline" th:action="@{/admin/techtacular/categories}" method="post">
<input class="mf-input" style="width:auto; min-width:240px" type="text" name="title" placeholder="z. B. Datenbanken" required>
<button type="submit" class="mf-btn">➕ Kategorie anlegen</button>
</form>
</div>
<div class="cat" th:each="cat : ${categories}" th:classappend="${cat.active} ? '' : 'inactive'">
<div>
<h2 th:text="${cat.title}">Kategorie</h2>
<span class="slug" th:text="'/' + ${cat.slug}">/slug</span>
<span class="badge on" th:if="${cat.active}">aktiv</span>
<span class="badge off" th:unless="${cat.active}">inaktiv</span>
<span class="count" th:text="'· ' + ${cat.questionCount} + ' Fragen'">· 0 Fragen</span>
</div>
<div class="actions">
<a class="mf-btn" th:href="@{'/admin/techtacular/categories/' + ${cat.id}}">Fragen verwalten</a>
<form th:action="@{'/admin/techtacular/categories/' + ${cat.id} + '/toggle'}" method="post">
<button type="submit" class="mf-btn outline" th:text="${cat.active} ? 'Deaktivieren' : 'Aktivieren'">Toggle</button>
</form>
<form th:action="@{'/admin/techtacular/categories/' + ${cat.id} + '/delete'}" method="post"
onsubmit="return confirm('Kategorie inkl. aller Fragen löschen?');">
<button type="submit" class="mf-btn danger">Löschen</button>
</form>
</div>
</div>
<p th:if="${categories.isEmpty()}" class="empty">Noch keine Kategorien. Lege oben die erste an.</p>
</main>
</div>
<footer class="mf-footer">
<a href="#">Support</a>
<a href="#">Feedback</a>
<a href="#">Nutzungsbedingungen</a>
<a href="#">Richtlinien</a>
<a href="#">Datenschutz</a>
<a href="#">Impressum</a>
</footer>
</body>
</html>
@@ -0,0 +1,67 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity6">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Benutzer bearbeiten</title>
<link rel="stylesheet" href="/css/theme.css">
<script src="/js/theme.js"></script>
</head>
<body>
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<div class="mf-container" style="max-width:560px">
<div class="mf-page-head">
<a th:href="@{/admin/users}" class="mf-back">⟵ Zurück zur Benutzerliste</a>
</div>
<header style="margin-bottom:1.4rem">
<div class="mf-eyebrow">Benutzer</div>
<h1 style="color:var(--heading); font-size:1.75rem; font-weight:800; margin-top:.35rem">✏️ Benutzer bearbeiten</h1>
</header>
<main>
<form th:action="@{/admin/users/save}" th:object="${user}" method="post" class="mf-panel">
<input type="hidden" th:field="*{id}" />
<div class="mf-field">
<label class="mf-label">Benutzername</label>
<input class="mf-input" type="text" th:field="*{username}" required/>
</div>
<div class="mf-field">
<label class="mf-label">Passwort</label>
<input class="mf-input" type="password" name="password" th:required="${user.id == null}" autocomplete="new-password"/>
</div>
<div class="mf-field">
<label class="mf-label">E-Mail</label>
<input class="mf-input" type="email" th:field="*{email}" required/>
</div>
<div class="mf-field">
<label class="mf-label">Rolle</label>
<input class="mf-input" type="text" th:field="*{role}" required/>
</div>
<button type="submit" class="mf-btn" style="margin-top:.4rem">Speichern</button>
</form>
</main>
</div>
<footer class="mf-footer">
<a href="#">Support</a>
<a href="#">Feedback</a>
<a href="#">Nutzungsbedingungen</a>
<a href="#">Richtlinien</a>
<a href="#">Datenschutz</a>
<a href="#">Impressum</a>
</footer>
</body>
</html>
@@ -0,0 +1,70 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity6">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Benutzerverwaltung</title>
<link rel="stylesheet" href="/css/theme.css">
<script src="/js/theme.js"></script>
</head>
<body>
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<div class="mf-container">
<div class="mf-page-head">
<a th:href="@{/dashboard}" class="mf-back">⟵ Zurück zum Dashboard</a>
</div>
<header style="display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:1.4rem">
<div>
<div class="mf-eyebrow">Benutzer</div>
<h1 style="color:var(--heading); font-size:1.75rem; font-weight:800; margin-top:.35rem">👥 Benutzerverwaltung</h1>
</div>
<a th:href="@{/admin/users/new}" class="mf-btn">➕ Neuen Benutzer anlegen</a>
</header>
<main>
<div class="mf-panel">
<table class="mf-table">
<thead>
<tr>
<th>ID</th>
<th>Benutzername</th>
<th>Email</th>
<th>Aktionen</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${users}">
<td th:text="${user.id}">1</td>
<td th:text="${user.username}">Max</td>
<td th:text="${user.email}">max@mindflux.de</td>
<td style="display:flex; gap:.5rem; flex-wrap:wrap;">
<a th:href="@{'/admin/users/edit/' + ${user.id}}" class="mf-btn outline">Bearbeiten</a>
<form th:action="@{'/admin/users/delete/' + ${user.id}}" method="post" style="display:inline;">
<button type="submit" class="mf-btn danger">Löschen</button>
</form>
</td>
</tr>
</tbody>
</table>
</div>
</main>
</div>
<footer class="mf-footer">
<a href="#">Support</a>
<a href="#">Feedback</a>
<a href="#">Nutzungsbedingungen</a>
<a href="#">Richtlinien</a>
<a href="#">Datenschutz</a>
<a href="#">Impressum</a>
</footer>
</body>
</html>
+207
View File
@@ -0,0 +1,207 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity6">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mindflux Dashboard</title>
<link rel="stylesheet" href="/css/theme.css">
<script src="/js/theme.js"></script>
<style>
/* Dashboard-spezifische Widgets (rechte Spalte) */
.gauge { display:flex; flex-direction:column; align-items:center; gap:.2rem; }
.gauge svg { width:130px; height:130px; }
.gauge .ok { color:var(--accent); font-weight:800; font-size:1rem; letter-spacing:.05em; margin-top:.3rem; text-shadow:0 0 12px var(--glow-s); }
.gauge .op { color:var(--muted); font-size:.72rem; }
.prog-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:.4rem; }
.pill { font-size:.68rem; color:var(--muted); border:1px solid var(--border); border-radius:7px; padding:.2rem .5rem; }
.prog-big { display:flex; align-items:baseline; gap:.5rem; }
.prog-big b { color:var(--heading); font-size:2rem; font-weight:800; } .prog-big b span{ font-size:1rem; color:var(--muted); }
.xpbadge { font-size:.66rem; color:var(--accent); background:var(--surface-2); border:1px solid var(--border-accent); border-radius:6px; padding:.15rem .45rem; margin-left:auto; }
.chart svg { width:100%; height:74px; } .chart .days { display:flex; justify-content:space-between; color:var(--muted); font-size:.6rem; margin-top:.25rem; }
.cat { display:flex; align-items:center; gap:.6rem; margin:.55rem 0; font-size:.78rem; }
.cat svg { width:15px; height:15px; color:var(--accent); flex:0 0 auto; }
.cat .nm { color:var(--text); width:92px; flex:0 0 auto; }
.cat .cbar { flex:1; height:6px; border-radius:99px; background:var(--surface-2); border:1px solid var(--border); overflow:hidden; }
.cat .cbar i { display:block; height:100%; background:linear-gradient(90deg,var(--accent),var(--accent-2)); box-shadow:0 0 8px var(--glow-w); }
.cat .pct { color:var(--muted); width:30px; text-align:right; }
.challenge .ch-row { display:flex; gap:.7rem; }
.challenge .bolt { color:var(--accent); flex:0 0 auto; filter:drop-shadow(0 0 6px var(--glow-s)); }
.challenge h5 { color:var(--accent); font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; margin-bottom:.3rem; }
.challenge p { color:var(--muted); font-size:.78rem; line-height:1.45; }
</style>
</head>
<body>
<div class="mf-shell">
<!-- ===== Sidebar ===== -->
<aside class="mf-sidebar">
<a th:href="@{/dashboard}" class="mf-logo">
<span class="mark"></span>
<span class="txt"><b>MINDFLUX</b><span>KNOWLEDGE. CODE. WIN.</span></span>
</a>
<nav class="mf-nav">
<a th:href="@{/dashboard}" class="active">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/></svg>
Dashboard
</a>
<a th:href="@{/admin}" sec:authorize="hasRole('ADMIN')">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2l8 4v6c0 5-3.5 8-8 10-4.5-2-8-5-8-10V6z"/><path d="M9 12l2 2 4-4"/></svg>
Admin-Dashboard
</a>
<a th:href="@{/profile/knowledge}">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18"/></svg>
Knowledge Core
</a>
<a th:href="@{/progress}">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 20V10M10 20V4M16 20v-8M22 20H2"/></svg>
Statistiken
</a>
<a th:href="@{/profile/achievements}">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="9" r="6"/><path d="M9 14l-2 8 5-3 5 3-2-8"/></svg>
Achievements
</a>
<a th:href="@{/profile/settings}">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="3.2"/><path d="M19 12a7 7 0 0 0-.1-1l2-1.6-2-3.4-2.4 1a7 7 0 0 0-1.7-1L14.5 2h-4l-.3 2.5a7 7 0 0 0-1.7 1l-2.4-1-2 3.4 2 1.6a7 7 0 0 0 0 2l-2 1.6 2 3.4 2.4-1a7 7 0 0 0 1.7 1l.3 2.5h4l.3-2.5a7 7 0 0 0 1.7-1l2.4 1 2-3.4-2-1.6c.1-.3.1-.7.1-1z"/></svg>
Einstellungen
</a>
</nav>
<a th:href="@{/profile}" class="mf-profile" style="text-decoration:none">
<div class="row">
<span class="mf-avatar" th:text="${#authentication.name != null ? #authentication.name.substring(0,1).toUpperCase() : 'U'}">A</span>
<div>
<b sec:authentication="name">Alice Darkest</b>
<span class="role" sec:authorize="hasRole('ADMIN')">Administrator</span>
<span class="role" sec:authorize="!hasRole('ADMIN')">Mitglied</span>
</div>
<svg style="margin-left:auto;color:var(--muted);width:18px;height:18px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg>
</div>
</a>
<div class="mf-meta">
<div class="lvl">LEVEL <b>12</b></div>
<div class="xp">3250 / 5000 XP</div>
<div class="mf-bar"><i style="width:65%"></i></div>
</div>
<div class="mf-streak">
<span class="fire">🔥</span><span><b>STREAK</b><small>7 Tage in Folge</small></span>
</div>
<div class="mf-brain">
<svg viewBox="0 0 120 110" fill="none" stroke="var(--accent)" stroke-width="1.4">
<path d="M60 12c-14-8-34-2-36 14-10 4-12 18-4 26-4 10 2 22 14 24 4 8 18 10 26 4 8 6 22 4 26-4 12-2 18-14 14-24 8-8 6-22-4-26-2-16-22-22-36-14z"/>
<path d="M60 16v82M40 30c8 4 8 14 0 18M80 30c-8 4-8 14 0 18M34 60c10 0 14 8 14 16M86 60c-10 0-14 8-14 16M48 44h24M44 76h32"/>
</svg>
</div>
</aside>
<!-- ===== Topbar ===== -->
<header class="mf-topbar">
<div class="mf-hello">
<h1>Willkommen zurück, <span class="nm" sec:authentication="name">Alice</span>! 👋</h1>
<p>Wähle ein Spielmodus, um dein Wissen auf die Probe zu stellen.</p>
</div>
<div class="mf-pulse">
<svg viewBox="0 0 200 50" fill="none" stroke="var(--accent)" stroke-width="2"><path d="M2 26h40l8-18 10 34 9-26 7 14h26l6-12 9 22 7-24h59"/></svg>
</div>
<div class="mf-tools">
<button class="mf-iconbtn" aria-label="Benachrichtigungen"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.7 21a2 2 0 0 1-3.4 0"/></svg></button>
<div class="mf-search"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"/><path d="M21 21l-4-4"/></svg><input placeholder="Suche..."></div>
<button class="mf-theme"></button>
<a class="mf-iconbtn" href="/logout" aria-label="Logout" style="color:var(--danger)"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9"/></svg></a>
</div>
</header>
<!-- ===== Spielkarten ===== -->
<main class="mf-main"><div class="mf-grid" id="grid"></div></main>
<!-- ===== Rechte Spalte ===== -->
<aside class="mf-rightbar">
<div class="mf-panel">
<h4><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 12h4l2-7 4 14 2-7h6"/></svg> System Status</h4>
<div class="gauge">
<svg viewBox="0 0 120 120" fill="none">
<circle cx="60" cy="60" r="50" stroke="var(--line)" stroke-width="6"/>
<circle cx="60" cy="60" r="50" stroke="var(--accent)" stroke-width="6" stroke-linecap="round" stroke-dasharray="300 314" transform="rotate(-90 60 60)" style="filter:drop-shadow(0 0 6px var(--glow-s))"/>
<path d="M60 38l16 6v12c0 11-8 17-16 20-8-3-16-9-16-20V44z" fill="none" stroke="var(--accent)" stroke-width="3"/>
<path d="M52 58l6 6 12-12" stroke="var(--accent)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
<div class="ok">ALLE SYSTEME STABIL</div><div class="op">100% OPERATIONAL</div>
</div>
</div>
<div class="mf-panel">
<div class="prog-top"><h4 style="margin:0"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 17l6-6 4 4 8-8"/></svg> Dein Fortschritt</h4><span class="pill">Woche ▾</span></div>
<div class="op" style="color:var(--muted);font-size:.72rem;margin:.2rem 0">Gesamtfortschritt</div>
<div class="prog-big"><b>65<span>%</span></b><span class="xpbadge">+120 XP</span></div>
<div class="chart">
<svg viewBox="0 0 240 74" preserveAspectRatio="none">
<defs><linearGradient id="ar" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="var(--accent)" stop-opacity=".35"/><stop offset="1" stop-color="var(--accent)" stop-opacity="0"/></linearGradient></defs>
<path d="M0 60 L34 50 L70 56 L104 38 L140 44 L176 24 L210 30 L240 14 L240 74 L0 74 Z" fill="url(#ar)"/>
<path d="M0 60 L34 50 L70 56 L104 38 L140 44 L176 24 L210 30 L240 14" fill="none" stroke="var(--accent)" stroke-width="2" style="filter:drop-shadow(0 0 5px var(--glow-s))"/>
<circle cx="176" cy="24" r="3.5" fill="var(--accent)"/>
</svg>
<div class="days"><span>Mo</span><span>Di</span><span>Mi</span><span>Do</span><span>Fr</span><span>Sa</span><span>So</span></div>
</div>
</div>
<div class="mf-panel" id="cats">
<h4><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2l3 6 6 .5-4.5 4 1.5 6.5L12 16l-6 3 1.5-6.5L3 8.5 9 8z"/></svg> Top Kategorien</h4>
</div>
<div class="mf-panel accent challenge">
<div class="ch-row">
<svg class="bolt" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L4 14h7l-1 8 9-12h-7z"/></svg>
<div><h5>Bereit für die nächste Challenge?</h5><p>Starte jetzt ein Spiel und steigere dein Level!</p></div>
</div>
<a class="mf-btn" href="/mindmatch" style="margin-top:.8rem">LOS GEHT'S! <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</div>
</aside>
</div>
<footer class="mf-footer">
<a href="#">Support</a>
<a href="#">Feedback</a>
<a href="#">Nutzungsbedingungen</a>
<a href="#">Richtlinien</a>
<a href="#">Datenschutz</a>
<a href="#">Impressum</a>
</footer>
<script th:inline="none">
const GI = {
brain:'<path d="M28 8c-9-5-22 0-23 11-7 2-9 12-3 18-3 7 2 15 10 16 3 6 13 7 18 2M28 8c9-5 22 0 23 11 7 2 9 12 3 18 3 7-2 15-10 16-3 6-13 7-18 2M28 8v45M16 22c6 2 6 10 0 13M40 22c-6 2-6 10 0 13M12 40c7 0 10 5 10 11M44 40c-7 0-10 5-10 11"/>',
code:'<path d="M22 16L8 28l14 12M42 16l14 12-14 12"/>',
terminal:'<rect x="6" y="10" width="52" height="44" rx="4"/><path d="M16 26l9 6-9 6M32 40h14"/>',
lock:'<rect x="12" y="28" width="40" height="28" rx="5"/><path d="M20 28v-7a12 12 0 0 1 24 0v7M32 39v6"/>',
sword:'<path d="M48 8l4 4-22 22-4-4zM26 30l8 8M30 26l8 8M22 38l-6 6 6 6 6-6M16 44l-6 6"/>',
bug:'<rect x="20" y="20" width="24" height="30" rx="12"/><path d="M32 20v-6M24 12l4 6M40 12l-4 6M20 30h-8M52 30h-8M20 40H10M54 40H44M20 50l-7 7M44 50l7 7"/>',
network:'<circle cx="32" cy="14" r="6"/><circle cx="14" cy="48" r="6"/><circle cx="50" cy="48" r="6"/><path d="M30 19L17 43M34 19l13 24M20 48h24"/>',
trophy:'<path d="M18 10h28v10a14 14 0 0 1-28 0zM18 14h-7v3a9 9 0 0 0 9 9M46 14h7v3a9 9 0 0 1-9 9M26 40h12M24 40v6h16v-6M20 56h24"/>'
};
const GAMES = [
['MindMatch','brain','Trainiere dein Gedächtnis mit IT-Begriffen in einem klassischen Memory-Spiel.','/mindmatch'],
['TechTacular','code','Das IT-Quizduell im Jeopardy-Stil – teste dein Wissen in verschiedenen Kategorien.','/techtacular'],
['Syntax Saga','terminal','Interaktive IT-Geschichten mit Lückentexten – wie ein Textadventure zum Mitdenken.','/comingsoon'],
['Code Escape Room','lock','Entkomme mit IT-Rätseln aus digitalen Räumen – sei schnell und clever.','/comingsoon'],
['Service Clash','sword','Der chaotische Admin-Alltag als Spiel – meistere Anfragen & halte Systeme am Laufen!','/comingsoon'],
['Bug Hunter','bug','Finde Fehler im Code, denke wie ein Debugger und löse knifflige Bugs.','/comingsoon'],
['Netzwerker – Das Router-Rätselspiel','network','Verbinde Netzwerke, konfiguriere IPs und löse Routing-Herausforderungen.','/comingsoon'],
['FinalFlux','trophy','Dein Power-Modul für die Prüfung – gezielt lernen, strukturiert trainieren, sicher bestehen.','/finalflux']
];
document.getElementById('grid').innerHTML = GAMES.map(([t,ic,d,href])=>`
<a class="mf-card" href="${href}">
<span class="ico"><svg viewBox="0 0 64 64" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round">${GI[ic]}</svg></span>
<h3>${t}</h3><p>${d}</p>
<span class="mf-play">SPIEL STARTEN <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span>
</a>`).join('');
const SVG={globe:'<circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18"/>',chart:'<path d="M4 20V10M10 20V4M16 20v-8M22 20H2"/>',lock:'<rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/>',grid:'<rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/>',code:'<path d="M8 7l-5 5 5 5M16 7l5 5-5 5"/>'};
const CATS=[['Netzwerk','globe',85],['Datenbanken','chart',78],['IT-Sicherheit','lock',72],['Hardware','grid',66],['Programmierung','code',60]];
document.getElementById('cats').innerHTML += CATS.map(([n,i,p])=>`<div class="cat"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${SVG[i]}</svg><span class="nm">${n}</span><span class="cbar"><i style="width:${p}%"></i></span><span class="pct">${p}%</span></div>`).join('');
</script>
</body>
</html>
+48
View File
@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mindflux – In Arbeit</title>
<link rel="stylesheet" href="/css/theme.css">
<script src="/js/theme.js"></script>
<style>
.mf-cardbox { max-width:560px; text-align:center; }
.mf-rocket { font-size:3rem; margin-bottom:.6rem; filter:drop-shadow(0 0 14px var(--glow-s)); }
.mf-cardbox h1 { color:var(--heading); font-size:1.5rem; font-weight:800; margin-bottom:.5rem; }
.mf-cardbox .slogan { color:var(--muted); font-size:.95rem; margin-bottom:1.6rem; }
.mf-cardbox .quote { color:var(--accent); font-size:1.05rem; line-height:1.6; font-style:italic;
border-left:3px solid var(--border-accent); background:var(--surface-2); padding:1rem 1.2rem;
border-radius:10px; text-align:left; margin-bottom:1.6rem; }
.mf-cardbox .mf-back { display:inline-block; }
</style>
</head>
<body>
<div class="mf-theme-float"><button class="mf-theme"></button></div>
<div class="mf-center">
<div class="mf-cardbox">
<div class="mf-rocket">🚀</div>
<h1>Zukunft in Arbeit</h1>
<p class="slogan">Hier entsteht etwas, das eure Zeitlinie verändern wird...</p>
<p class="quote">
"Ihr seid zwar noch nicht da, aber keine Sorge... bald rast ihr mit 88 Meilen pro Stunde hinein!"
</p>
<a th:href="@{/dashboard}" class="mf-back">⟵ Zurück zum Dashboard</a>
</div>
</div>
<footer class="mf-footer">
<a href="#">Support</a>
<a href="#">Feedback</a>
<a href="#">Nutzungsbedingungen</a>
<a href="#">Richtlinien</a>
<a href="#">Datenschutz</a>
<a href="#">Impressum</a>
</footer>
</body>
</html>
+116
View File
@@ -0,0 +1,116 @@
<!DOCTYPE html>
<html lang="de" data-theme="dark">
<head>
<meta charset="UTF-8">
<title>FinalFlux AP1 - Mindflux</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/theme.css">
<link rel="stylesheet" href="/css/finalflux.css">
<script src="/js/theme.js"></script>
</head>
<body class="finalflux-shell">
<aside class="finalflux-sidebar">
<div style="display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap">
<a href="/dashboard" class="finalflux-back" style="margin-bottom:0">Zurück zum Dashboard</a>
<button class="mf-theme"></button>
</div>
<h1>FinalFlux</h1>
<p>AP1 Informatik nach aktueller IHK-Ausbildungsordnung.</p>
<nav class="finalflux-nav" aria-label="FinalFlux AP1 Navigation">
<section>
<h2>Grundlagen</h2>
<a href="/finalflux/ap1/zahlensysteme.html">Zahlensysteme & Speicher</a>
<a href="/finalflux/ap1/ip-berechnung.html">IP-Adressberechnung</a>
<a href="/finalflux/ap1/projektmanagement.html">Projektmanagement</a>
<a href="/finalflux/ap1/datenschutz.html">Datenschutz</a>
</section>
<section>
<h2>Systeme & Netzwerke</h2>
<a href="/finalflux/systemintegration/topologien.html">Netzwerktopologien</a>
<a href="/finalflux/systemintegration/osi.html">OSI-Modell</a>
<a href="/finalflux/systemintegration/storage.html">Storage Systeme</a>
<a href="/finalflux/systemintegration/backuparten.html">Backuparten</a>
<a href="/finalflux/systemintegration/usv.html">USV</a>
<a href="/finalflux/systemintegration/datenbank.html">Datenbanksysteme</a>
<a href="/finalflux/systemintegration/dsl.html">DSL</a>
<a href="/finalflux/systemintegration/thin-client.html">Thin Clients</a>
<a href="/finalflux/systemintegration/vdi-daas.html">VDI & DaaS</a>
<a href="/finalflux/systemintegration/vlan.html">VLAN</a>
</section>
<section>
<h2>Wirtschaft & Beschaffung</h2>
<a href="/finalflux/wirtschaft/angebotsvergleich.html">Angebotsvergleich</a>
<a href="/finalflux/wirtschaft/bezugskalkulation.html">Bezugskalkulation</a>
<a href="/finalflux/wirtschaft/kosten_nutzen.html">Kosten-Nutzen-Vergleich</a>
<a href="/finalflux/wirtschaft/nutzwertanalyse.html">Nutzwertanalyse</a>
<a href="/finalflux/wirtschaft/make_or_buy.html">Make or Buy</a>
<a href="/finalflux/wirtschaft/roi.html">Return on Investment</a>
<a href="/finalflux/wirtschaft/rentabilitätsrechnung.html">Rentabilitätsrechnung</a>
<a href="/finalflux/wirtschaft/amortisation.html">Amortisation</a>
<a href="/finalflux/wirtschaft/ratendarlehen.html">Ratendarlehen</a>
<a href="/finalflux/wirtschaft/vertragsarten.html">Vertragsarten</a>
<a href="/finalflux/wirtschaft/marktformen.html">Marktformen</a>
<a href="/finalflux/wirtschaft/wirtschaftssektoren.html">Wirtschaftssektoren</a>
<a href="/finalflux/wirtschaft/harvard_konzept.html">Harvard-Konzept</a>
<a href="/finalflux/wirtschaft/win_win_strategie.html">Win-Win-Strategie</a>
</section>
</nav>
</aside>
<main class="finalflux-main">
<section class="finalflux-hero">
<p class="eyebrow">Abschlussprüfung Teil 1</p>
<h2>Einrichten eines IT-gestützten Arbeitsplatzes</h2>
<p>
FinalFlux bündelt AP1-Wissen für IT-Berufe: technische Grundlagen,
Arbeitsplatzanalyse, Netzwerke, Datenschutz, Beschaffung und einfache
Rechen- sowie Entscheidungssituationen.
</p>
</section>
<section class="finalflux-grid">
<article>
<h3>1. Lernen</h3>
<p>Jede Seite führt mit kurzer Erklärung, Prüfungsbezug und Merksätzen durch ein Thema.</p>
</article>
<article>
<h3>2. Anwenden</h3>
<p>Beispielaufgaben und kleine FluxChecks prüfen, ob der Stoff wirklich sitzt.</p>
</article>
<article>
<h3>3. Wiederholen</h3>
<p>Schwache Themen können später gezielt in Fortschritt und Training auftauchen.</p>
</article>
</section>
<section class="finalflux-panel">
<h3>AP1-Kompass</h3>
<p>
Starte mit Zahlensystemen und IP-Berechnung, wenn du Rechenaufgaben sichern willst.
Für typische Handlungssituationen sind Datenschutz, Projektmanagement,
Beschaffung, Storage, Backup und Netzwerke besonders wertvoll.
</p>
<div class="finalflux-actions">
<a href="/finalflux/ap1/zahlensysteme.html">Zahlensysteme starten</a>
<a href="/finalflux/systemintegration/osi.html">Netzwerke starten</a>
<a href="/finalflux/ap1/datenschutz.html">Datenschutz starten</a>
</div>
</section>
</main>
<footer class="mf-footer">
<a href="#">Support</a>
<a href="#">Feedback</a>
<a href="#">Nutzungsbedingungen</a>
<a href="#">Richtlinien</a>
<a href="#">Datenschutz</a>
<a href="#">Impressum</a>
</footer>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More