Initial commit

This commit is contained in:
BB 2023-10-10 09:15:19 +02:00
commit a6bf178a7e
75 changed files with 388780 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/node_modules

6
.idea/misc.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/oldtimer.iml" filepath="$PROJECT_DIR$/.idea/oldtimer.iml" />
</modules>
</component>
</project>

9
.idea/oldtimer.iml Normal file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

148
.idea/workspace.xml Normal file
View File

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="13dce141-77a1-4fa9-a206-9d268a3fe4c8" name="Default Changelist" comment="" />
<ignored path="$PROJECT_DIR$/node_modules/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileEditorManager">
<leaf>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/routes/api.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="527">
<caret line="49" column="25" selection-start-line="49" selection-start-column="25" selection-end-line="49" selection-end-column="25" />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/routes/api.js" />
</list>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="1383" />
<option name="y" value="-475" />
<option name="width" value="1296" />
<option name="height" value="1040" />
</component>
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="oldtimer" type="b2602c69:ProjectViewProjectNode" />
<item name="oldtimer" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="oldtimer" type="b2602c69:ProjectViewProjectNode" />
<item name="oldtimer" type="462c0819:PsiDirectoryNode" />
<item name="assets" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="oldtimer" type="b2602c69:ProjectViewProjectNode" />
<item name="oldtimer" type="462c0819:PsiDirectoryNode" />
<item name="routes" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
<pane id="PackagesPane" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="13dce141-77a1-4fa9-a206-9d268a3fe4c8" name="Default Changelist" comment="" />
<created>1573470970827</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1573470970827</updated>
<workItem from="1573470972537" duration="216000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="216000" />
</component>
<component name="ToolWindowManager">
<frame x="1358" y="-475" width="1936" height="1056" extended-state="6" />
<editor active="true" />
<layout>
<window_info id="Image Layers" />
<window_info id="Designer" />
<window_info id="UI Designer" />
<window_info id="Capture Tool" />
<window_info id="Favorites" side_tool="true" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.25" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Docker" show_stripe_button="false" />
<window_info anchor="bottom" id="Version Control" />
<window_info active="true" anchor="bottom" id="Terminal" visible="true" weight="0.32936078" />
<window_info anchor="bottom" id="Event Log" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" />
<window_info anchor="bottom" id="Run" order="2" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="right" id="Palette" />
<window_info anchor="right" id="Theme Preview" />
<window_info anchor="right" id="Maven" />
<window_info anchor="right" id="Capture Analysis" />
<window_info anchor="right" id="Palette&#9;" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
</layout>
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/routes/api.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="527">
<caret line="49" column="25" selection-start-line="49" selection-start-column="25" selection-end-line="49" selection-end-column="25" />
</state>
</provider>
</entry>
</component>
</project>

719
adatbazis.sql Normal file
View File

