From 108e017a51d93be73db45254e2f7713587f79160 Mon Sep 17 00:00:00 2001 From: Zhanna Date: Fri, 21 Aug 2026 10:54:12 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D1=83=D0=B1=D0=BB=D0=B8=D0=BA?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data.json | 615 --------------------- index.html | 1444 +++++++++++++++++++++++++++++--------------------- package.json | 15 + 3 files changed, 863 insertions(+), 1211 deletions(-) delete mode 100644 data.json create mode 100644 package.json diff --git a/data.json b/data.json deleted file mode 100644 index 61abab9..0000000 --- a/data.json +++ /dev/null @@ -1,615 +0,0 @@ -{ - "cities": [ - { - "id": "prague", - "name": "Прага", - "country": "Чехия", - "flag": "🇨🇿", - "nights": 4, - "priceRange": "€70–120", - "district": "Praha 1", - "description": "Столица Чехии — один из красивейших городов Европы с потрясающей архитектурой, вкуснейшим пивом и уютными улочками.", - "image": "https://loremflickr.com/1200/800/prague" - }, - { - "id": "vienna", - "name": "Вена", - "country": "Австрия", - "flag": "🇦🇹", - "nights": 4, - "priceRange": "€80–140", - "district": "Внутренний город (Innere Stadt)", - "description": "Имперская столица Австрии с роскошными дворцами, богатой культурной программой и изысканными кофейнями.", - "image": "https://loremflickr.com/1200/800/vienna" - }, - { - "id": "bratislava", - "name": "Братислава", - "country": "Словакия", - "flag": "🇸🇰", - "nights": 2, - "priceRange": "€60–100", - "district": "Старый город (Staré Mesto)", - "description": "Столица Словакии — компактный уютный город с красивым старым центром и дружелюбной атмосферой.", - "image": "https://loremflickr.com/1200/800/bratislava" - }, - { - "id": "budapest", - "name": "Будапешт", - "country": "Венгрия", - "flag": "🇭🇺", - "nights": 4, - "priceRange": "€55–100", - "district": "Пешт (центр)", - "description": "Великолепная столица Венгрии с термальными источниками, впечатляющим парламентом и богатой историей.", - "image": "https://loremflickr.com/1200/800/budapest" - } - ], - "attractions": { - "prague": [ - { - "name": "Карлов мост", - "description": "Один из символов Праги, старинный каменный мост через Влтаву с 30 статуями святых.", - "price": "Бесплатно", - "rating": 5, - "image": "https://loremflickr.com/800/600/charles+bridge+prague" - }, - { - "name": "Пражский град", - "description": "Крупнейший замок в мире по площади, резиденция чешских королей и президента.", - "price": "от €10", - "rating": 5, - "image": "https://loremflickr.com/800/600/prague+castle" - }, - { - "name": "Собор Святого Вита", - "description": "Готический кафедральный собор внутри Пражского града с великолепными витражами.", - "price": "от €8", - "rating": 5, - "image": "https://loremflickr.com/800/600/st+vitus+cathedral" - }, - { - "name": "Староместская площадь", - "description": "Сердце Праги с архитектурными шедеврами всех эпох и стилей.", - "price": "Бесплатно", - "rating": 5, - "image": "https://loremflickr.com/800/600/old+town+square+prague" - }, - { - "name": "Астрономические часы", - "description": "Средневековые куранты Орлой с hourly-шоу движущихся фигурок апостолов.", - "price": "Бесплатно (смотровая €6)", - "rating": 4, - "image": "https://loremflickr.com/800/600/astronomical+clock+prague" - }, - { - "name": "Мала Страна", - "description": "Живописный район Праги под Пражским градом с барочными дворцами и тихими улочками.", - "price": "Бесплатно", - "rating": 4, - "image": "https://loremflickr.com/800/600/mala+strana+prague" - } - ], - "vienna": [ - { - "name": "Дворец Шёнбрунн", - "description": "Летняя резиденция Габсбургов с роскошными интерьерами и огромным парком.", - "price": "от €22", - "rating": 5, - "image": "https://loremflickr.com/800/600/schonbrunn+palace" - }, - { - "name": "Собор Святого Стефана", - "description": "Готический собор в центре Вены, символ города с потрясающим видом с башни.", - "price": "Бесплатно (башня €6)", - "rating": 5, - "image": "https://loremflickr.com/800/600/st+stephen+cathedral+vienna" - }, - { - "name": "Венская опера", - "description": "Одна из ведущих оперных театров мира с богатой программой и роскошными интерьерами.", - "price": "от €15", - "rating": 5, - "image": "https://loremflickr.com/800/600/vienna+opera" - }, - { - "name": "Бельведер", - "description": "Дворцовый комплекс с шедеврами австрийского искусства, включая работы Климта.", - "price": "от €16", - "rating": 4, - "image": "https://loremflickr.com/800/600/belvedere+vienna" - }, - { - "name": "Рингштрассе", - "description": "Кольцевой бульвар вокруг старого города с главными достопримечательностями.", - "price": "Бесплатно", - "rating": 4, - "image": "https://loremflickr.com/800/600/ringstrasse+vienna" - } - ], - "bratislava": [ - { - "name": "Братиславский град", - "description": "Замок на холме с панорамным видом на город и Дунай, исторический музей.", - "price": "€10", - "rating": 4, - "image": "https://loremflickr.com/800/600/bratislava+castle" - }, - { - "name": "Старый город", - "description": "Исторический центр с узкими улочками, кафе и знаменитой статуей Чумила.", - "price": "Бесплатно", - "rating": 4, - "image": "https://loremflickr.com/800/600/bratislava+old+town" - }, - { - "name": "Собор Святого Мартина", - "description": "Готический собор XIV века, где короновали венгерских королей.", - "price": "€2", - "rating": 4, - "image": "https://loremflickr.com/800/600/st+martin+cathedral+bratislava" - }, - { - "name": "Нова-Словнафт Арена", - "description": "Современная набережная Дуная с ресторанами и видом на мост СНП.", - "price": "Бесплатно", - "rating": 3, - "image": "https://loremflickr.com/800/600/bratislava+waterfront" - } - ], - "budapest": [ - { - "name": "Парламент Венгрии", - "description": "Великолепное неоготическое здание парламента на берегу Дуная — символ Будапешта.", - "price": "от €12", - "rating": 5, - "image": "https://loremflickr.com/800/600/hungarian+parliament" - }, - { - "name": "Рыбацкий бастион", - "description": "Смотровая терраса в неоготическом стиле с панорамным видом на Пешт и Дунай.", - "price": "€4", - "rating": 5, - "image": "https://loremflickr.com/800/600/fishermans+bastion" - }, - { - "name": "Церковь Матьяша", - "description": "Историческая церковь с красивой черепичной крышей и богатой историей коронаций.", - "price": "€8", - "rating": 4, - "image": "https://loremflickr.com/800/600/matyas+church+budapest" - }, - { - "name": "Термальные купальни Сечени", - "description": "Крупнейший термальный комплекс Европы с 18 бассейнами под открытым небом.", - "price": "от €22", - "rating": 5, - "image": "https://loremflickr.com/800/600/szechenyi+thermal+bath" - }, - { - "name": "Проспект Андраши", - "description": "Главный проспект Будапешта с роскошными зданиями, магазинами и_OPERA_.", - "price": "Бесплатно", - "rating": 4, - "image": "https://loremflickr.com/800/600/andrassy+avenue+budapest" - }, - { - "name": "Центральный рынок", - "description": "Большой крытый рынок с венгерскими деликатесами, сувенирами и локальной едой.", - "price": "Бесплатно", - "rating": 4, - "image": "https://loremflickr.com/800/600/central+market+budapest" - } - ] - }, - "hotels": { - "prague": [ - { - "name": "Hotel Golden Well", - "category": "Премиум", - "price": "€180–250", - "rating": 5, - "district": "Мала Страна", - "image": "https://loremflickr.com/800/600/hotel+luxury" - }, - { - "name": "Hotel Metamorphis", - "category": "Комфорт", - "price": "€90–130", - "rating": 4, - "district": "Старый город", - "image": "https://loremflickr.com/800/600/hotel+comfort" - }, - { - "name": "Czech Inn Hostel", - "category": "Эконом", - "price": "€25–45", - "rating": 4, - "district": "Винограды", - "image": "https://loremflickr.com/800/600/hostel" - } - ], - "vienna": [ - { - "name": "Hotel Sacher Wien", - "category": "Премиум", - "price": "€250–400", - "rating": 5, - "district": "Внутренний город", - "image": "https://loremflickr.com/800/600/hotel+sacher" - }, - { - "name": "25hours Hotel beim MuseumsQuartier", - "category": "Комфорт", - "price": "€100–150", - "rating": 4, - "district": "Музейный квартал", - "image": "https://loremflickr.com/800/600/hotel+modern" - }, - { - "name": "Wombat's City Hostel", - "category": "Эконом", - "price": "€30–50", - "rating": 4, - "district": "Леопольдштадт", - "image": "https://loremflickr.com/800/600/hostel+vienna" - } - ], - "bratislava": [ - { - "name": "Hotel Devin", - "category": "Премиум", - "price": "€150–220", - "rating": 5, - "district": "Старый город", - "image": "https://loremflickr.com/800/600/hotel+devin" - }, - { - "name": "Lindner Hotel Gateway", - "category": "Комфорт", - "price": "€80–120", - "rating": 4, - "district": "Старый город", - "image": "https://loremflickr.com/800/600/hotel+gateway" - }, - { - "name": "Patio Hostel", - "category": "Эконом", - "price": "€20–40", - "rating": 4, - "district": "Старый город", - "image": "https://loremflickr.com/800/600/hostel+bratislava" - } - ], - "budapest": [ - { - "name": "Four Seasons Hotel Gresham Palace", - "category": "Премиум", - "price": "€200–350", - "rating": 5, - "district": "Пешт, у моста", - "image": "https://loremflickr.com/800/600/four+seasons+budapest" - }, - { - "name": "Brody House", - "category": "Комфорт", - "price": "€70–110", - "rating": 4, - "district": "Пешт", - "image": "https://loremflickr.com/800/600/brody+house" - }, - { - "name": "Wombat's City Hostel", - "category": "Эконом", - "price": "€25–45", - "rating": 4, - "district": "Пешт", - "image": "https://loremflickr.com/800/600/wombats+budapest" - } - ] - }, - "transport": [ - { - "from": "Астана", - "to": "Прага", - "type": "✈️ Самолёт", - "duration": "≈ 6 часов", - "price": "€200–400", - "priceKZT": 100000 - }, - { - "from": "Прага", - "to": "Вена", - "type": "🚆 Поезд", - "duration": "≈ 4 часа", - "price": "€15–40", - "priceKZT": 25000 - }, - { - "from": "Вена", - "to": "Братислава", - "type": "🚆 Поезд", - "duration": "≈ 1 час", - "price": "€10–20", - "priceKZT": 12000 - }, - { - "from": "Братислава", - "to": "Будапешт", - "type": "🚆 Поезд", - "duration": "≈ 2,5 часа", - "price": "€15–30", - "priceKZT": 18000 - }, - { - "from": "Будапешт", - "to": "Астана", - "type": "✈️ Самолёт", - "duration": "≈ 5,5 часов", - "price": "€250–450", - "priceKZT": 120000 - } - ], - "days": [ - { - "day": 1, - "city": "prague", - "title": "Астана → Прага", - "icon": "✈️", - "activities": [ - "Перелёт Астана — Прага", - "Трансфер в отель", - "Заселение", - "Вечерняя прогулка по центру" - ], - "cost": "25 000–40 000 ₸" - }, - { - "day": 2, - "city": "prague", - "title": "Прага — Старый город", - "icon": "📍", - "activities": [ - "Староместская площадь", - "Астрономические часы Орлой", - "Вацлавская площадь", - "Улица На Пршикопе" - ], - "cost": "20 000–30 000 ₸" - }, - { - "day": 3, - "city": "prague", - "title": "Прага — Пражский град", - "icon": "🏰", - "activities": [ - "Пражский град", - "Собор Святого Вита", - "Золотая улочка", - "Мала Страна" - ], - "cost": "25 000–35 000 ₸" - }, - { - "day": 4, - "city": "prague", - "title": "Прага — Карлов мост", - "icon": "🌉", - "activities": [ - "Карлов мост", - "Остров Кампа", - "Петршинская башня", - "Вечерняя прогулка" - ], - "cost": "15 000–25 000 ₸" - }, - { - "day": 5, - "city": "vienna", - "title": "Прага → Вена", - "icon": "🚆", - "activities": [ - "Поезд Прага — Вена (≈ 4 часа)", - "Заселение в отель", - "Рингштрассе", - "Прогулка по центру" - ], - "cost": "20 000–35 000 ₸" - }, - { - "day": 6, - "city": "vienna", - "title": "Вена — Имперская", - "icon": "👑", - "activities": [ - "Дворец Шёнбрунн", - "Парк Шёнбрунна", - "Триумфальная арка Глориетта", - "Вечер в традиционном ресторане" - ], - "cost": "30 000–45 000 ₸" - }, - { - "day": 7, - "city": "vienna", - "title": "Вена — Культурная", - "icon": "🎭", - "activities": [ - "Собор Святого Стефана", - "Венская опера (экскурсия или спектакль)", - "Музейный квартал", - "Прогулка по Грабену" - ], - "cost": "25 000–40 000 ₸" - }, - { - "day": 8, - "city": "vienna", - "title": "Вена — Искусство", - "icon": "🎨", - "activities": [ - "Бельведер (Климт)", - "Альбертина", - "Хофбург", - "Испанская школа верховой езды" - ], - "cost": "30 000–50 000 ₸" - }, - { - "day": 9, - "city": "bratislava", - "title": "Вена → Братислава", - "icon": "🚆", - "activities": [ - "Поезд Вена — Братислава (≈ 1 час)", - "Заселение", - "Старый город", - "Ужин на набережной Дуная" - ], - "cost": "15 000–25 000 ₸" - }, - { - "day": 10, - "city": "bratislava", - "title": "Братислава — Компактная", - "icon": "🏛️", - "activities": [ - "Братиславский град", - "Собор Святого Мартина", - "Старый город", - "Статуя Чумила" - ], - "cost": "15 000–20 000 ₸" - }, - { - "day": 11, - "city": "budapest", - "title": "Братислава → Будапешт", - "icon": "🚆", - "activities": [ - "Поезд Братислава — Будапешт (≈ 2,5 часа)", - "Заселение", - "Проспект Андраши", - "Вечерняя прогулка" - ], - "cost": "20 000–30 000 ₸" - }, - { - "day": 12, - "city": "budapest", - "title": "Будапешт — Пешт", - "icon": "🏛️", - "activities": [ - "Парламент Венгрии", - "Базилика Святого Иштвана", - "Центральный рынок", - "Еврейский квартал" - ], - "cost": "25 000–40 000 ₸" - }, - { - "day": 13, - "city": "budapest", - "title": "Будапешт — Буда", - "icon": "🏰", - "activities": [ - "Рыбацкий бастион", - "Церковь Матьяша", - "Замок Будайской крепости", - "Вид на Дунай" - ], - "cost": "20 000–30 000 ₸" - }, - { - "day": 14, - "city": "budapest", - "title": "Будапешт — Релакс", - "icon": "♨️", - "activities": [ - "Термальные купальни Сечени", - "Остров Маргит", - "Прогулка на кораблике по Дунаю", - "Прощальный ужин" - ], - "cost": "25 000–40 000 ₸" - }, - { - "day": 15, - "city": "astana", - "title": "Будапешт → Астана", - "icon": "✈️", - "activities": [ - "Завтрак", - "Трансфер в аэропорт", - "Перелёт Будапешт — Астана", - "Прибытие домой" - ], - "cost": "25 000–40 000 ₸" - } - ], - "tips": [ - { - "icon": "🛂", - "title": "Документы", - "text": "Проверить требования для въезда и необходимые документы (загранпаспорт, виза)." - }, - { - "icon": "💳", - "title": "Деньги", - "text": "Рекомендуется иметь банковскую карту + небольшой запас наличных евро." - }, - { - "icon": "📱", - "title": "Интернет", - "text": "Подключить eSIM или туристическую SIM-карту для Европы." - }, - { - "icon": "🛡️", - "title": "Страховка", - "text": "Оформить туристическую страховку на весь период поездки." - }, - { - "icon": "🎒", - "title": "Багаж", - "text": "Для поездки на 15 дней оптимально — ручная кладь + заранее проверить нормы авиакомпании." - }, - { - "icon": "🚆", - "title": "Поезда", - "text": "Билеты между городами лучше покупать заранее онлайн — дешевле и гарантия мест." - } - ], - "checklist": [ - { "id": 1, "text": "Загранпаспорт", "done": false }, - { "id": 2, "text": "Виза / документы для въезда", "done": false }, - { "id": 3, "text": "Туристическая страховка", "done": false }, - { "id": 4, "text": "Авиабилеты", "done": false }, - { "id": 5, "text": "Брони отелей", "done": false }, - { "id": 6, "text": "Билеты на поезда", "done": false }, - { "id": 7, "text": "Банковские карты", "done": false }, - { "id": 8, "text": "Наличные евро", "done": false }, - { "id": 9, "text": "eSIM", "done": false }, - { "id": 10, "text": "Зарядка", "done": false }, - { "id": 11, "text": "Power Bank", "done": false } - ], - "budget": { - "flights": 220000, - "trains": 55000, - "hotels": { - "economy": 350000, - "comfort": 550000, - "premium": 900000 - }, - "food": { - "economy": 180000, - "medium": 280000, - "comfort": 400000 - }, - "attractions": { - "min": 60000, - "standard": 100000, - "many": 160000 - }, - "transport": 40000 - } -} diff --git a/index.html b/index.html index 9e0b580..f69a5d8 100644 --- a/index.html +++ b/index.html @@ -3,650 +3,902 @@ -Europe Trip — 15 дней | Маршрут из Астаны +Коммунальный бюджет | Корпоративная система - - + + - -
-
- -
+ - -
-
-
-
-

