From 2cee105670210d98ea43961f16aa3247eb35875d Mon Sep 17 00:00:00 2001 From: prokopparuzek Date: Wed, 3 Sep 2025 19:53:16 +0200 Subject: [PATCH] init README + SQL --- README.md | 1 + create.sql | 57 ++++++++++++++++++++++++++++++++++++++++++++++ insertTestData.sql | 39 +++++++++++++++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 README.md create mode 100644 create.sql create mode 100644 insertTestData.sql diff --git a/README.md b/README.md new file mode 100644 index 0000000..9ec93ae --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +Aplikace pro organizování šifrovací hry 13 klíčů. \ No newline at end of file diff --git a/create.sql b/create.sql new file mode 100644 index 0000000..b86a355 --- /dev/null +++ b/create.sql @@ -0,0 +1,57 @@ +DROP TABLE IF EXISTS TEAMS; +DROP TABLE IF EXISTS POSITIONS; +DROP TABLE IF EXISTS QR_CODES; +DROP INDEX IF EXISTS idx_qr_uid; +DROP TABLE IF EXISTS CIPHERS; +DROP TABLE IF EXISTS DIFFICULTY_LEVELS; +DROP TABLE IF EXISTS TASKS; +DROP TABLE IF EXISTS ADMINS; + +CREATE TABLE TEAMS ( + id INTEGER PRIMARY KEY, + name VARCHAR(100) NOT NULL, + city VARCHAR(100) NOT NULL, + difficulty_level INTEGER NOT NULL, + password VARCHAR(255) NOT NULL, + last_cipher INTEGER DEFAULT 0, + penalty INTEGER DEFAULT 0, + FOREIGN KEY (difficulty_level) REFERENCES DIFFICULTY_LEVELS(id) +); +CREATE TABLE POSITIONS ( + id INTEGER PRIMARY KEY, + gps VARCHAR(100) NOT NULL, + clue TEXT NOT NULL +); +CREATE TABLE QR_CODES ( + id INTEGER PRIMARY KEY, + position_id INTEGER NOT NULL, + uid VARCHAR(100) NOT NULL, + FOREIGN KEY (position_id) REFERENCES positions(id) +); +CREATE UNIQUE INDEX idx_qr_uid ON QR_codes(uid); +CREATE TABLE CIPHERS ( + id INTEGER PRIMARY KEY, + assignment TEXT NOT NULL, + solution TEXT NOT NULL, + clue TEXT NOT NULL +); +CREATE TABLE DIFFICULTY_LEVELS ( + id INTEGER PRIMARY KEY, + level_name VARCHAR(100) NOT NULL +); +CREATE TABLE TASKS ( + id INTEGER PRIMARY KEY, + cipher_id INTEGER NOT NULL, + position_id INTEGER NOT NULL, + difficulty_level INTEGER NOT NULL, + order_num INTEGER NOT NULL, + end_clue TEXT NOT NULL, + FOREIGN KEY (cipher_id) REFERENCES CIPHERS(id), + FOREIGN KEY (position_id) REFERENCES POSITIONS(id), + FOREIGN KEY (difficulty_level) REFERENCES DIFFICULTY_LEVELS(id) +); +CREATE TABLE ADMINS ( + id INTEGER PRIMARY KEY, + username VARCHAR(100) NOT NULL, + password VARCHAR(255) NOT NULL +); \ No newline at end of file diff --git a/insertTestData.sql b/insertTestData.sql new file mode 100644 index 0000000..a456eba --- /dev/null +++ b/insertTestData.sql @@ -0,0 +1,39 @@ +-- Vložení úrovní obtížnosti +INSERT INTO DIFFICULTY_LEVELS (id, level_name) VALUES + (1, 'Lehká'), + (2, 'Střední'), + (3, 'Těžká'); + +-- Vložení týmů +INSERT INTO TEAMS (id, name, city, difficulty_level, password, last_cipher, penalty) VALUES + (1, 'Rychlé šípy', 'Praha', 1, 'heslo1', 0, 0), + (2, 'Vlčí smečka', 'Brno', 2, 'heslo2', 0, 10), + (3, 'Orli', 'Ostrava', 3, 'heslo3', 1, 5); + +-- Vložení pozic +INSERT INTO POSITIONS (id, gps, clue) VALUES + (1, '50.087451,14.420671', 'Najdi sochu uprostřed náměstí.'), + (2, '49.195061,16.606836', 'Podívej se pod lavičku.'), + (3, '49.820923,18.262524', 'Hledej u velkého stromu.'); + +-- Vložení QR kódů +INSERT INTO QR_CODES (id, position_id, uid) VALUES + (1, 1, 'QR123ABC'), + (2, 2, 'QR456DEF'), + (3, 3, 'QR789GHI'); + +-- Vložení šifer +INSERT INTO CIPHERS (id, assignment, solution, clue) VALUES + (1, 'Rozlušti morseovku: ... --- ...', 'SOS', 'Použij tabulku morseovky.'), + (2, 'Najdi slovo v osmisměrce: KÓD', 'KÓD', 'Začni v levém horním rohu.'), + (3, 'Přelož do češtiny: HELLO', 'AHOJ', 'Použij slovník.'); + +-- Vložení úkolů +INSERT INTO TASKS (id, cipher_id, position_id, difficulty_level, order_num, end_clue) VALUES + (1, 1, 1, 1, 1, 'Pokračuj k dalšímu stanovišti.'), + (2, 2, 2, 2, 2, 'Hledej QR kód u stromu.'), + (3, 3, 3, 3, 3, 'Gratulujeme, jsi v cíli!'); + +-- Vložení admina +INSERT INTO ADMINS (id, username, password) VALUES + (1, 'admin', 'adminheslo'); \ No newline at end of file