@ -0,0 +1,719 @@
-- Kategóriák
CREATE TABLE `kategoriak` (
`id` int(11) NOT NULL,
`nev` varchar(255) DEFAULT NULL
);
INSERT INTO `kategoriak` (`id`, `nev`) VALUES
(1, 'Antik'),
(2, 'Limuzin'),
(3, 'Különleges'),
(4, 'Sport'),
(5, 'Szocialista'),
(6, 'Motorkerékpár');
ALTER TABLE `kategoriak`
ADD PRIMARY KEY (`id`);
-- Autók
CREATE TABLE `autok` (
`id` int(11) NOT NULL,
`rendszam` varchar(10) DEFAULT NULL,
`szin` varchar(100) DEFAULT NULL,
`nev` varchar(255) DEFAULT NULL,
`evjarat` int(4) DEFAULT NULL,
`ar` decimal(10,2) DEFAULT NULL,
`kategoriaId` int (11) NOT NULL DEFAULT 1
);
INSERT INTO `autok` (`id`, `rendszam`, `szin`, `nev`, `evjarat`, `ar`, `kategoriaId`) VALUES
(1, 'OT42-99', 'Zöld','Trabant 601', 1972, 2500,5),
(2, 'OT43-00', 'Piros', 'Trabant 601', 1970, 2500, 5),
(3, 'OT43-01', 'Piros', 'Trabant 601', 1972, 2500, 5),
(4, 'OT43-02', 'Szürke', 'Trabant 601', 1971, 3000, 5),
(5, 'OT43-03', 'Kék', 'DeLorean DMC-12', 1981, 12000, 4),
(6, 'OT43-04', 'Kék', 'DeLorean DMC-12', 1982, 12000, 4),
(7, 'OT43-05', 'Szürke', 'DeLorean DMC-12', 1982, 12000, 4),
(8, 'OT43-06', 'Szürke', 'DeLorean DMC-12', 1982, 12000, 4),
(9, 'OT43-07', 'Zöld', 'DeLorean DMC-12 Vissza a jövőbe karosszériával', 1982, 140000, 3),
(10, 'OT43-08', 'Piros', 'Moszkvics 408', 1965, 5000, 5),
(11, 'OT43-09', 'Szürke', 'Moszkvics 408', 1970, 5000, 5),
(12, 'OT43-10', 'Kék', 'Moszkvics 408', 1972, 5000, 5),
(13, 'OT43-11', 'Kék', 'Moszkvics 408', 1971, 5000, 5),
(14, 'OT43-12', 'Piros', 'Moszkvics 408 cupé', 1966, 5500, 3),
(15, 'OT43-13', 'Zöld', 'Cadillac Fleetwood Brougham', 1972, 15000, 2),
(16, 'OT43-14', 'Zöld', 'Cadillac Fleetwood Brougham', 1973, 15000, 2),
(17, 'OT43-15', 'Ezüst', 'Cadillac Fleetwood Brougham', 1972, 15000, 2),
(18, 'OT43-16', 'Kék', 'Ferrari Spider 1992', 1992, 18000, 4),
(19, 'OT43-17', 'Kék', 'Ferrari Spider 1992', 1992, 18000, 4),
(20, 'OT43-18', 'Ezüst', 'Ferrari Spider 1992 200LE', 1993, 20000, 3),
(21, 'OT43-19', 'Arany', '1970 Ford Mustang Boss 302', 1970, 20000, 3), #ebből csak 1 van!
(22, 'OT43-20', 'Fekete', 'VAZ-2102 Zsiguli', 1966, 3000, 5),
(23, 'OT43-21', 'Piros', 'VAZ-2102 Zsiguli', 1968, 3000, 5),
(24, 'OT43-22', 'Piros', 'VAZ-2102 Zsiguli', 1970, 3000, 5),
(25, 'OT43-23', 'Zöld', 'VAZ-2102 Zsiguli', 1969, 3000, 5),
(26, 'OT43-24', 'Fekete', 'Aston Martin 1963 DB5', 1963, 12000, 4),
(27, 'OT43-25', 'Mauv', 'Aston Martin 1963 DB5', 1963, 12000, 4),
(28, 'OT43-26', 'Arany', 'Aston Martin 1963 DB5 James Bond Edition', 1964, 12000, 3),
(29, 'OT43-27', 'Szürke', ' Tatra 603', 1957, '9523.40', 6),
(30, 'OT43-28', 'Zöld', ' Tatra 603', 1957, 5000, 5),
(31, 'OT43-29', 'Piros', ' Tatra 603', 1958, 5000, 5),
(32, 'OT43-30', 'Piros', ' Tatra 603', 1960, 5000, 5),
(33, 'OT43-31', 'Arany', ' Tatra 603', 1960, 5000, 5),
(34, 'OT43-32', 'Zöld', 'Mercedes 230', 1940, 10000, 1),
(35, 'OT43-33', 'Zöld', 'Mercedes 230', 1938, 10000, 1),
(36, 'OT43-34', 'Zöld', 'Mercedes 230', 1940, 10000, 1),
(37, 'OT43-35', 'Ezüst', 'Lincoln Continental 1968', 1968, 8000, 2),
(38, 'OT43-36', 'Arany', 'Lincoln Continental 1968', 1968, 8000, 2),
(39, 'OT43-37', 'Szürke', 'Lincoln Continental 1968', 1968, 8000, 2),
(40, 'OT43-38', 'Szürke', 'Lincoln Continental 196 Ghost Busters Edition', 1968, 8000, 3),
(41, 'OT43-39', 'Piros', 'Jaguar XJ-6', 1983, 7000, 2),
(42, 'OT43-40', 'Ezüst', 'Jaguar XJ-6', 1990, 7000, 2),
(43, 'OT43-41', 'Red', 'Jaguar XJ-6', 1991, 7000, 2),
(44, 'OT43-42', 'Kék', 'Jaguar XJ-6', 1981, 7000, 2),
(45, 'OT43-43', 'Fekete', 'Chevrolet Camaro', 1966, 10000, 4),
(46, 'OT43-44', 'Piros', 'Chevrolet Camaro', 1966, 10000, 4),
(47, 'OT43-45', 'Kék', 'Lamborghini Diablo ', 1990, 12000, 4),
(48, 'OT43-46', 'Zöld', 'Lamborghini Diablo ', 1990, 12000, 4),
(49, 'OT43-47', 'Zöld', 'Pontiac Trans Firebird', 1970, 10000, 4),
(50, 'OT43-48', 'Piros', 'Pontiac Trans Firebird KITT Edition', 1978, 15000, 3);
ALTER TABLE `autok`
ADD PRIMARY KEY (`id`),
ADD KEY `kategoriaId` (`kategoriaId`);
ALTER TABLE `autok`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=121;
ALTER TABLE autok
ADD CONSTRAINT FK_termekek_kategoriaId FOREIGN KEY (kategoriaId)
REFERENCES kategoriak (id);
-- Bérlések
CREATE TABLE `berlesek` (
`id` int(11) NOT NULL,
`autoId` int(11) DEFAULT NULL,
`mennyiseg` decimal(10,2) DEFAULT NULL,
`biztositas` decimal(10,2) DEFAULT NULL,
`datum` datetime NOT NULL
);
ALTER TABLE `berlesek`
ADD PRIMARY KEY (`id`),
ADD KEY `autoId` (`autoId`);
ALTER TABLE berlesek
ADD CONSTRAINT FK_autok_autoId FOREIGN KEY (autoId)
REFERENCES autok (id);
INSERT INTO `berlesek` (`id`, `autoId`, `mennyiseg`, `biztositas`, `datum`) VALUES
(1, 36, 2, 96520, '2019-01-05 01:21:15'),
(2, 35, 9, 98369, '2019-01-13 03:10:34'),
(3, 21, 8, 87973, '2019-01-20 21:34:58'),
(4, 33, 9, 78999, '2019-01-08 17:42:47'),
(5, 24, 4, 45493, '2019-01-24 22:57:36'),
(6, 1, 7, 6655, '2019-01-07 15:08:17'),
(7, 40, 4, 60445, '2019-01-16 23:27:16'),
(8, 39, 3, 17677, '2019-01-03 21:45:00'),
(9, 18, 5, 78718, '2019-01-26 15:49:04'),
(10, 3, 3, 7715, '2019-01-29 23:48:40'),
(11, 14, 3, 85487, '2019-01-26 06:55:08'),
(12, 6, 2, 37761, '2019-01-25 21:38:24'),
(13, 39, 7, 50600, '2019-01-23 06:01:11'),
(14, 30, 1, 7459, '2019-01-16 15:52:02'),
(15, 9, 10, 58334, '2019-01-22 02:35:48'),
(16, 44, 10, 33742, '2019-01-19 23:12:52'),
(17, 38, 6, 93549, '2019-01-16 12:29:38'),
(18, 2, 7, 95347, '2019-01-29 14:44:05'),
(19, 3, 2, 40113, '2019-01-10 04:55:23'),
(20, 45, 4, 32648, '2019-01-11 10:45:26'),
(21, 44, 6, 88842, '2019-01-05 22:57:27'),
(22, 2, 6, 74556, '2019-01-20 23:32:13'),
(23, 22, 3, 92275, '2019-01-25 00:01:40'),
(24, 23, 9, 23614, '2019-01-08 22:15:32'),
(25, 46, 1, 27958, '2019-01-08 02:41:08'),
(26, 26, 1, 22691, '2019-01-01 20:49:44'),
(27, 20, 8, 71797, '2019-01-07 20:08:04'),
(28, 32, 8, 85062, '2019-01-04 20:40:28'),
(29, 42, 8, 60098, '2019-01-03 01:24:58'),
(30, 26, 3, 75344, '2019-01-19 18:51:23'),
(31, 43, 2, 93162, '2019-01-13 18:25:59'),
(32, 18, 2, 11846, '2019-01-04 04:27:50'),
(33, 1, 6, 51934, '2019-01-15 00:29:14'),
(34, 4, 10, 39904, '2019-01-21 06:20:23'),
(35, 21, 4, 7312, '2019-01-08 23:42:10'),
(36, 44, 3, 44296, '2019-01-16 15:27:33'),
(37, 47, 6, 45971, '2019-01-04 06:39:53'),
(38, 19, 3, 13516, '2019-01-25 12:39:58'),
(39, 22, 1, 24124, '2019-01-03 04:01:15'),
(40, 2, 2, 17790, '2019-01-05 12:51:48'),
(41, 31, 3, 37931, '2019-01-29 23:31:29'),
(42, 26, 7, 3795, '2019-01-09 22:45:07'),
(43, 37, 2, 51886, '2019-01-13 03:30:13'),
(44, 14, 4, 90732, '2019-01-03 19:21:44'),
(45, 12, 3, 17240, '2019-01-22 09:49:56'),
(46, 45, 4, 84210, '2019-01-18 08:58:26'),
(47, 24, 1, 2278, '2019-01-11 06:14:58'),
(48, 23, 3, 30374, '2019-01-29 11:33:52'),
(49, 39, 5, 65786, '2019-01-16 13:26:42'),
(50, 19, 7, 87049, '2019-01-10 13:33:48'),
(51, 12, 9, 94679, '2019-01-08 16:54:38'),
(52, 24, 9, 78849, '2019-01-01 18:01:59'),
(53, 32, 9, 65082, '2019-01-18 01:46:33'),
(54, 7, 6, 21316, '2019-01-12 16:14:42'),
(55, 39, 3, 37977, '2019-01-10 17:54:47'),
(56, 6, 2, 28045, '2019-01-17 00:32:24'),
(57, 9, 3, 36279, '2019-01-15 21:01:44'),
(58, 47, 5, 22611, '2019-01-25 23:08:49'),
(59, 49, 9, 4264, '2019-01-03 19:17:05'),
(60, 1, 1, 81620, '2019-01-01 13:21:27'),
(61, 12, 8, 35877, '2019-01-28 04:30:07'),
(62, 34, 2, 84644, '2019-01-14 16:38:56'),
(63, 25, 8, 49087, '2019-01-03 13:44:32'),
(64, 42, 3, 22990, '2019-01-28 08:08:23'),
(65, 48, 3, 59282, '2019-01-12 17:12:43'),
(66, 41, 10, 27656, '2019-01-18 15:27:44'),
(67, 33, 8, 12989, '2019-01-20 05:42:42'),
(68, 19, 9, 36566, '2019-01-29 06:18:51'),
(69, 16, 8, 56547, '2019-01-13 10:29:27'),
(70, 23, 4, 62823, '2019-01-24 04:59:40'),
(71, 24, 1, 91250, '2019-01-19 13:39:36'),
(72, 10, 6, 29709, '2019-01-02 14:56:57'),
(73, 27, 5, 45723, '2019-01-28 19:33:44'),
(74, 29, 2, 64236, '2019-01-03 14:37:49'),
(75, 46, 3, 74144, '2019-01-12 02:30:58'),
(76, 38, 7, 80726, '2019-01-08 13:02:40'),
(77, 7, 3, 15099, '2019-01-17 23:43:05'),
(78, 37, 10, 73256, '2019-01-29 17:27:28'),
(79, 14, 1, 83870, '2019-01-17 18:29:41'),
(80, 34, 6, 76706, '2019-01-05 09:38:57'),
(81, 20, 2, 79082, '2019-01-15 15:18:38'),
(82, 36, 9, 41221, '2019-01-30 06:22:51'),
(83, 49, 9, 90029, '2019-01-13 08:54:55'),
(84, 5, 10, 76625, '2019-01-19 08:41:20'),
(85, 4, 4, 51491, '2019-01-16 10:24:20'),
(86, 45, 5, 26557, '2019-01-21 23:42:38'),
(87, 15, 10, 93832, '2019-01-23 16:35:09'),
(88, 28, 6, 81140, '2019-01-05 23:41:06'),
(89, 43, 3, 99215, '2019-01-08 00:55:42'),
(90, 14, 6, 78764, '2019-01-30 20:40:09'),
(91, 48, 1, 75587, '2019-01-05 18:12:03'),
(92, 37, 6, 6397, '2019-01-06 12:14:13'),
(93, 22, 3, 43227, '2019-01-13 00:28:45'),
(94, 29, 7, 21715, '2019-01-29 06:56:08'),
(95, 21, 3, 97403, '2019-01-06 21:22:35'),
(96, 8, 10, 75768, '2019-01-02 13:38:41'),
(97, 46, 4, 92304, '2019-01-24 04:10:48'),
(98, 15, 8, 66300, '2019-01-09 14:18:11'),
(99, 35, 4, 89245, '2019-01-30 18:18:09'),
(100, 22, 1, 47876, '2019-01-30 19:53:46'),
(101, 40, 9, 66827, '2019-01-07 15:37:53'),
(102, 17, 8, 98763, '2019-01-24 15:07:39'),
(103, 18, 7, 3402, '2019-01-16 20:30:06'),
(104, 33, 1, 41746, '2019-01-04 09:54:09'),
(105, 25, 4, 4984, '2019-01-29 19:00:08'),
(106, 32, 10, 97210, '2019-01-28 13:13:57'),
(107, 36, 8, 8683, '2019-01-19 01:10:40'),
(108, 43, 2, 9556, '2019-01-30 07:30:10'),
(109, 40, 1, 21830, '2019-01-04 08:11:53'),
(110, 42, 6, 67910, '2019-01-14 01:54:09'),
(111, 9, 6, 74276, '2019-01-04 21:04:19'),
(112, 8, 8, 84601, '2019-01-13 18:28:43'),
(113, 4, 3, 54867, '2019-01-13 08:00:20'),
(114, 41, 8, 48908, '2019-01-09 00:48:54'),
(115, 13, 2, 16797, '2019-01-19 10:35:00'),
(116, 20, 2, 70937, '2019-01-01 22:49:51'),
(117, 17, 3, 49744, '2019-01-02 21:26:17'),
(118, 11, 10, 62943, '2019-01-10 06:08:19'),
(119, 7, 9, 13603, '2019-01-23 18:34:42'),
(120, 3, 6, 65507, '2019-01-17 19:58:20'),
(121, 28, 7, 11700, '2019-01-30 03:08:18'),
(122, 26, 5, 33739, '2019-01-23 04:03:48'),
(123, 26, 4, 72698, '2019-01-29 01:46:24'),
(124, 46, 6, 91081, '2019-01-28 05:25:10'),
(125, 41, 5, 60261, '2019-01-01 01:55:22'),
(126, 8, 4, 33798, '2019-01-23 22:29:38'),
(127, 30, 5, 17115, '2019-01-20 17:01:18'),
(128, 30, 4, 60058, '2019-01-29 00:32:45'),
(129, 7, 7, 21694, '2019-01-04 06:38:04'),
(130, 43, 9, 97641, '2019-01-18 22:09:03'),
(131, 31, 8, 34122, '2019-01-06 01:46:13'),
(132, 40, 1, 83602, '2019-01-03 14:37:00'),
(133, 25, 2, 29082, '2019-01-16 22:06:24'),
(134, 18, 2, 53220, '2019-01-06 02:31:08'),
(135, 28, 1, 16996, '2019-01-03 17:10:52'),
(136, 12, 1, 91202, '2019-01-02 19:46:41'),
(137, 9, 3, 24637, '2019-01-11 18:35:10'),
(138, 13, 1, 51586, '2019-01-17 00:33:12'),
(139, 37, 8, 254, '2019-01-20 02:47:39'),
(140, 5, 4, 20007, '2019-01-09 12:04:12'),
(141, 19, 2, 36641, '2019-01-17 07:52:21'),
(142, 6, 2, 91878, '2019-01-28 14:22:36'),
(143, 30, 1, 56314, '2019-01-14 11:40:38'),
(144, 34, 7, 81905, '2019-01-17 07:46:31'),
(145, 3, 2, 53560, '2019-01-24 23:52:12'),
(146, 28, 1, 8535, '2019-01-27 01:58:02'),
(147, 20, 9, 72125, '2019-01-18 02:20:18'),
(148, 10, 4, 47682, '2019-01-12 23:56:58'),
(149, 8, 4, 63659, '2019-01-29 15:17:40'),
(150, 11, 1, 50168, '2019-01-26 04:19:50'),
(151, 22, 6, 97229, '2019-01-16 09:53:15'),
(152, 6, 10, 21296, '2019-01-01 19:11:03'),
(153, 13, 2, 80019, '2019-01-02 10:54:47'),
(154, 29, 1, 17302, '2019-01-27 01:35:03'),
(155, 31, 1, 36771, '2019-01-18 10:04:15'),
(156, 4, 3, 23067, '2019-01-09 06:40:00'),
(157, 16, 9, 72844, '2019-01-24 12:32:29'),
(158, 40, 3, 37027, '2019-01-24 20:26:02'),
(159, 45, 2, 87828, '2019-01-05 13:28:07'),
(160, 27, 3, 507, '2019-01-01 04:12:56'),
(161, 48, 5, 65378, '2019-01-25 20:36:02'),
(162, 49, 1, 97047, '2019-01-30 18:15:32'),
(163, 17, 1, 10056, '2019-01-12 11:39:00'),
(164, 35, 2, 1698, '2019-01-10 01:00:54'),
(165, 8, 2, 98254, '2019-01-27 01:48:44'),
(166, 28, 5, 25805, '2019-01-12 03:54:13'),
(167, 33, 8, 88559, '2019-01-29 00:17:33'),
(168, 47, 1, 50786, '2019-01-03 08:19:43'),
(169, 48, 9, 35977, '2019-01-15 08:04:31'),
(170, 13, 5, 3329, '2019-01-06 19:08:59'),
(171, 29, 3, 51647, '2019-01-23 21:03:23'),
(172, 38, 2, 84900, '2019-01-04 06:25:53'),
(173, 19, 2, 88294, '2019-01-06 19:45:16'),
(174, 28, 7, 93987, '2019-01-20 20:54:58'),
(175, 21, 4, 6746, '2019-01-29 09:58:04'),
(176, 16, 2, 12690, '2019-01-07 07:33:02'),
(177, 45, 5, 79155, '2019-01-27 07:23:36'),
(178, 6, 4, 8381, '2019-01-19 02:12:40'),
(179, 25, 4, 49692, '2019-01-22 16:52:01'),
(180, 29, 8, 8349, '2019-01-08 18:39:18'),
(181, 44, 2, 42723, '2019-01-11 12:03:20'),
(182, 10, 10, 6861, '2019-01-30 22:13:35'),
(183, 36, 6, 66024, '2019-01-11 00:43:24'),
(184, 38, 9, 483, '2019-01-22 11:43:41'),
(185, 9, 1, 21886, '2019-01-21 21:27:54'),
(186, 10, 4, 97360, '2019-01-25 22:09:35'),
(187, 27, 8, 96664, '2019-01-14 02:54:19'),
(188, 24, 8, 78248, '2019-01-29 09:01:45'),
(189, 11, 3, 40424, '2019-01-07 14:58:42'),
(190, 45, 1, 78197, '2019-01-07 00:47:32'),
(191, 28, 1, 73619, '2019-01-17 00:28:45'),
(192, 22, 7, 55974, '2019-01-04 21:56:07'),
(193, 35, 2, 56934, '2019-01-26 16:16:43'),
(194, 30, 3, 4159, '2019-01-26 03:19:38'),
(195, 22, 3, 25739, '2019-01-22 19:37:08'),
(196, 26, 4, 18358, '2019-01-02 08:04:40'),
(197, 1, 10, 50466, '2019-01-21 07:25:42'),
(198, 13, 5, 20473, '2019-01-30 16:29:19'),
(199, 19, 1, 47433, '2019-01-03 12:15:15'),
(200, 37, 2, 75326, '2019-01-02 23:31:56'),
(201, 43, 2, 43089, '2019-01-11 13:42:55'),
(202, 43, 1, 29210, '2019-01-06 12:00:14'),
(203, 2, 5, 93074, '2019-01-14 21:31:39'),
(204, 30, 3, 13690, '2019-01-02 19:19:53'),
(205, 6, 1, 50938, '2019-01-22 23:06:59'),
(206, 10, 2, 39260, '2019-01-09 14:14:54'),
(207, 3, 3, 72719, '2019-01-27 02:02:24'),
(208, 47, 1, 66459, '2019-01-21 23:58:06'),
(209, 31, 1, 97779, '2019-01-22 18:16:38'),
(210, 25, 2, 11419, '2019-01-12 00:05:52'),
(211, 47, 3, 26063, '2019-01-12 16:56:13'),
(212, 17, 7, 32209, '2019-01-05 18:23:29'),
(213, 21, 2, 51814, '2019-01-01 14:58:12'),
(214, 43, 2, 90091, '2019-01-28 19:56:27'),
(215, 11, 5, 22812, '2019-01-01 17:06:08'),
(216, 31, 1, 7821, '2019-01-20 05:26:42'),
(217, 42, 2, 31092, '2019-01-11 23:13:21'),
(218, 19, 4, 13064, '2019-01-19 17:35:26'),
(219, 31, 1, 58396, '2019-01-17 13:09:12'),
(220, 27, 1, 7063, '2019-01-10 07:41:41'),
(221, 41, 2, 81804, '2019-01-28 16:34:58'),
(222, 17, 8, 36073, '2019-01-15 09:50:35'),
(223, 2, 2, 12223, '2019-01-02 18:06:06'),
(224, 39, 7, 95780, '2019-01-30 15:39:33'),
(225, 40, 6, 35940, '2019-01-30 20:52:02'),
(226, 42, 1, 71119, '2019-01-26 00:51:14'),
(227, 23, 4, 28947, '2019-01-19 06:18:57'),
(228, 45, 1, 33936, '2019-01-04 11:05:39'),
(229, 13, 4, 9539, '2019-01-23 21:54:41'),
(230, 31, 2, 62729, '2019-01-02 16:42:06'),
(231, 3, 3, 77326, '2019-01-03 09:27:51'),
(232, 27, 3, 9644, '2019-01-11 22:35:56'),
(233, 20, 2, 33000, '2019-01-29 22:25:00'),
(234, 44, 2, 23345, '2019-01-14 11:23:43'),
(235, 33, 2, 10252, '2019-01-02 12:19:15'),
(236, 14, 4, 15113, '2019-01-19 17:52:57'),
(237, 24, 1, 59003, '2019-01-12 11:44:06'),
(238, 13, 1, 29560, '2019-01-04 23:26:23'),
(239, 13, 1, 43096, '2019-01-21 20:29:00'),
(240, 36, 4, 48890, '2019-01-01 19:49:03'),
(241, 12, 2, 79773, '2019-01-19 02:10:54'),
(242, 35, 9, 94138, '2019-01-01 22:07:54'),
(243, 18, 6, 4195, '2019-01-08 02:27:32'),
(244, 4, 3, 2967, '2019-01-01 17:01:04'),
(245, 49, 1, 54071, '2019-01-02 20:07:13'),
(246, 43, 2, 94188, '2019-01-03 21:20:49'),
(247, 49, 4, 89996, '2019-01-26 05:49:32'),
(248, 5, 8, 77158, '2019-01-29 14:30:54'),
(249, 28, 2, 7470, '2019-01-01 03:21:15'),
(250, 5, 2, 892, '2019-01-07 15:16:11'),
(251, 30, 7, 77945, '2019-01-05 15:30:03'),
(252, 30, 2, 61360, '2019-01-12 02:26:02'),
(253, 24, 4, 96372, '2019-01-13 01:48:10'),
(254, 3, 1, 21880, '2019-01-12 21:47:11'),
(255, 14, 1, 27452, '2019-01-11 02:47:33'),
(256, 30, 1, 46581, '2019-01-15 15:28:06'),
(257, 3, 3, 65422, '2019-01-13 02:14:59'),
(258, 38, 2, 29707, '2019-01-01 22:19:36'),
(259, 5, 2, 47078, '2019-01-13 20:25:54'),
(260, 6, 1, 87455, '2019-01-16 16:25:28'),
(261, 7, 2, 73305, '2019-01-01 16:53:33'),
(262, 27, 1, 5031, '2019-01-26 14:33:11'),
(263, 11, 4, 62543, '2019-01-28 00:16:56'),
(264, 34, 10, 97174, '2019-01-28 05:44:13'),
(265, 6, 5, 42534, '2019-01-11 13:12:56'),
(266, 41, 9, 53519, '2019-01-30 09:46:39'),
(267, 16, 1, 92115, '2019-01-10 19:24:10'),
(268, 31, 1, 41992, '2019-01-21 03:10:37'),
(269, 1, 1, 7009, '2019-01-05 18:54:36'),
(270, 48, 1, 93493, '2019-01-24 06:23:50'),
(271, 16, 2, 17133, '2019-01-03 17:47:33'),
(272, 12, 1, 5991, '2019-01-07 12:12:44'),
(273, 15, 3, 7963, '2019-01-02 03:43:52'),
(274, 15, 3, 3048, '2019-01-19 02:21:16'),
(275, 19, 1, 75815, '2019-01-09 02:46:59'),
(276, 34, 1, 85836, '2019-01-25 09:50:58'),
(277, 46, 5, 94972, '2019-01-19 17:17:05'),
(278, 39, 1, 21246, '2019-01-15 09:15:39'),
(279, 49, 3, 95766, '2019-01-23 12:49:06'),
(280, 47, 1, 85315, '2019-01-18 00:26:43'),
(281, 47, 1, 19814, '2019-01-20 14:13:48'),
(282, 13, 1, 76110, '2019-01-11 22:02:04'),
(283, 17, 1, 23982, '2019-01-14 21:02:59'),
(284, 42, 5, 36787, '2019-01-21 15:47:43'),
(285, 31, 3, 28516, '2019-01-27 20:32:52'),
(286, 43, 1, 8261, '2019-01-15 17:27:42'),
(287, 46, 1, 73444, '2019-01-17 20:08:11'),
(288, 46, 1, 80396, '2019-01-07 16:33:41'),
(289, 25, 2, 72237, '2019-01-14 06:11:48'),
(290, 39, 2, 46161, '2019-01-21 12:50:04'),
(291, 23, 5, 35050, '2019-01-02 12:10:40'),
(292, 21, 6, 14340, '2019-01-13 21:14:56'),
(293, 2, 3, 58364, '2019-01-09 09:53:34'),
(294, 37, 2, 56275, '2019-01-01 00:30:52'),
(295, 48, 1, 62088, '2019-01-07 18:24:29'),
(296, 34, 4, 40802, '2019-01-01 03:04:11'),
(297, 1, 2, 28992, '2019-01-03 03:56:19'),
(298, 40, 1, 1899, '2019-01-22 10:28:21'),
(299, 5, 2, 51480, '2019-01-01 09:12:53'),
(300, 45, 2, 51796, '2019-01-15 21:28:41'),
(301, 34, 1, 20601, '2019-01-13 19:35:07'),
(302, 30, 2, 48871, '2019-01-18 19:02:29'),
(303, 19, 1, 9260, '2019-01-08 02:12:34'),
(304, 41, 2, 99622, '2019-01-06 10:32:57'),
(305, 14, 1, 70464, '2019-01-09 16:41:03'),
(306, 40, 2, 16104, '2019-01-01 01:57:50'),
(307, 18, 2, 87349, '2019-01-24 19:53:22'),
(308, 35, 4, 14438, '2019-01-22 07:48:29'),
(309, 31, 2, 14375, '2019-01-15 14:48:28'),
(310, 27, 6, 63165, '2019-01-04 07:58:34'),
(311, 12, 1, 17586, '2019-01-06 17:00:36'),
(312, 39, 1, 37153, '2019-01-08 13:37:21'),
(313, 3, 1, 43061, '2019-01-01 22:12:32'),
(314, 18, 1, 95353, '2019-01-01 14:59:55'),
(315, 22, 2, 57906, '2019-01-01 04:47:30'),
(316, 42, 1, 47758, '2019-01-02 05:43:06'),
(317, 10, 4, 3784, '2019-01-18 19:01:56'),
(318, 14, 1, 49712, '2019-01-13 07:12:58'),
(319, 32, 5, 74547, '2019-01-12 15:11:00'),
(320, 18, 1, 98985, '2019-01-02 17:43:18'),
(321, 11, 1, 13808, '2019-01-24 06:35:00'),
(322, 5, 1, 54991, '2019-01-16 04:46:27'),
(323, 46, 3, 49753, '2019-01-01 19:33:24'),
(324, 28, 1, 8642, '2019-01-18 19:49:45'),
(325, 2, 1, 54078, '2019-01-08 12:15:36'),
(326, 48, 2, 27665, '2019-01-02 09:42:57'),
(327, 37, 3, 26874, '2019-01-15 23:20:57'),
(328, 33, 2, 65964, '2019-01-05 19:07:17'),
(329, 24, 3, 49127, '2019-01-20 14:10:06'),
(330, 31, 2, 16933, '2019-01-04 20:05:51'),
(331, 19, 1, 30057, '2019-01-24 08:33:39'),
(332, 31, 2, 93728, '2019-01-23 14:58:34'),
(333, 33, 1, 20932, '2018-12-31 23:43:41'),
(334, 14, 2, 33604, '2019-01-24 18:39:21'),
(335, 46, 2, 8453, '2019-01-08 23:07:59'),
(336, 10, 1, 91066, '2019-01-01 12:52:27'),
(337, 3, 2, 85195, '2019-01-07 19:34:24'),
(338, 5, 3, 99117, '2019-01-04 13:07:55'),
(339, 44, 8, 30865, '2019-01-29 23:26:08'),
(340, 48, 3, 53906, '2019-01-08 04:28:36'),
(341, 35, 1, 16329, '2019-01-12 01:55:19'),
(342, 28, 2, 78698, '2019-01-28 12:32:57'),
(343, 40, 1, 44202, '2019-01-21 04:54:42'),
(344, 33, 2, 45033, '2019-01-18 10:52:18'),
(345, 25, 1, 52731, '2019-01-27 02:17:55'),
(346, 9, 1, 42898, '2019-01-20 19:59:25'),
(347, 48, 1, 14356, '2019-01-01 11:07:28'),
(348, 29, 1, 61282, '2019-01-26 12:20:15'),
(349, 26, 2, 71969, '2019-01-07 18:55:06'),
(350, 34, 2, 3275, '2019-01-11 11:45:21'),
(351, 25, 2, 60759, '2019-01-20 20:20:19'),
(352, 46, 1, 11111, '2019-01-04 21:31:18'),
(353, 31, 1, 89077, '2019-01-25 04:02:24'),
(354, 26, 1, 47192, '2019-01-16 09:25:59'),
(355, 11, 3, 79666, '2019-01-21 12:39:27'),
(356, 47, 1, 282, '2019-01-25 12:22:09'),
(357, 43, 1, 24682, '2019-01-05 13:59:31'),
(358, 29, 3, 79779, '2019-01-16 09:53:52'),
(359, 16, 1, 15832, '2019-01-02 04:39:28'),
(360, 6, 9, 69536, '2019-01-30 14:53:23'),
(361, 25, 2, 67002, '2019-01-18 22:51:44'),
(362, 13, 1, 82414, '2019-01-14 07:52:26'),
(363, 4, 4, 50710, '2019-01-04 05:14:12'),
(364, 40, 1, 76630, '2019-01-16 12:40:51'),
(365, 16, 1, 47034, '2019-01-12 10:51:41'),
(366, 15, 1, 24449, '2019-01-07 14:46:39'),
(367, 42, 1, 51878, '2019-01-11 09:55:19'),
(368, 27, 3, 85664, '2019-01-22 10:55:25'),
(369, 10, 1, 97078, '2019-01-22 21:47:08'),
(371, 30, 1, 28474, '2019-01-25 00:26:10'),
(372, 3, 1, 19302, '2019-01-16 22:27:57'),
(373, 22, 1, 51090, '2019-01-29 06:48:04'),
(374, 48, 5, 60021, '2019-01-30 06:26:43'),
(376, 32, 1, 19887, '2019-01-02 02:19:59'),
(377, 23, 1, 35668, '2019-01-07 11:40:38'),
(378, 16, 1, 78526, '2019-01-06 06:56:36'),
(379, 38, 1, 61953, '2019-01-15 03:48:28'),
(380, 40, 2, 70031, '2019-01-27 03:58:34'),
(381, 12, 1, 8838, '2019-01-05 18:09:19'),
(382, 25, 1, 85575, '2019-01-11 17:20:10'),
(383, 12, 1, 10232, '2019-01-27 18:51:12'),
(384, 2, 1, 31162, '2019-01-28 16:08:35'),
(385, 4, 1, 88769, '2019-01-08 05:09:19'),
(386, 43, 1, 26376, '2019-01-02 16:38:58'),
(387, 24, 1, 6454, '2019-01-10 04:36:59'),
(389, 43, 1, 86543, '2019-01-07 17:28:17'),
(390, 2, 1, 89349, '2019-01-07 08:53:20'),
(391, 23, 1, 77073, '2019-01-01 10:01:51'),
(392, 15, 1, 6771, '2019-01-22 17:05:52'),
(393, 45, 1, 68606, '2019-01-08 22:19:34'),
(394, 36, 1, 14828, '2019-01-28 14:49:25'),
(395, 29, 1, 3924, '2019-01-01 15:30:44'),
(396, 20, 2, 33389, '2019-01-27 06:20:44'),
(397, 46, 1, 71612, '2019-01-05 18:54:56'),
(398, 46, 1, 47366, '2019-01-16 19:47:14'),
(400, 20, 4, 38598, '2019-01-03 18:14:49'),
(401, 47, 1, 6018, '2019-01-02 04:42:23'),
(402, 5, 2, 73091, '2019-01-17 02:22:12'),
(403, 36, 2, 17442, '2019-01-07 22:36:41'),
(404, 45, 2, 26405, '2019-01-09 19:30:19'),
(406, 12, 1, 97387, '2019-01-21 00:45:49'),
(407, 38, 1, 22477, '2019-01-03 19:04:36'),
(408, 12, 1, 95594, '2019-01-18 11:54:53'),
(410, 23, 1, 44235, '2019-01-23 21:36:43'),
(411, 2, 1, 37146, '2019-01-20 11:48:15'),
(412, 13, 1, 45570, '2019-01-22 05:15:33'),
(413, 12, 1, 26546, '2019-01-04 07:56:57'),
(414, 9, 1, 74890, '2019-01-19 03:35:01'),
(415, 40, 2, 59434, '2019-01-05 19:54:49'),
(416, 29, 1, 37794, '2019-01-07 01:57:05'),
(417, 9, 2, 16301, '2019-01-02 04:47:07'),
(418, 29, 1, 59147, '2019-01-06 02:48:28'),
(419, 14, 1, 9787, '2019-01-12 05:27:03'),
(421, 16, 1, 1402, '2019-01-23 06:29:53'),
(423, 44, 1, 7536, '2019-01-01 07:31:31'),
(424, 18, 1, 92428, '2019-01-03 06:10:09'),
(426, 10, 2, 88060, '2019-01-11 00:41:05'),
(428, 2, 1, 71608, '2019-01-13 08:33:33'),
(429, 41, 1, 42526, '2019-01-08 03:56:58'),
(430, 14, 1, 61840, '2019-01-29 07:49:43'),
(431, 26, 2, 53337, '2019-01-17 05:05:00'),
(432, 45, 3, 26843, '2019-01-01 03:52:40'),
(433, 13, 1, 72669, '2019-01-04 00:10:20'),
(435, 35, 2, 65401, '2019-01-28 17:02:37'),
(436, 9, 1, 77957, '2019-01-10 10:34:17'),
(437, 10, 1, 31942, '2019-01-08 22:36:01'),
(438, 19, 2, 63816, '2019-01-04 10:46:47'),
(440, 29, 1, 74133, '2019-01-05 17:45:55'),
(441, 18, 2, 18170, '2019-01-14 02:00:51'),
(442, 33, 1, 28534, '2019-01-17 14:38:17'),
(443, 17, 1, 47960, '2019-01-13 05:38:43'),
(444, 22, 1, 70097, '2019-01-12 07:37:10'),
(445, 14, 1, 63264, '2019-01-10 20:49:57'),
(446, 29, 1, 80596, '2019-01-22 09:17:33'),
(447, 29, 1, 93082, '2019-01-19 10:00:19'),
(448, 47, 1, 37413, '2019-01-21 10:12:51'),
(449, 14, 2, 82477, '2019-01-01 05:41:33'),
(450, 31, 1, 61399, '2019-01-14 18:24:20'),
(451, 41, 1, 95678, '2019-01-17 08:59:13'),
(452, 29, 1, 85606, '2019-01-02 15:37:52'),
(453, 12, 1, 69997, '2019-01-03 19:57:35'),
(455, 10, 1, 76019, '2019-01-24 14:58:48'),
(456, 44, 2, 10109, '2019-01-02 16:25:52'),
(457, 29, 2, 68313, '2019-01-20 00:17:43'),
(458, 19, 1, 65153, '2019-01-28 20:46:07'),
(460, 36, 1, 85857, '2019-01-10 02:49:34'),
(461, 39, 1, 63584, '2019-01-14 22:12:15'),
(463, 39, 1, 13994, '2019-01-06 00:00:06'),
(464, 47, 2, 12920, '2019-01-10 02:19:33'),
(465, 29, 1, 95715, '2019-01-28 19:51:46'),
(466, 13, 1, 94017, '2019-01-28 17:24:56'),
(467, 13, 1, 20819, '2019-01-27 17:52:28'),
(468, 42, 1, 72718, '2019-01-27 11:40:52'),
(469, 36, 1, 85270, '2019-01-29 09:19:08'),
(470, 25, 1, 67917, '2019-01-02 07:42:24'),
(471, 21, 2, 76308, '2019-01-04 11:12:09'),
(473, 44, 1, 13549, '2019-01-13 01:26:45'),
(475, 43, 1, 71626, '2019-01-01 14:03:20'),
(476, 7, 1, 60818, '2019-01-22 04:02:58'),
(479, 14, 1, 59272, '2019-01-15 18:16:33'),
(480, 36, 1, 60504, '2019-01-27 20:52:17'),
(481, 34, 1, 83684, '2019-01-24 11:46:01'),
(482, 15, 2, 50663, '2019-01-17 15:20:26'),
(483, 31, 1, 25485, '2019-01-01 12:43:00'),
(484, 34, 1, 52099, '2019-01-26 03:36:26'),
(485, 3, 1, 73014, '2019-01-02 11:27:26'),
(486, 24, 1, 74553, '2019-01-23 19:30:28'),
(488, 10, 1, 6381, '2019-01-23 00:48:35'),
(489, 5, 1, 3177, '2019-01-03 12:52:23'),
(492, 23, 1, 35969, '2019-01-18 02:20:54'),
(493, 46, 1, 4039, '2019-01-18 21:24:25'),
(494, 42, 1, 4792, '2019-01-01 15:59:54'),
(496, 12, 2, 47099, '2019-01-25 10:31:23'),
(497, 32, 1, 82982, '2019-01-16 23:23:43'),
(498, 11, 1, 98037, '2019-01-25 03:26:45'),
(502, 14, 1, 66684, '2019-01-07 16:40:56'),
(504, 49, 1, 80144, '2019-01-12 06:00:38'),
(505, 39, 1, 34031, '2019-01-13 03:11:51'),
(506, 27, 1, 69548, '2019-01-25 01:19:25'),
(508, 14, 1, 43379, '2019-01-16 14:28:25'),
(509, 26, 1, 187, '2019-01-22 00:56:17'),
(510, 28, 1, 78056, '2019-01-05 07:40:24'),
(511, 37, 1, 45023, '2019-01-05 02:57:23'),
(514, 22, 1, 65308, '2019-01-11 15:10:49'),
(517, 20, 1, 21844, '2019-01-17 02:56:34'),
(519, 8, 2, 62221, '2019-01-21 18:10:06'),
(522, 13, 1, 42032, '2019-01-29 22:44:13'),
(523, 7, 1, 69166, '2019-01-03 06:45:26'),
(524, 6, 1, 98828, '2019-01-26 23:10:10'),
(526, 48, 1, 14929, '2019-01-06 18:49:24'),
(527, 47, 2, 8373, '2019-01-23 15:32:20'),
(530, 30, 1, 31089, '2019-01-17 17:04:32'),
(531, 39, 1, 32864, '2019-01-07 21:24:56'),
(532, 34, 1, 26784, '2019-01-16 18:13:10'),
(535, 3, 1, 65968, '2019-01-24 04:14:55'),
(538, 43, 1, 36375, '2019-01-16 08:46:46'),
(540, 47, 1, 91565, '2019-01-17 07:36:01'),
(541, 14, 1, 12782, '2019-01-08 10:02:29'),
(542, 15, 1, 44560, '2019-01-01 00:58:49'),
(545, 38, 1, 63868, '2019-01-06 16:32:47'),
(546, 2, 1, 6482, '2019-01-19 02:42:28'),
(547, 37, 1, 98513, '2019-01-19 15:20:41'),
(548, 21, 1, 13583, '2019-01-28 16:21:07'),
(550, 39, 1, 78178, '2019-01-01 19:38:40'),
(551, 13, 1, 72797, '2019-01-12 07:57:59'),
(552, 17, 1, 4644, '2019-01-23 07:00:31'),
(554, 1, 1, 40651, '2019-01-06 02:04:18'),
(556, 12, 1, 48845, '2019-01-01 22:36:04'),
(563, 49, 1, 98470, '2019-01-22 15:02:41'),
(566, 13, 2, 5496, '2019-01-15 04:44:40'),
(567, 25, 1, 54670, '2019-01-26 22:42:52'),
(568, 16, 1, 21928, '2019-01-05 02:28:43'),
(570, 8, 1, 68237, '2019-01-12 15:45:26'),
(574, 15, 1, 58195, '2019-01-08 20:59:49'),
(575, 44, 1, 51219, '2019-01-04 21:08:46'),
(578, 9, 1, 39884, '2019-01-01 22:41:31'),
(580, 43, 1, 51168, '2019-01-27 05:58:21'),
(582, 18, 1, 37527, '2019-01-23 13:42:36'),
(584, 12, 1, 45301, '2019-01-17 10:12:17'),
(586, 30, 1, 94974, '2019-01-01 02:56:54'),
(588, 9, 1, 60602, '2019-01-14 00:58:08'),
(590, 1, 1, 88428, '2019-01-02 06:16:15'),
(592, 11, 1, 81326, '2019-01-20 01:50:08'),
(597, 21, 1, 41077, '2019-01-19 02:57:25'),
(599, 1, 1, 31387, '2019-01-14 02:26:03'),
(600, 40, 1, 83779, '2019-01-29 15:09:39'),
(602, 33, 1, 18959, '2019-01-28 09:36:17'),
(605, 14, 1, 39088, '2019-01-14 22:54:11'),
(607, 45, 1, 27372, '2019-01-17 06:14:09'),
(611, 19, 1, 4649, '2019-01-02 14:02:19'),
(616, 22, 1, 92395, '2019-01-28 13:42:13'),
(621, 37, 1, 56479, '2019-01-15 13:20:17'),
(624, 36, 2, 97169, '2019-01-17 11:42:42'),
(625, 4, 1, 84420, '2019-01-12 09:55:52'),
(627, 2, 1, 5719, '2019-01-01 01:56:45'),
(628, 37, 1, 80054, '2019-01-28 15:48:37'),
(632, 10, 1, 60802, '2019-01-29 17:02:44'),
(636, 24, 1, 12258, '2019-01-28 12:49:05'),
(637, 47, 1, 82877, '2019-01-16 18:07:05'),
(638, 3, 1, 8969, '2019-01-23 19:38:29'),
(639, 47, 1, 93441, '2019-01-19 04:46:45'),
(640, 46, 1, 61550, '2019-01-06 08:30:43'),
(643, 32, 1, 73589, '2019-01-03 19:13:20'),
(646, 15, 2, 11458, '2019-01-05 02:13:45'),
(655, 34, 1, 46608, '2019-01-27 15:18:52'),
(656, 43, 1, 60702, '2019-01-16 23:47:20'),
(657, 27, 1, 38469, '2019-01-27 06:36:47'),
(658, 31, 1, 30721, '2019-01-19 20:58:54'),
(659, 16, 1, 67337, '2019-01-09 08:03:19'),
(661, 8, 1, 85689, '2019-01-01 18:58:03'),
(662, 42, 1, 4137, '2019-01-20 14:46:04'),
(666, 13, 1, 20787, '2019-01-13 18:55:53'),
(668, 14, 1, 96338, '2019-01-18 19:16:45'),
(682, 13, 1, 76, '2019-01-18 00:50:46'),
(687, 49, 1, 70436, '2019-01-01 02:53:20'),
(688, 32, 1, 38740, '2019-01-26 23:39:17'),
(691, 25, 1, 64194, '2019-01-28 02:21:18'),
(692, 44, 1, 70755, '2019-01-19 15:19:24'),
(694, 24, 1, 35239, '2019-01-18 16:15:47'),
(698, 11, 1, 97155, '2019-01-06 16:38:10'),
(700, 4, 1, 9391, '2019-01-20 12:49:45'),
(704, 21, 1, 5628, '2019-01-03 14:45:28'),
(707, 31, 1, 87296, '2019-01-26 05:06:31'),
(708, 23, 1, 18888, '2019-01-17 10:55:40'),
(709, 5, 1, 3214, '2019-01-15 13:42:03'),
(710, 13, 1, 20111, '2019-01-01 16:25:22'),
(711, 9, 1, 14474, '2019-01-18 06:41:57'),
(712, 14, 1, 15865, '2019-01-23 01:35:57'),
(732, 32, 1, 62515, '2019-01-01 02:50:37'),
(737, 28, 1, 62826, '2019-01-04 14:19:31'),
(738, 48, 1, 73250, '2019-01-11 05:36:00'),
(739, 25, 1, 26025, '2019-01-01 20:47:10'),
(752, 39, 1, 60982, '2019-01-09 02:17:03'),
(756, 19, 1, 66388, '2019-01-01 11:55:06'),
(757, 11, 1, 2464, '2019-01-27 08:36:07'),
(763, 36, 1, 8375, '2019-01-09 11:58:02'),
(766, 6, 1, 52250, '2019-01-24 09:56:05'),
(769, 3, 1, 44934, '2019-01-08 23:42:42'),
(774, 26, 1, 58690, '2019-01-06 09:02:55'),
(777, 2, 1, 24856, '2019-01-04 16:11:59'),
(781, 46, 1, 30848, '2019-01-15 03:18:10'),
(782, 33, 1, 6625, '2019-01-07 14:49:20'),
(783, 23, 1, 87412, '2019-01-28 18:57:32'),
(790, 40, 1, 7988, '2019-01-23 03:24:53'),
(793, 16, 1, 80355, '2019-01-21 17:41:47'),
(801, 19, 1, 58940, '2019-01-23 09:17:10'),
(811, 48, 1, 92125, '2019-01-04 07:49:15'),
(813, 37, 1, 37025, '2019-01-12 09:56:36'),
(824, 2, 1, 94835, '2019-01-12 06:54:10'),
(849, 17, 1, 10352, '2019-01-01 02:02:18'),
(850, 46, 1, 20520, '2019-01-11 19:38:25'),
(862, 16, 1, 34188, '2019-01-22 14:58:31'),
(868, 39, 1, 55430, '2019-01-02 20:31:41'),
(879, 26, 1, 58158, '2019-01-28 09:13:45'),
(883, 16, 1, 50727, '2019-01-01 22:45:39'),
(889, 38, 1, 28811, '2019-01-07 02:38:56'),
(891, 2, 1, 47172, '2019-01-27 13:10:15'),
(924, 16, 1, 18714, '2019-01-11 16:55:30'),
(955, 28, 1, 2756, '2019-01-19 11:13:43'),
(962, 47, 1, 38280, '2019-01-15 10:35:10'),
(976, 24, 1, 83197, '2019-01-17 22:18:02'),
(1013, 3, 1, 25893, '2019-01-06 05:00:40'),
(1137, 7, 1, 66787, '2019-01-21 09:43:22'),
(1167, 47, 1, 47776, '2019-01-01 22:19:51'),
(1322, 7, 1, 37561, '2019-01-11 08:33:47'),
(1771, 10, 1, 11004, '2019-01-17 19:02:57');