ЕВРОПА ЗА 15 ДНЕЙ

-

Идеальный маршрут для первой самостоятельной поездки из Астаны

-
- 🇰🇿 Астана - → - 🇨🇿 Прага - → - 🇦🇹 Вена - → - 🇸🇰 Братислава - → - 🇭🇺 Будапешт -
-
- - -
-
-
- - -
-
-

Ваш маршрут на 15 дней

-
-
-
-
- - -
-
-

15 дней в Европе

-
-
-
- - -
-
-

Где остановиться

-
-
-
- - -
-
-

Как перемещаться между городами

-
-
-
- - -
-
-

Сколько стоит поездка?

-
-
-
- - -
-
- - -
-
- - -
-
- - + +
+ +
+
+ + +
+
+ +
+
Ж
+ Жанна
-
-
-
-
- 💰 ИТОГО: - 0 ₸ +
+ + +
+ + +
+ + + +
+ + +
+ + +
+ +
+
+

План / Факт / Прогноз

+
+
+
+
+
+ + +
+
+

Структура расходов

+
+
+
+
-
-
-
-
-
✈️
Авиабилеты
-
🚆
Переезды
-
🏨
Отели
-
🍽️
Питание
-
🎟️
Достопримечательности
-
🚇
Транспорт
-
-
-
- -
-
-

Перед поездкой

-
-
-
- - -
-
-

Чек-лист подготовки

-
-
-
- Готово: - 0 / 11 -
-
-
+ +
+
+

Журнал изменений

+
+
+
+
+
+
-
    -
    -
    -
    - - + + + + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..bbb2317 --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "communal-budget", + "private": true, + "type": "commonjs", + "scripts": { + "start": "node --env-file=.env server.js" + }, + "dependencies": { + "grammy": "^1.1.0", + "xlsx": "^0.18.5", + "mammoth": "^1.6.0", + "pdf-parse": "^1.1.1", + "formidable": "^3.5.0" + } +}