diff --git a/data/db/install.sql b/data/db/install.sql index b64bcff..f29f45f 100644 --- a/data/db/install.sql +++ b/data/db/install.sql @@ -76,6 +76,7 @@ CREATE TABLE IF NOT EXISTS `exercises` ( `date_add` datetime NOT NULL, `quantity` float DEFAULT NULL, `unit` enum('kg','meter','repeat','minute') COLLATE utf8_hungarian_ci DEFAULT 'repeat', + `unit_quantity` float DEFAULT NULL, `rest_time` int(11) DEFAULT NULL COMMENT 'in sec', PRIMARY KEY (`exercise_id`), KEY `exercise_type_id` (`exercise_type_id`), @@ -114,23 +115,40 @@ CREATE TABLE IF NOT EXISTS `exercise_type` ( `name` char(100) COLLATE utf8_hungarian_ci NOT NULL, `description` varchar(1000) COLLATE utf8_hungarian_ci DEFAULT NULL, `video` mediumblob DEFAULT NULL, + `unit` CHAR(50) NULL DEFAULT NULL COLLATE 'utf8_hungarian_ci', + `unit_quantity` TINYINT(1) NULL DEFAULT NULL, + `unit_quantity_unit` CHAR(50) NULL DEFAULT NULL COLLATE 'utf8_hungarian_ci', PRIMARY KEY (`exercise_type_id`) ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci; -- Tábla adatainak mentése aitrainer.exercise_type: ~11 rows (hozzávetőleg) /*!40000 ALTER TABLE `exercise_type` DISABLE KEYS */; -INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`) VALUES - (1, 'Melső fekvőtámasz 1 perc', 'Ezt igazolja a 2016 márciusában beállított guinness rekord is,\r\namelyben KJ Joseph 1 perc alatt 82 szabályos karhajlítás-nyújtást\r\nvégzett.', NULL), - (2, 'Húzódzkodás', 'Ennek a gyakorlatnak a 24 órás csúcstartója Joonas Mäkipelto 5050\r\ngyakorlattal.', NULL), - (3, 'Melső fekvőtámasz 30mp', 'A gyakorlatot 30 másodperc alatt olyan sokszor kell végrehajtani, ahányszor a\r\nfelvételiző képes rá. Azonban törekedni kell a szabályos végrehajtásra, ugyanis csak azokat\r\nszámolják. A nők esetében 20, a férfiak esetében 35 gyakorlatot kell végrehajtani a maximális\r\npont megszerzéséért. A gyakorlat akkor sikeres, ha a női legalább 1, a férfi felvételiző\r\nlegalább 11 gyakorlatot képes végrehajtani.', NULL), - (4, 'Melső fekvőtámasz 2perc', 'Magyar Honvédség: A gyakorlat végrehajtására 2 perc áll rendelkezésre. Ennek során csak a szabályosan a\r\nfentiekben leírt módon végrehajtott gyakorlat értékelhető. Férfiaknál 70 karhajlítás nyújtást\r\nkell végrehajtani a maximális pontért.', NULL), - (5, 'Hajlított karú függés', 'A gyakorlat addig tart, amíg a végrehajtó szemmagassága a kiinduló helyzettől\r\nsüllyedve a keresztvas alá nem kerül. Az értékeléshez stopperórát alkalmaznak, és az\r\neredmény másodperc pontossággal kerül megállapításra. Nők esetében 45, férfiak\r\ntekintetében 73 másodperctől jár a maximális pontszám. A gyakorlat sikeres végrehajtásához\r\nlegalább 8, 10 másodpercig kell megtartaniuk a kiinduló helyzetet a női és a férfi\r\nfelvételizőknek.\r\n\r\nA NKE-RTK-án lévő hallgatók egyéni rekordjai Iván Viktor 90s, Kiss Regina 74s', NULL), - (6, 'Fekvenyomás', '2015-ben a fekvenyomó világbajnokságot Smulter Fredrik finn súlyemelő 401 Kg-al nyerte.\r\nA súlyzó tömege nők esetében 25 kg, a férfiak esetében 60 kg a rúddal együtt. Az\r\nértékelésénél a szabályosan végrehajtott gyakorlatokat értékelik csak.\r\nA legtöbb pontért 25 gyakorlatot kell végezni mind a nőknek, mind a férfiaknak. A minimum:\r\negy gyakorlat mindkét nem esetében.', NULL), - (7, '4x10m-es ingafutás', 'A legjobb pontszámért 9,4 s illetve 8,8s alatt kell teljesíteni a nőknek, férfiaknak. A\r\ngyakorlat sikertelen 11,8 s illetve 11,2 s-on túl.', NULL), - (8, 'Helyből távolugrás', 'Byron Jones 2015-ben a 3,73 méteres ugrásával érte el a világcsúcsot.\r\nA nőknek 220 cm-re, a férfiak 250 cm-re kell ugraniuk a maximális pontért. A\r\nminimális távolság 172cm illetve 198 cm.', NULL), - (9, 'Felülés hanyattfekvésből', 'Az NKE-RTK hallgatói közül Papp Zsófia 66 db-ot, Gál Valentin 80\r\ndb-ot csinált 1 perc leforgása alatt.\r\nElső ütemre megtörténik a felülés, ami akkor szabályos, ha valamelyik könyök érinti a\r\ntérdet. Második ütemre vissza kell térni a kiinduló helyzetbe. A maximális pont eléréséhez 1\r\nperc alatt 45 illetve 55 ismétlést kell végezni a nőknek illetve a férfiaknak. A minimumhoz 7\r\nés 25 ismétlés szükséges.', NULL), - (10, 'Felülés hajlított térddel', 'Magyar Honvédség: A kiinduló helyzet hajlított ülés, ennek során a sarkak a talajon, a térd 90 fokban meghajlítva\r\nvan.\r\nA gyakorlat végrehajtására két perc áll rendelkezésre. Ennek során csak a szabályosan,\r\na fentiekben leírt módon végrehajtott gyakorlat értékelhető. Férfiaknál, nőknél egyaránt 90\r\ngyakorlatot kell végrehajtani a maximális pontért. Amennyiben a megadott időkeret alatt nem\r\nsikerül legalább 25 szabályos gyakorlatot végrehajtani, úgy az sikertelennek minősül.', NULL), - (11, 'Síkfutás 2000m', 'A maximálisan megszerezhető pontot az a felvételiző gyűjtheti be, aki a távot nők\r\nesetében 10:00 perc alatt, férfiak esetében 7:35 perc alatt teljesíti. A gyakorlat sikeres\r\nteljesítésére nők esetében maximum 16:00 perc, férfiak esetében 13:30 perc áll rendelkezésre.', NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (1, 'Melső fekvőtámasz 1 perc', 'Ezt igazolja a 2016 márciusában beállított guinness rekord is,\r\namelyben KJ Joseph 1 perc alatt 82 szabályos karhajlítás-nyújtást\r\nvégzett.', NULL, NULL, NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (2, 'Húzódzkodás', 'Ennek a gyakorlatnak a 24 órás csúcstartója Joonas Mäkipelto 5050\r\ngyakorlattal.', NULL, NULL, NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (3, 'Melső fekvőtámasz 30mp', 'A gyakorlatot 30 másodperc alatt olyan sokszor kell végrehajtani, ahányszor a\r\nfelvételiző képes rá. Azonban törekedni kell a szabályos végrehajtásra, ugyanis csak azokat\r\nszámolják. A nők esetében 20, a férfiak esetében 35 gyakorlatot kell végrehajtani a maximális\r\npont megszerzéséért. A gyakorlat akkor sikeres, ha a női legalább 1, a férfi felvételiző\r\nlegalább 11 gyakorlatot képes végrehajtani.', NULL, NULL, NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (4, 'Melső fekvőtámasz 2perc', 'Magyar Honvédség: A gyakorlat végrehajtására 2 perc áll rendelkezésre. Ennek során csak a szabályosan a\r\nfentiekben leírt módon végrehajtott gyakorlat értékelhető. Férfiaknál 70 karhajlítás nyújtást\r\nkell végrehajtani a maximális pontért.', NULL, NULL, NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (5, 'Hajlított karú függés', 'A gyakorlat addig tart, amíg a végrehajtó szemmagassága a kiinduló helyzettől\r\nsüllyedve a keresztvas alá nem kerül. Az értékeléshez stopperórát alkalmaznak, és az\r\neredmény másodperc pontossággal kerül megállapításra. Nők esetében 45, férfiak\r\ntekintetében 73 másodperctől jár a maximális pontszám. A gyakorlat sikeres végrehajtásához\r\nlegalább 8, 10 másodpercig kell megtartaniuk a kiinduló helyzetet a női és a férfi\r\nfelvételizőknek.\r\n\r\nA NKE-RTK-án lévő hallgatók egyéni rekordjai Iván Viktor 90s, Kiss Regina 74s', NULL, NULL, NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (6, 'Fekvenyomás', '2015-ben a fekvenyomó világbajnokságot Smulter Fredrik finn súlyemelő 401 Kg-al nyerte.\r\nA súlyzó tömege nők esetében 25 kg, a férfiak esetében 60 kg a rúddal együtt. Az\r\nértékelésénél a szabályosan végrehajtott gyakorlatokat értékelik csak.\r\nA legtöbb pontért 25 gyakorlatot kell végezni mind a nőknek, mind a férfiaknak. A minimum:\r\negy gyakorlat mindkét nem esetében.', NULL, NULL, NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (7, '4x10m-es ingafutás', 'A legjobb pontszámért 9,4 s illetve 8,8s alatt kell teljesíteni a nőknek, férfiaknak. A\r\ngyakorlat sikertelen 11,8 s illetve 11,2 s-on túl.', NULL, NULL, NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (8, 'Helyből távolugrás', 'Byron Jones 2015-ben a 3,73 méteres ugrásával érte el a világcsúcsot.\r\nA nőknek 220 cm-re, a férfiak 250 cm-re kell ugraniuk a maximális pontért. A\r\nminimális távolság 172cm illetve 198 cm.', NULL, NULL, NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (9, 'Felülés hanyattfekvésből', 'Az NKE-RTK hallgatói közül Papp Zsófia 66 db-ot, Gál Valentin 80\r\ndb-ot csinált 1 perc leforgása alatt.\r\nElső ütemre megtörténik a felülés, ami akkor szabályos, ha valamelyik könyök érinti a\r\ntérdet. Második ütemre vissza kell térni a kiinduló helyzetbe. A maximális pont eléréséhez 1\r\nperc alatt 45 illetve 55 ismétlést kell végezni a nőknek illetve a férfiaknak. A minimumhoz 7\r\nés 25 ismétlés szükséges.', NULL, NULL, NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (10, 'Felülés hajlított térddel', 'Magyar Honvédség: A kiinduló helyzet hajlított ülés, ennek során a sarkak a talajon, a térd 90 fokban meghajlítva\r\nvan.\r\nA gyakorlat végrehajtására két perc áll rendelkezésre. Ennek során csak a szabályosan,\r\na fentiekben leírt módon végrehajtott gyakorlat értékelhető. Férfiaknál, nőknél egyaránt 90\r\ngyakorlatot kell végrehajtani a maximális pontért. Amennyiben a megadott időkeret alatt nem\r\nsikerül legalább 25 szabályos gyakorlatot végrehajtani, úgy az sikertelennek minősül.', NULL, NULL, NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (11, 'Síkfutás 2000m', 'A maximálisan megszerezhető pontot az a felvételiző gyűjtheti be, aki a távot nők\r\nesetében 10:00 perc alatt, férfiak esetében 7:35 perc alatt teljesíti. A gyakorlat sikeres\r\nteljesítésére nők esetében maximum 16:00 perc, férfiak esetében 13:30 perc áll rendelkezésre.', NULL, NULL, NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (30, 'Cooper', '12 minutes run, how many meters', NULL, 'meter', NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (31, '300m', NULL, NULL, 'second', NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (32, '400m', NULL, NULL, 'second', NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (33, 'Pushup', NULL, NULL, 'repeat', NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (34, 'Timed Pushup', NULL, NULL, 'repeat', 1, 'second'); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (35, 'Squats', NULL, NULL, 'repeat', 1, 'kg'); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (36, 'Sit-Ups', NULL, NULL, 'repeat', NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (37, 'Chest Press', NULL, NULL, 'repeat', 1, 'kg'); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (38, 'Pull Ups', NULL, NULL, 'repeat', NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (39, 'Biceps', NULL, NULL, 'repeat', 1, 'kg'); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (40, 'Triceps', NULL, NULL, 'repeat', 1, 'kg'); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (41, 'Shoulders', NULL, NULL, 'repeat', 1, 'kg'); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (42, 'BMI', NULL, NULL, 'percent', NULL, NULL); + INSERT INTO `exercise_type` (`exercise_type_id`, `name`, `description`, `video`, `unit`, `unit_quantity`, `unit_quantity_unit`) VALUES (43, 'BMR', NULL, NULL, NULL, NULL, NULL); + /*!40000 ALTER TABLE `exercise_type` ENABLE KEYS */; /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; diff --git a/src/main/kotlin/com/aitrainer/api/model/ExerciseType.kt b/src/main/kotlin/com/aitrainer/api/model/ExerciseType.kt index 1d846d2..4b898dc 100644 --- a/src/main/kotlin/com/aitrainer/api/model/ExerciseType.kt +++ b/src/main/kotlin/com/aitrainer/api/model/ExerciseType.kt @@ -14,8 +14,11 @@ data class ExerciseType ( @get: NotBlank var name: String = "", @get: NotBlank var description: String = "", @get: Null var video: BinaryType?, + @get: NotBlank var unit: String = "", + @get: Null var unitQuantity: String = "", + @get: Null var unitQuantityUnit: String = "", + - @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val exerciseTypeId: Long = 0 ) diff --git a/src/test/kotlin/com/aitrainer/api/test/ExerciseTypeTest.kt b/src/test/kotlin/com/aitrainer/api/test/ExerciseTypeTest.kt index f119762..fc004c4 100644 --- a/src/test/kotlin/com/aitrainer/api/test/ExerciseTypeTest.kt +++ b/src/test/kotlin/com/aitrainer/api/test/ExerciseTypeTest.kt @@ -18,9 +18,20 @@ class ExerciseTypeTest { @Test fun testGet() { - val id: Long = 7 - val extype: ExerciseType = exerciseTypeRepository.findById(id).orElse(null) + var id: Long = 7 + var extype: ExerciseType = exerciseTypeRepository.findById(id).orElse(null) assertEquals(extype.name, "4x10m-es ingafutás") + + id = 38 + extype = exerciseTypeRepository.findById(id).orElse(null) + assertEquals(extype.name, "Pull Ups") + assertEquals(extype.unit, "repeat") + + id = 37 + extype = exerciseTypeRepository.findById(id).orElse(null) + assertEquals(extype.name, "Chest Press") + assertEquals(extype.unit, "repeat") + assertEquals(extype.unitQuantityUnit, "kg") } @Test @@ -28,6 +39,10 @@ class ExerciseTypeTest { val exerciseTypes: List = exerciseTypeRepository.findAll() assertEquals(exerciseTypes[0].exerciseTypeId, 1) assertEquals(exerciseTypes[0].name, "Melső fekvőtámasz 1 perc") + + assertEquals(exerciseTypes[15].name, "Timed Pushup") + assertEquals(exerciseTypes[15].unit, "repeat") + assertEquals(exerciseTypes[15].unitQuantityUnit, "second") } @Test