29
app.js Normal file
View File

@ -0,0 +1,29 @@
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var apiRouter = require('./routes/api');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
// app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({extended: false}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'web')));
// enable CORS
app.use(function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE");
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
next();
});
app.use('/api', apiRouter);
module.exports = app;

33
assets/sqlTasks.js Normal file
View File

@ -0,0 +1,33 @@
const fs = require('fs');
const path = require('path');
let sqlTasks = require('./sqlTasks.json');
const os = require('os');
const getSqlTasks = () => {
return new Promise((resolve, reject) => {
fs.readFile(path.join(__dirname, "../lekerdezesek/lekerdezesek.sql"), 'utf8', (err, data) => {
if (err) {
reject(err)
} else {
let sqlQueriesFromFile = data.split("***").splice(1);
sqlQueriesFromFile.forEach(sqlQuery => {
let lines = sqlQuery.split(os.EOL);
const id = lines[1].split(".")[0];
lines = lines.splice(2);
if (lines.length > 0) {
const sqlQueryText = lines.reduce((sql, line) => sql + " " + line).trim();
let sqlTask = sqlTasks.filter(task => task.id === Number.parseInt(id))[0];
if (sqlTask) {
sqlTask.sql = sqlQueryText
} else {
console.error("Nem található ilyen ID-jű lekérdezés: ", id);
}
}
});
resolve(sqlTasks)
}
})
})
};
module.exports = getSqlTasks;

32
assets/sqlTasks.json Normal file
View File

@ -0,0 +1,32 @@
[
{
"id": 15,
"description": "Adatbázis létrehozása",
"adminPage": false
},
{
"id": 16,
"description": "Sportautók száma a flottában",
"adminPage": true
},
{
"id": 17,
"description": "Limuzinok",
"adminPage": true
},
{
"id": 18,
"description": "Új autó hozzáadása",
"adminPage": false
},
{
"id": 19,
"description": "Az öt legnépszerűbb autó",
"adminPage": true
},
{
"id": 20,
"description": "Teljes bevétel és a legnagyobb biztosítási arány",
"adminPage": true
}
]

1
assets/velemenyek.json Normal file
View File

@ -0,0 +1 @@
[{"date":"2023. 10. 10. 9:11:13"},{"velemeny":"asd","date":"2023. 10. 10. 9:11:55"},{"velemeny":"asd","date":"2023. 10. 10. 9:12:24"}]

91
bin/www Normal file
View File

@ -0,0 +1,91 @@
#!/usr/bin/env node
/**
* Module dependencies.
*/
var app = require('../app');
var debug = require('debug')('oldtimer:server');
var http = require('http');
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '8000');
app.set('port', port);
console.log("Az autókölcsönző weboldal a http://localhost:"+port+" címen érhető el.");
console.log("Az autókölcsönző Adminisztrációs oldala a http://localhost:"+port+"/admin címen érhető el.");
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
/**
* Normalize a port into a number, string, or false.
*/
function normalizePort(val) {
var port = parseInt(val, 10);
if (isNaN(port)) {
// named pipe
return val;
}
if (port >= 0) {
// port number
return port;
}
return false;
}
/**
* Event listener for HTTP server "error" event.
*/
function onError(error) {
if (error.syscall !== 'listen') {
throw error;
}
var bind = typeof port === 'string'
? 'Pipe ' + port
: 'Port ' + port;
// handle specific listen errors with friendly messages
switch (error.code) {
case 'EACCES':
console.error(bind + ' requires elevated privileges');
process.exit(1);
break;
case 'EADDRINUSE':
console.error(bind + ' is already in use');
process.exit(1);
break;
default:
throw error;
}
}
/**
* Event listener for HTTP server "listening" event.
*/
function onListening() {
var addr = server.address();
var bind = typeof addr === 'string'
? 'pipe ' + addr
: 'port ' + addr.port;
debug('Listening on ' + bind);
}

View File

@ -0,0 +1,19 @@
A feladatok megoldására elkészített SQL parancsokat illessze be a feladat sorszáma után!
***
15. feladat
***
16. feladat
***
17. feladat
***
18. feladat
***
19. feladat
***
20. feladat

4
mustang.txt Normal file
View File

@ -0,0 +1,4 @@
Kép forrása: kepek/mustang_700_400.jpg,
Név: „1970 Ford Mustang Boss 302”,
Ár felirat: „Ár: 20.000 Ft / óra."
Szöveg: „Eredetileg 1969 és 1970 között készült, módosított Ford Mustang Boss 302, mely nem összekeverendő a 2012-ben újraélesztett, hasonló nevű modellel. Ez volt az a széria, ami igazán népszerűvé tette a márkát

BIN
oldtimer_feladat.pdf Normal file

Binary file not shown.

455
package-lock.json generated Normal file
View File

@ -0,0 +1,455 @@
{
"name": "oldtimer",
"version": "0.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
"integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
"requires": {
"mime-types": "~2.1.24",
"negotiator": "0.6.2"
}
},
"array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"basic-auth": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
"integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
"requires": {
"safe-buffer": "5.1.2"
}
},
"bignumber.js": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz",
"integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ=="
},
"body-parser": {
"version": "1.18.3",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
"integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
"requires": {
"bytes": "3.0.0",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "~1.6.3",
"iconv-lite": "0.4.23",
"on-finished": "~2.3.0",
"qs": "6.5.2",
"raw-body": "2.3.3",
"type-is": "~1.6.16"
}
},
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
},
"content-disposition": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
},
"content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
},
"cookie": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
"integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
},
"cookie-parser": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.4.tgz",
"integrity": "sha512-lo13tqF3JEtFO7FyA49CqbhaFkskRJ0u/UAiINgrIXeRCY41c88/zxtrECl8AKH3B0hj9q10+h3Kt8I7KlW4tw==",
"requires": {
"cookie": "0.3.1",
"cookie-signature": "1.0.6"
}
},
"cookie-signature": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
},
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
},
"destroy": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
"express": {
"version": "4.16.4",
"resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz",
"integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==",
"requires": {
"accepts": "~1.3.5",
"array-flatten": "1.1.1",
"body-parser": "1.18.3",
"content-disposition": "0.5.2",
"content-type": "~1.0.4",
"cookie": "0.3.1",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "~1.1.2",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"finalhandler": "1.1.1",
"fresh": "0.5.2",
"merge-descriptors": "1.0.1",
"methods": "~1.1.2",
"on-finished": "~2.3.0",
"parseurl": "~1.3.2",
"path-to-regexp": "0.1.7",
"proxy-addr": "~2.0.4",
"qs": "6.5.2",
"range-parser": "~1.2.0",
"safe-buffer": "5.1.2",
"send": "0.16.2",
"serve-static": "1.13.2",
"setprototypeof": "1.1.0",
"statuses": "~1.4.0",
"type-is": "~1.6.16",
"utils-merge": "1.0.1",
"vary": "~1.1.2"
}
},
"finalhandler": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
"integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
"requires": {
"debug": "2.6.9",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"on-finished": "~2.3.0",
"parseurl": "~1.3.2",
"statuses": "~1.4.0",
"unpipe": "~1.0.0"
}
},
"forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
},
"fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
"http-errors": {
"version": "1.6.3",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
"requires": {
"depd": "~1.1.2",
"inherits": "2.0.3",
"setprototypeof": "1.1.0",
"statuses": ">= 1.4.0 < 2"
}
},
"iconv-lite": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"ipaddr.js": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
"integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA=="
},
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
"methods": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
},
"mime": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
"integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
},
"mime-db": {
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
"integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="
},
"mime-types": {
"version": "2.1.24",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
"integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
"requires": {
"mime-db": "1.40.0"
}
},
"morgan": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz",
"integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==",
"requires": {
"basic-auth": "~2.0.0",
"debug": "2.6.9",
"depd": "~1.1.2",
"on-finished": "~2.3.0",
"on-headers": "~1.0.1"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"mysql": {
"version": "2.17.1",
"resolved": "https://registry.npmjs.org/mysql/-/mysql-2.17.1.tgz",
"integrity": "sha512-7vMqHQ673SAk5C8fOzTG2LpPcf3bNt0oL3sFpxPEEFp1mdlDcrLK0On7z8ZYKaaHrHwNcQ/MTUz7/oobZ2OyyA==",
"requires": {
"bignumber.js": "7.2.1",
"readable-stream": "2.3.6",
"safe-buffer": "5.1.2",
"sqlstring": "2.3.1"
}
},
"negotiator": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
},
"on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"requires": {
"ee-first": "1.1.1"
}
},
"on-headers": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
"integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
},
"parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
},
"path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"proxy-addr": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
"integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==",
"requires": {
"forwarded": "~0.1.2",
"ipaddr.js": "1.9.0"
}
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
},
"range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
},
"raw-body": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
"integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
"requires": {
"bytes": "3.0.0",
"http-errors": "1.6.3",
"iconv-lite": "0.4.23",
"unpipe": "1.0.0"
}
},
"readable-stream": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"send": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
"integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
"requires": {
"debug": "2.6.9",
"depd": "~1.1.2",
"destroy": "~1.0.4",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
"http-errors": "~1.6.2",
"mime": "1.4.1",
"ms": "2.0.0",
"on-finished": "~2.3.0",
"range-parser": "~1.2.0",
"statuses": "~1.4.0"
}
},
"serve-static": {
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
"integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
"requires": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.2",
"send": "0.16.2"
}
},
"setprototypeof": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
"integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
},
"sqlstring": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz",
"integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A="
},
"statuses": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
"integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"requires": {
"safe-buffer": "~5.1.0"
}
},
"type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
"requires": {
"media-typer": "0.3.0",
"mime-types": "~2.1.24"
}
},
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
}
}
}

15
package.json Normal file
View File

@ -0,0 +1,15 @@
{
"name": "oldtimer",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"cookie-parser": "~1.4.4",
"debug": "~2.6.9",
"express": "~4.16.1",
"morgan": "~1.9.1",
"mysql": "^2.16.0"
}
}

159
routes/api.js Normal file
View File

@ -0,0 +1,159 @@
var express = require('express');
var router = express.Router();
const fs = require('fs');
const path = require('path');
/* GET nem elérhető autók listája. */
router.get('/nemelerheto', function (req, res, next) {
console.log("Api hívás érkezett: /nemelerheto api kérés érkezett a Frontendtől");
res.send(JSON.stringify(
{
nemElerhetoAutok: 'Ferrari Spider 1992, Moszkvics 408'
}
))
});
/* Vélemény bejegyzések kezelése */
let velemenyekJsonPath = path.join(__dirname, '../assets/velemenyek.json');
var velemenyek = [];
initializeVelemenyek(velemenyekJsonPath);
function initializeVelemenyek(path) {
try {
velemenyek = require(path);
} catch (e) {
console.log("Még nincs érvényes véleményeket tartalmazó fájl.")
}
}
/* POST velemeny */
router.post('/velemeny', function (req, res, next) {
console.log("Api hívás érkezett: vásárlói vélemény rögzítése: ", req.body);
velemenyek.push({
"velemeny": req.body.velemeny,
"date": new Date().toLocaleString()
});
fs.writeFileSync(velemenyekJsonPath, JSON.stringify(velemenyek));
res.send(JSON.stringify(req.body));
});
/* GET velemeny */
router.get('/velemeny', function (req, res, next) {
console.log("Api hívás érkezett: vásárlói vélemény lekérdezése.");
if (velemenyek.length === 0) {
res.send(JSON.stringify(
[{
"velemeny": "Még nem érkezett felhasználói bejegyzés.",
"date": null
}]
));
} else {
res.send(JSON.stringify(velemenyek));
}
});
router.delete('/velemeny', function (req, res, next) {
console.log("Api hívás érkezett: vásárlói vélemények törlése.");
try{
velemenyek = [];
fs.unlinkSync(velemenyekJsonPath, JSON.stringify(velemenyek));
res.send(JSON.stringify({'message':'Törlés sikeres'}));
} catch (e) {
res.send(JSON.stringify({'message':'Nem történt törlés, mert a fájl nem létezik (még).'}));
}
});
// Admin eszközök
var mysql = require('mysql');
var sqlTasks = require('../assets/sqlTasks.json');
var db = {
host: 'localhost',
user: 'root',
password: '',
database: 'oldtimer'
};
const getSqlTasks = require('../assets/sqlTasks');
const databaseQuery = sqlQuery => {
return new Promise((resolve, reject) => {
const connection = mysql.createConnection(db);
connection.connect();
if (sqlQuery !== 'select version();') {
console.log('sqlQuery futtatása:', sqlQuery);
}
connection.query(sqlQuery, (error, lines, fields) => {
if (error) reject(error);
resolve(lines);
connection.end();
})
})
};
/* GET sqlTasks */
router.get('/sqltasks', function (req, res, next) {
res.send(JSON.stringify(sqlTasks))
});
/* fech data from database */
router.get('/lekerdezes/:id', function (req, res, next) {
getSqlTasks().then(result => {
console.log("API hívás érkezett: lekérdezés futtatása:", req.params['id'], ' sorszámmal.');
const sqlTasks = result;
const sqlTaskById = sqlTasks.filter(task => task.id == req.params.id);
if (sqlTaskById) {
sqlTask = sqlTaskById[0];
if (sqlTask.sql) {
databaseQuery(sqlTask.sql)
.then(result => {
res.send(JSON.stringify(result))
})
.catch(error => {
console.error("Hiba történt az SQL parancs végrehajtása során:", error.sqlMessage ? error.sqlMessage : error.code);
res.status(error.status || 500);
if (error.code && error.code === "ER_BAD_DB_ERROR") {
console.error("Még nincsen létrehozva a feladathoz szükséges adatbázis!");
res.send(JSON.stringify({error: error.code}))
} else if (error.code && error.code === "ER_NO_SUCH_TABLE") {
console.error("Még nincsen létrehozva a feladathoz tartozó tábla!");
res.send(JSON.stringify({error: error.code}))
} else if (error.code && error.code === "ECONNREFUSED") {
console.error("Nem sikerült a MySQL adatbázis szerverhez kapcsolódni.");
res.send(JSON.stringify({error: error.code}))
} else if (error.sqlMessage) {
console.log(error.sqlMessage);
res.send(JSON.stringify({error: error.sqlMessage}))
} else {
console.log(JSON.stringify(error));
res.send(JSON.stringify({error: 'Ismeretlen eredetű hiba!'}))
}
})
} else {
console.log("Ehhez a feladathoz még nem szerepel SQL lekérdezés a beadandó fájlban.");
res.send(JSON.stringify({empty: true}))
}
}
})
});
/* GET server status monitoring */
router.get('/serverStatus', function (req, res, next) {
res.send(JSON.stringify({alive: true}))
});
/* GET SQL status monitoring */
router.get('/mysqlStatus', function (req, res, next) {
databaseQuery('select version();')
.then(result => {
res.send({alive: true})
})
.catch(error => {
res.send({alive: false})
})
});
module.exports = router;

BIN
web/admin/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

14
web/admin/index.html Normal file
View File

@ -0,0 +1,14 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Oldtimer Veteránautó-kölcsönző - Adminisztrációs oldal</title>
<base href="/admin/">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<app-root></app-root>
<script src="runtime-es2015.js" type="module"></script><script src="polyfills-es2015.js" type="module"></script><script src="runtime-es5.js" nomodule></script><script src="polyfills-es5.js" nomodule></script><script src="styles-es2015.js" type="module"></script><script src="styles-es5.js" nomodule></script><script src="vendor-es2015.js" type="module"></script><script src="main-es2015.js" type="module"></script><script src="vendor-es5.js" nomodule></script><script src="main-es5.js" nomodule></script></body>
</html>

328
web/admin/main-es2015.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

337
web/admin/main-es5.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

13339
web/admin/polyfills-es5.js Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

155
web/admin/runtime-es2015.js Normal file
View File

@ -0,0 +1,155 @@
/******/ (function(modules) { // webpackBootstrap
/******/ // install a JSONP callback for chunk loading
/******/ function webpackJsonpCallback(data) {
/******/ var chunkIds = data[0];
/******/ var moreModules = data[1];
/******/ var executeModules = data[2];
/******/
/******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0, resolves = [];
/******/ for(;i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i];
/******/ if(installedChunks[chunkId]) {
/******/ resolves.push(installedChunks[chunkId][0]);
/******/ }
/******/ installedChunks[chunkId] = 0;
/******/ }
/******/ for(moduleId in moreModules) {
/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
/******/ modules[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(parentJsonpFunction) parentJsonpFunction(data);
/******/
/******/ while(resolves.length) {
/******/ resolves.shift()();
/******/ }
/******/
/******/ // add entry modules from loaded chunk to deferred list
/******/ deferredModules.push.apply(deferredModules, executeModules || []);
/******/
/******/ // run deferred modules when all chunks ready
/******/ return checkDeferredModules();
/******/ };
/******/ function checkDeferredModules() {
/******/ var result;
/******/ for(var i = 0; i < deferredModules.length; i++) {
/******/ var deferredModule = deferredModules[i];
/******/ var fulfilled = true;
/******/ for(var j = 1; j < deferredModule.length; j++) {
/******/ var depId = deferredModule[j];
/******/ if(installedChunks[depId] !== 0) fulfilled = false;
/******/ }
/******/ if(fulfilled) {
/******/ deferredModules.splice(i--, 1);
/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
/******/ }
/******/ }
/******/
/******/ return result;
/******/ }
/******/
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // object to store loaded and loading chunks
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ // Promise = chunk loading, 0 = chunk loaded
/******/ var installedChunks = {
/******/ "runtime": 0
/******/ };
/******/
/******/ var deferredModules = [];
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
/******/ jsonpArray.push = webpackJsonpCallback;
/******/ jsonpArray = jsonpArray.slice();
/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
/******/ var parentJsonpFunction = oldJsonpFunction;
/******/
/******/
/******/ // run deferred modules from other chunks
/******/ checkDeferredModules();
/******/ })
/************************************************************************/
/******/ ([]);
//# sourceMappingURL=runtime-es2015.js.map

File diff suppressed because one or more lines are too long

155
web/admin/runtime-es5.js Normal file
View File

@ -0,0 +1,155 @@
/******/ (function(modules) { // webpackBootstrap
/******/ // install a JSONP callback for chunk loading
/******/ function webpackJsonpCallback(data) {
/******/ var chunkIds = data[0];
/******/ var moreModules = data[1];
/******/ var executeModules = data[2];
/******/
/******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0, resolves = [];
/******/ for(;i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i];
/******/ if(installedChunks[chunkId]) {
/******/ resolves.push(installedChunks[chunkId][0]);
/******/ }
/******/ installedChunks[chunkId] = 0;
/******/ }
/******/ for(moduleId in moreModules) {
/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
/******/ modules[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(parentJsonpFunction) parentJsonpFunction(data);
/******/
/******/ while(resolves.length) {
/******/ resolves.shift()();
/******/ }
/******/
/******/ // add entry modules from loaded chunk to deferred list
/******/ deferredModules.push.apply(deferredModules, executeModules || []);
/******/
/******/ // run deferred modules when all chunks ready
/******/ return checkDeferredModules();
/******/ };
/******/ function checkDeferredModules() {
/******/ var result;
/******/ for(var i = 0; i < deferredModules.length; i++) {
/******/ var deferredModule = deferredModules[i];
/******/ var fulfilled = true;
/******/ for(var j = 1; j < deferredModule.length; j++) {
/******/ var depId = deferredModule[j];
/******/ if(installedChunks[depId] !== 0) fulfilled = false;
/******/ }
/******/ if(fulfilled) {
/******/ deferredModules.splice(i--, 1);
/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
/******/ }
/******/ }
/******/
/******/ return result;
/******/ }
/******/
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // object to store loaded and loading chunks
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ // Promise = chunk loading, 0 = chunk loaded
/******/ var installedChunks = {
/******/ "runtime": 0
/******/ };
/******/
/******/ var deferredModules = [];
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
/******/ jsonpArray.push = webpackJsonpCallback;
/******/ jsonpArray = jsonpArray.slice();
/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
/******/ var parentJsonpFunction = oldJsonpFunction;
/******/
/******/
/******/ // run deferred modules from other chunks
/******/ checkDeferredModules();
/******/ })
/************************************************************************/
/******/ ([]);
//# sourceMappingURL=runtime-es5.js.map

File diff suppressed because one or more lines are too long

566
web/admin/styles-es2015.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

566
web/admin/styles-es5.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

169377
web/admin/vendor-es2015.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

169863
web/admin/vendor-es5.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,331 @@
/*!
* Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: left;
background-color: #fff;
}
[tabindex="-1"]:focus {
outline: 0 !important;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: 0.5rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title],
abbr[data-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
border-bottom: 0;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: .5rem;
margin-left: 0;
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 80%;
}
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -.25em;
}
sup {
top: -.5em;
}
a {
color: #007bff;
text-decoration: none;
background-color: transparent;
}
a:hover {
color: #0056b3;
text-decoration: underline;
}
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
color: inherit;
text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
outline: 0;
}
pre,
code,
kbd,
samp {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 1em;
}
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
figure {
margin: 0 0 1rem;
}
img {
vertical-align: middle;
border-style: none;
}
svg {
overflow: hidden;
vertical-align: middle;
}
table {
border-collapse: collapse;
}
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #6c757d;
text-align: left;
caption-side: bottom;
}
th {
text-align: inherit;
}
label {
display: inline-block;
margin-bottom: 0.5rem;
}
button {
border-radius: 0;
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
input {
overflow: visible;
}
button,
select {
text-transform: none;
}
select {
word-wrap: normal;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
cursor: pointer;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
input[type="radio"],
input[type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
textarea {
overflow: auto;
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
display: block;
width: 100%;
max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
color: inherit;
white-space: normal;
}
progress {
vertical-align: baseline;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
outline-offset: -2px;
-webkit-appearance: none;
}
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
summary {
display: list-item;
cursor: pointer;
}
template {
display: none;
}
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
/*!
* Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */

File diff suppressed because one or more lines are too long

10038
web/assets/bootstrap/css/bootstrap.css vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4435
web/assets/bootstrap/js/bootstrap.js vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
web/assets/jquery/jquery-3.3.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

5
web/assets/popper/popper.min.js vendored Normal file

File diff suppressed because one or more lines are too long

BIN
web/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

279
web/index.html Normal file
View File

@ -0,0 +1,279 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Szükséges meta elemek -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Autókölcsönzés</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="../assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="oldtimer.css">
</head>
<body>
<!-- Navigáció -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<a class="navbar-brand" href="#">Oldtimer Veteránautó</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive"
aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
Rólunk
</li>
<li class="nav-item">
Kínálat
</li>
<li class="nav-item">
Hírlevél
</li>
<li class="nav-item">
Kapcsolat
</li>
</ul>
</div>
</div>
</nav>
<div class="container">
<!-- Diasor szekció -->
<section>
<div id="diasor" class="carousel slide my-4" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#diasor" data-slide-to="0" class="active"></li>
<li data-target="#diasor" data-slide-to="1"></li>
<li data-target="#diasor" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="dia carousel-item active">
<img src="kepek/moszkvics_fejlec_900_350.jpg" class="d-block img-fluid w-100">
<div class="carousel-caption d-none d-md-block caption-center dia-elem-szovegdoboz">
<h1>Béreljen Klasszikust!</h1>
<p>Nálunk minden régi óriást megtalál.</p>
</div>
</div>
<div class="dia carousel-item">
<img src="kepek/lada_fejlec_900_350.jpg" class="d-block img-fluid w-100">
<div class="carousel-caption d-none d-md-block caption-center dia-elem-szovegdoboz">
<h1>A Keleti blokktól Hollywoodig</h1>
<p>1960 és 1990 közötti autógyártás remekművei közül válogathat</p>
</div>
</div>
<div class="dia carousel-item">
<img src="kepek/polszki_fejlec_900_350.jpg" class="d-block img-fluid w-100">
<div class="carousel-caption d-none d-md-block caption-center dia-elem-szovegdoboz">
<h1>Élje át gyerekkorát!</h1>
<p>Ezek a matuzsálemek mindenki szívében egy parányi nosztalgiát hordoznak</p>
</div>
</div>
</div>
<a class="carousel-control-prev " href="#diasor" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#diasor" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</section>
<h1 class="my-4">Veteránautó kölcsönzés</h1>
<!-- Rólunk szekció -->
<section>
<a class="anchor" id="rolunk"></a>
<h2>Rólunk</h2>
<p>
Az <b>Oldtimer Veteránautó-kölcsönző</b> cég küldetése, hogy ügyfelei számára visszahozza a múlt
egy igen jellemző szeletét. Autóinkat a lehető legkülönbözőbb korokból válogattuk össze,
kifejezetten azzal a céllal, hogy visszarepíthessük Önt az elmúlt évszázad autóiapri csodáinak
birodalmába!<br />
</p>
</section>
<!-- Kínálat szekció -->
<section>
<a class="anchor" id="kinalat"></a>
<h2>Kínálatunk</h2>
<div class="row">
<div class="card h-100 col-12 col-md-6">
<a href="#"><img class="card-img-top" src="../kepek/trabant_700_400.jpg" alt="Trabant 601"></a>
<div class="card-body">
<h4 class="card-title">
<a href="#">Trabant 601</a>
</h4>
<h5>Ár: 2.500 Ft. / óra</h5>
<p class="card-text">A Trabant keletnémet gépkocsitípus, melyet a német VEB Sachsenring
gyártott. a legelterjedtebb autó volt Kelet-Németországban.
</p>
</div>
<div class="card-footer">
<a href="#" class="btn btn-primary">Foglalás</a>
</div>
</div>
<div class="card h-100 col-12 col-md-6">
<a href="#"><img class="card-img-top" src="../kepek/moszkvics_700_400.jpg" alt="Moszkvics 408"></a>
<div class="card-body">
<h4 class="card-title">
<a href="#">Moszkvics 408</a>
</h4>
<h5>$24.99</h5>
<p class="card-text">
A Moszkvics egy Moszkvában 1947 és 1968 között gyártott szovjet autómárka. A
Moszkovszkij
Zavod Maliolitrazsnih Avtomobilej (MZMA) készítette, akár a 130 km/h-s sebességre is
képes.
</p>
</div>
<div class="card-footer">
<a href="#" class="btn btn-primary">Foglalás</a>
</div>
</div>
<div class="card h-100 col-12 col-md-6">
<a href="#"><img class="card-img-top" src="../kepek/delorean_700_400.jpg" alt="DeLorean DMC-12"></a>
<div class="card-body">
<h4 class="card-title">
<a href="#">DeLorean DMC-12</a>
</h4>
<h5>Ár: 12.000 huf / óra</h5>
<p class="card-text">
Ezt a világhírű sportautót a John DeLorean által alapított DeLorean Motor Company
gyártotta 1981-ben.
A DeLorean egy módosított változata a Vissza a jövőbe filmtrilógiában szerepelt mint
időgép.
</p>
</div>
<div class="card-footer">
<a href="#" class="btn btn-primary">Foglalás</a>
</div>
</div>
<div class="card h-100 col-12 col-md-6">
<a href="#"><img class="card-img-top" src="../kepek/cadillac_700_400.jpg"
alt="Cadillac Fleetwood Brougham"></a>
<div class="card-body">
<h4 class="card-title">
<a href="#">Cadillac Fleetwood Brougham</a>
</h4>
<h5>Ár: 15.000 Ft. / óra</h5>
<p class="card-text">Ezt a luxusautó az amerikai Cadillac gyár kapuján gurult ki 1977 és
1986 között.
A Fleetwood jelzővel az összes lehetséges extrával felszerelt modellt illették.</p>
</div>
<div class="card-footer">
<a href="#" class="btn btn-primary">Foglalás</a>
</div>
</div>
<div class="card h-100 col-12 col-md-6">
<a href="#"><img class="card-img-top" src="../kepek/ferrari_700_400.jpg" alt="Ferrari Spider 1992"></a>
<div class="card-body">
<h4 class="card-title">
<a href="#">Ferrari 348</a>
</h4>
<h5>Ár: 18.000 huf / óra</h5>
<p class="card-text">
A Ferrari 348-as 1989 és 1995 között készült, egyedi V8-as motorral ellátott
sportautó.
Ez volt a legutolsó modell, amit még maga Enzo Ferrari tervezett.
</p>
</div>
<div class="card-footer">
<a href="#" class="btn btn-primary">Foglalás</a>
</div>
</div>
<div class="card h-100 col-12 col-md-6">
<a href="#"><img class="card-img-top" src="../kepek/mustang_700_400.jpg" alt="1970 Ford Mustang Boss 302"></a>
<div class="card-body">
<h4 class="card-title">
<a href="#">1970 Ford Mustang Boss 302</a>
</h4>
<h5>Ár: 20.000 Ft / óra.</h5>
<p class="card-text">
Eredetileg 1969 és 1970 között készült, módosított Ford Mustang Boss 302,
mely nem összekeverendő a 2012-ben újraélesztett, hasonló nevű modellel.
Ez volt az a széria, ami igazán népszerűvé tette a márkát
</p>
</div>
<div class="card-footer">
<a href="#" class="btn btn-primary">Foglalás</a>
</div>
</div>
</div>
</section>
<!-- Elérhető autók szekció -->
<section id="elerheto-autok">
<h2>Átmenetileg nem elérhető autóink:</h2>
<p id="nem-elerheto">
</p>
</section>
<!-- Hírlevél szekció -->
<section>
<a class="anchor" id="hirlevel"></a>
<h2>Feliratkozás a hírlevélre:</h2>
<p class="szurke-hatter">Értesüljön elsőként akcióinkról, és új autóinkról!</p>
<div class="input-group mb-3">
<input type="email" class="form-control" placeholder="Email cím" aria-label="Email cím"
aria-describedby="basic-addon2">
</div>
<button type="button" class="btn btn-secondary">Feliratkozás</button>
</section>
<!-- Vélemény szekció -->
<section id="velemeny">
<h2>Bérelt már nálunk?</h2>
<form>
<div class="form-group">
<textarea class="form-control" id="velemenyInput" rows="3"
placeholder="Mondja el véleményét!"></textarea>
</div>
<button type="button" class="btn btn-secondary" onclick="velemenyKuldes()">Beküldés</button>
</form>
</section>
</div>
<!-- Kapcsolat szekció -->
<footer class="mt-5 py-5 bg-dark">
<a class="anchor" id="kapcsolat"></a>
<div class="container">
<p class="m-0 text-center text-white">
Oldtimer Veteránautó-kölcsönző <br />
9999 Régihalom <br />
Fő út 1. <br />
Telefon: +36 55 555-5555 <br />
Email: <a href="mailto:kapcsolat@veteranautokolcsonzo.hu">kapcsolat@veteranautokolcsonzo.hu</a>
</p>
</div>
</footer>
<!-- Opcionális JavaScript -->
<!-- jQuery először, utána a Popper.js, végül Bootstrap JS -->
<script src="../assets/jquery/jquery-3.3.1.min.js"></script>
<script src="../assets/popper/popper.min.js"></script>
<script src="../assets/bootstrap/js/bootstrap.min.js"></script>
<script src="oldtimer.js"></script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

BIN
web/kepek/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

37
web/oldtimer.css Normal file
View File

@ -0,0 +1,37 @@
body {
padding-top: 56px;
font-family: sans-serif;
}
.anchor {
display: block;
position: relative;
top: -56px;
}
section {
padding-bottom: 25px;
border-bottom: 2px solid #9696969c;
}
#diasor {
border-bottom: none;
padding-bottom: 0;
}
h2 {
margin-top: 25px;
margin-bottom: 25px;
}
li{
color:white;
}
.dia-elem-szovegdoboz {
background-color: #1714149c;
}
nav {
font-weight: 600;
}

34
web/oldtimer.js Normal file
View File

@ -0,0 +1,34 @@
document.getElementById('nem-elerheto').textContent = 'Jelenleg minden autó elérhet ő!'
fetch('api/nemelerheto')
.then(res => {
res.json()
.then(json => {
document.getElementById('nem-elerheto').textContent = json.nemElerhetoAutok.toString()
})
.catch(console.error)
})
.catch(console.error)
function velemenyKuldes() {
const val = document.getElementById('velemenyInput').value
fetch('api/velemeny', {
method: 'POST',
body: JSON.stringify({
velemeny: val,
}),
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
})
.then(res => {
res.json()
.then(json => {
console.log(json)
document.getElementById('velemenyInput').value = ''
alert('Véleménye fontos számunkra!')
})
.catch(console.error)
})
.catch(console.error)
}