Compare commits

..

No commits in common. "master" and "webstar-branch" have entirely different histories.

36 changed files with 10 additions and 2172 deletions

View File

@ -6,9 +6,9 @@
"scripts": { "scripts": {
"start": "npx nodemon ./server", "start": "npx nodemon ./server",
"up:prod": "cross-env NODE_ENV=\"production\" node ./server", "up:prod": "cross-env NODE_ENV=\"production\" node ./server",
"deploy:d:stop": "docker compose down", "deploy:d:stop": "docker-compose down",
"deploy:d:build": "docker compose build", "deploy:d:build": "docker-compose build",
"deploy:d:up": "docker compose up -d", "deploy:d:up": "docker-compose up -d",
"redeploy": "npm run deploy:d:stop && npm run deploy:d:build && npm run deploy:d:up", "redeploy": "npm run deploy:d:stop && npm run deploy:d:build && npm run deploy:d:up",
"eslint": "npx eslint ./server", "eslint": "npx eslint ./server",
"eslint:fix": "npx eslint ./server --fix", "eslint:fix": "npx eslint ./server --fix",

View File

@ -56,18 +56,13 @@ app.use('/example', require('./routers/example'))
// app.use('/car-wash', require('./routers/car-wash')) // app.use('/car-wash', require('./routers/car-wash'))
app.use('/zoom-bar', require('./routers/zoom-bar')) app.use('/zoom-bar', require('./routers/zoom-bar'))
app.use('/r-and-m', require('./routers/r-and-m')) app.use('/r-and-m', require('./routers/r-and-m'))
app.use('/my', require('./routers/my'))
app.use('/edateam', require('./routers/edateam')) app.use('/edateam', require('./routers/edateam'))
app.use('/webstar-project', require('./routers/webstar-project')) app.use('/webstar-project', require('./routers/webstar-project'))
app.use('/dogsitters-finder', require('./routers/dogsitters-finder'))
app.use('/dhs-testing', require('./routers/dhs-testing'))
app.use('/kazan-explore', require('./routers/kazan-explore'))
//app.use('/basket', require('./routers/basket')) //app.use('/basket', require('./routers/basket'))
//app.use('/easy-project', require('./routers/easy-project')) //app.use('/easy-project', require('./routers/easy-project'))
//app.use('/sugarbun', require('./routers/sugarbun')) //app.use('/sugarbun', require('./routers/sugarbun'))
app.use('/epja-2023-2', require('./routers/epja-2023-2')) app.use('/epja-2023-2', require('./routers/epja-2023-2'))
require('./routers/hub-video') require('./routers/hub-video')
app.use('/school-stage', require('./routers/school-stage'))
app.use(require('./error')) app.use(require('./error'))

View File

@ -1,35 +0,0 @@
const { response } = require('express');
const router = require('express').Router();
router.get('/tests-data', (request, response) => {
response.send(require('./json/tests-data/success.json'))
})
router.get("/users-data", (request, response) => {
response.send(require("./json/users-data/success.json"))
})
router.get('/results-data', (request, response) => {
response.send(require('./json/results-data/results.json'))
})
router.get('/records-data', (request, response) => {
response.send(require('./json/records-data/records.json'))
})
router.post('/submit-enter', (request, response) => {
const data = request.body;
response.send({ success: true, message: "Вы успешно вошли в аккаунт!" });
});
router.post('/submit-reg', (request, response) => {
const data = request.body;
response.send({ success: true, message: "Регистрация прошла успешно!" });
});
router.post('/submit-record', (request, response) => {
const formData = request.body;
response.send({ success: true, message: "Record submitted successfully" });
});
module.exports = router;

View File

@ -1,13 +0,0 @@
{
"dates":
[
{ "date": "2024-01-06T18:00:00"},
{ "date": "2024-01-05T16:00:00"},
{ "date": "2024-01-07T12:00:00"}
],
"specialists":
[{"name": "Петрова Анна"},
{"name": "Сидорова Елена"},
{"name": "Иванов Олег"}]
}

View File

@ -1,17 +0,0 @@
{
"titles":
[
{ "id": 1, "name": "Тест на самооценку", "flag":1 },
{ "id": 2, "name": "Какой у Вас тип мышления?", "flag":1 },
{ "id": 3, "name": "Экспресс IQ-тест", "flag":1 },
{ "id": 4, "name": "Определение уровня депрессии", "flag":0},
{ "id": 5, "name": "Есть ли у Вас РПП?", "flag":0 },
{ "id": 6, "name": "Тест на скрытый нарциссизм", "flag":0 },
{ "id": 7, "name": "Диагностика выгорания", "flag":0 },
{ "id": 8, "name": "Тест на уверенность в себе", "flag":0 },
{ "id": 9, "name": "Диагностика ОКР", "flag":0 },
{ "id": 10, "name": "Насколько Вы тревожны?", "flag":0 },
{ "id": 11, "name": "Тест на СДВГ", "flag":0 },
{ "id": 12, "name": "Ваш тип привязанности", "flag":0 }
]
}

View File

@ -1,18 +0,0 @@
{
"formData":[
{
"name": "Имя1",
"phone": "89997776655",
"date": "2024-01-06",
"time": "12:00",
"specialist": "Иванов"
},
{
"name": "Имя2",
"phone": "89997776654",
"date": "2024-01-06",
"time": "15:00",
"specialist": "Иванов"
}
]
}

View File

@ -1,248 +0,0 @@
{
"tests":
[
{
"questions":
["Мне кажется, что другие выглядят лучше, чем я",
"Я боюсь выступать перед большой аудиторией",
"Я чувствую себя неловко, находясь в центре внимания",
"Я часто чувствую себя напряженным",
"Я хочу, чтобы мои действия одобрялись другими людьми",
"Мне не хочется выглядеть глупым",
"Я прихожу к мысли, что моя жизнь бессмысленна",
"Я думаю о том, чего ждут от меня другие люди"
],
"results": [{
"title":"Ваш результат - заниженная самооценка",
"description":"Если в детстве критика и похвала родителей были нечеткими, пространными, ребенок не понимает, что конкретно означает быть хорошим или плохим. Так бывает, когда мы слышим от взрослых что-то вроде: «Что за негодный ребенок мне достался!» или «У Петровых дочь умница, не то что ты» вместо конструктивной критики за конкретный поступок. Тогда в будущем мы можем стать зависимыми от чужого одобрения, постоянно доказывать, что мы нужны — точно так же, как в детстве пытались заслужить признание взрослого. Человек, у которого не было достаточного опыта любви со стороны родителей, не может «просто полюбить» себя. Он будет искать «повод» для этой любви вовне, пристально наблюдая, как к нему относятся окружающие: уважают ли они его? Считают ли «достаточно хорошим»? Вечные спутники такого человека — болезненное восприятие критики, беспричинная ревность к партнеру, отношение к любой неудаче как к тотальному провалу. Если это про вас, попробуйте взглянуть на себя с сочувствием — не как строгий учитель, а как заботливый и внимательный взрослый смотрит на своего ребенка."
},
{ "title":"Ваша результат - средняя самооценка",
"description":"Люди со средней самооценкой обычно имеют здоровое чувство уверенности в себе, но при этом они не склонны к высокомерию или недооценке своих способностей. Они могут быть целеустремленными, умеющими принимать критику и стремящимися к самосовершенствованию. Такие люди часто открыты новым идеям и опытам, готовы рисковать и пробовать что-то новое, но при этом они сохраняют здравый рассудок и реалистичные ожидания от себя и окружающих."
},
{"title":"Ваш результат - высокая самооценка",
"description":"Люди с высокой самооценкой обычно имеют сильное чувство уверенности в себе и своих способностях. Они часто стремятся к достижению высоких целей, уверены в своих решениях и способны принимать ответственность за свои действия. Люди с высокой самооценкой часто проявляют лидерские качества, умеют влиять на окружающих и эффективно решать проблемы. Они обычно отличаются открытостью к новым идеям, готовностью к риску и стремлением к саморазвитию. В то же время, люди с высокой самооценкой могут быть склонны к высокомерию, недостаточно внимательны к мнению других и не всегда готовы принимать критику. Высокая самооценка - это уверенность в своих способностях и ценности как личности. Люди с высокой самооценкой обычно имеют позитивное отношение к себе, верят в свои собственные силы и способны принимать жизненные вызовы с оптимизмом. Они обладают уверенностью в собственных решениях и способны эффективно справляться с трудностями. Однако важно отметить, что высокая самооценка не должна переходить в высокомерие или недостаток уважения к другим."}
]
},
{
"questions":
["Я часто использую символические метафоры для выражения мыслей",
"Мне кажется, что работа сценаристаили писателя очень интересна",
"Я очень увлечен, когда читаю стихи и рассказы вслух",
"Я без труда излагаю свои мысли в устной и письменной форме.",
"В школе мне не очень нравились уроки по технологии труда",
"Меня абсолютно не интересуют языки программирования",
"Одной из самых любимых игрушек в детстве у меня был конструктор",
"Я всегда был увлечен изучением иностранных языков"
],
"results": [{
"title":"Ваш результат - образное мышление",
"description":"Отделено от предмета в пространстве и времени. Преобразование информации осуществляется с помощью действий с образами. Нет физических ограниченийна преобразование. Операции можно осуществлять последовательно и одновременно. Результатом является мысль, воплощенная в новом образе. Этим мышлением обладают люди с художественным складом ума."},
{ "title":"Ваш результат - знаковое мышление",
"description":"Преобразование информации осуществляется с помощью умозаключений. Знаки объединяются в более крупные единицы по правилам единой грамматики. Результатом является мысль в форме понятия или высказывания, фиксирующего существенные отношения между обозначаемыми предметами. Этим мышлением обладают люди с гуманитарным складом ума."
},
{"title":"Ваш результат - символическое мышление",
"description":"Преобразование информации осуществляется с помощью правил вывода (в частности, алгебраических правил или арифметических знаков и операций). Результатом является мысль, выраженная в виде структур и формул, фиксирующих существенные отношения между символами. Этим мышлением обладают люди с математическим складом ума."
}
]
},
{
"questions":
["Мой сон хуже, чем в обычное время",
"Сейчас мое настроение хуже обычного",
"Я не спокоен за свое будущее",
"Мой аппетит в последнее время изменился",
"Обычно я чувствую к себе ненависть",
"У меня порой бывает желание умереть",
с трудом могу принимаю решения",
"События радуют меня меньше, чем раньше"
],
"results": [
{ "title":"Ваш результат - выраженная депрессия ",
"description":"Вы стали малообщительным человеком, стараетесь избегать контактов даже с близкими людьми. Вероятно, подолгу не выходите из своей комнаты или из дома. Происходящее вокруг теперь не вызывает такого интереса как ранее, а жизнь кажется серой. Скорее всего, вы не следите за собой, за питанием и внешним видом. В вашем случае крайне необходима помощь со стороны специалиста, не стоит тянуть время."
},{"title":"Ваш результат - умеренная депрессия",
"description":"Легкая депрессия — это расстройство, возникающее в результате перегрузки организма, конфликта с окружающими или просто сильного стресса. Она характеризуется продолжительным плохим настроением (несколько дней и более), периодической раздражительностью или даже агрессией. В последнее время все чаще вы проявляете равнодушие и апатию к окружающему, к тому, что раньше часто приносило положительные эмоции. Чувство усталости даже от нетрудной и не длительной работы. Она проходит, когда человек решает свои проблемы, но если вам не удается самостоятельно справиться с ними, то стоит обратиться за помощью к психотерапевту."
},{
"title":"Ваш результат - депрессия отсутствует",
"description":"Депрессия отсутствует, либо незначительна. Смена настроения, самочувствия часто наблюдается при сезонной депрессии или кратковременных стрессах. В первом случае это следствие недостатка солнечного света, витамина D и дефицита аминов (серотонина, дофамина, норадреналина). А во втором случае — это ощущение эмоциональных и физических перегрузок. Не стоит переживать, это вполне нормальная защитная реакция организма."}
]
},
{
"questions":
["Я испытываю ужас при мысли об избыточном весе",
"Я избегаю приема пищи, когда чувствую голод",
"Я разрезаю свою еду на маленькие кусочки",
"Я знаю о количестве калорий в моей еде",
"Я избегаю пищу с большим содержанием углеводов",
"Другие хотели бы, чтобы я ел больше",
"У меня бывает рвота после того, как поем",
"Я испытываю чрезмерную вину после еды"
],
"results": [{
"title":"Ваш результат - похоже у вас РПП",
"description":"Вы набрали высокие баллы по показателям анорексии и булимии. Это момент для серьезного разговора и поддержки. Анорексия и булимия это не просто «диеты» или «плохие привычки». Это глубокие психологические трудности, которые могут иметь опасные и даже смертельные последствия. При анорексии люди могут потерять контакт с реальностью, столкнуться с критическим истощением, нарушением работы внутренних органов. И, да, это может привести к летальному исходу… Булимия тоже чревата серьезными последствиями: электролитный дисбаланс, проблемы с пищеварением, повреждение зубов и даже сердечные нарушения."},
{"title":"Ваш результат - ограничительное пищевое поведение",
"description":"Ограничительное пищевое поведение является следствием самолечения от ожирения или дистрофии.Ограничительное пищевое поведение может возникнуть на фоне диетотерапии. Крайняя степень выражения ограничительного поведения так называемая «диетическая депрессия».Профилактикой ограничительного пищевого поведения может послужить постепенное, а не одномоментное исключение из рациона любимых блюд."
},
{ "title":"Ваш результат - у вас нет РПП ",
"description":"Поздравляем! У вас отличные отношения с едой. Кажется, ваше детство прошло без лишнего давления или критики по поводу фигуры и пищевых привычек. Вас, вероятно, не заставляли есть против вашей воли, и вы выросли в атмосфере поддержки и позитивного отношения к своему телу. Будьте здоровы!"
}
]
},
{
"questions":
["Другие люди недостаточно ценят мои хорошие качества",
"Люди часто видятся мне либо величественными, либо ужасными",
"Я особенно чувствительно реагирую на свои успех и неудачи",
"Я очень сильно завидую тем, у кого есть то, чего нет у меня",
"Я завидую всем людям, которых считаю красивее себя",
"В отношениях я то обожаю, то презираю другого человека",
"Я сильно боюсь быть отвергнутым другим человеком",
"Когда меня критикуют, я чувствую сильное унижение и апатию"
],
"results": [{
"title":"Ваш результат - тайный поклонник себя",
"description":"Ваш результат указывает на высокий уровень скрытого нарциссизма. Это означает, что ваша самооценка и самоуважение во многом зависят от внешнего одобрения и восхищения со стороны окружающих. Вы особенно чувствительны к критике и склонны скрывать свое негодование, вызванное критическими замечаниями, из страха перед еще большим осуждением. Вы частенько «уходите в себя», пытаясь защитить свою уязвимую сторону от враждебного мира, и оставляете участников коммуникации и партнеров в недоумении.Вероятно, вам приходится постоянно ранжировать свои мысли, эмоции, чувства и действия, чтобы продемонстрировать те, которые «подходят» ситуации. Этот процесс может отнимать колоссальное количество ресурса — и вы постоянно чувствуете усталость и истощение. Истинные чувства и мотивы приходится скрывать. Из-за этого ваше поведение может выглядеть загадочным и непоследовательным для окружающих. "},
{"title":"Ваш результат - легкая тень нарциссизма",
"description":"Вы набрали средний балл по шкале нарциссической уязвимости. Вероятно, вы периодически ищете подтверждения своей значимости со стороны других. Вы чувствительны к критике и беспокоитесь о том, что о вас подумают другие. Иногда вы переживаете моменты неуверенности в себе, которые компенсируете внешним одобрением и вниманием окружающих. Несмотря на то, что ваш результат находится в рамках нормы, эти нарциссические черты все-таки могут вызывать некоторую неудовлетворенность. Кроме того, ваш результат может отражать определенную степень интроверсии, которая не обязательно связана с нарциссическими чертами. Это может означать, что вы предпочитаете делиться своими мыслями и мотивами поступков только с ограниченным кругом близких, и в целом проявляете избирательность в коммуникациях."
},
{ "title":"Ваша результат - ваше Эго в порядке ",
"description":"У вас нет или очень мало деструктивных нарциссических черт. Вы вряд ли находитесь в постоянном поиске внешней валидации, внимания или восхищения. Вы склонны подходить к критике с открытым умом, и не слишком огорчаетесь, если вам отказывают в просьбах. Ваши дружеские и романтические связи, скорее всего, строятся на взаимном уважении и эмпатии, а ваша самооценка стабильна и не зависит от постоянного одобрения окружающих. Это замечательно!"
}
]
},
{
"questions":
["Я чувствую эмоциональную опустошенность",
"После работы я чувствую себя, как выжатый лимон",
"Утром мне тяжело выйти на работу",
"Я редко чувствую энергию и эмоциональный подъем",
"Я часто чувствую угнетенность и апатию",
"Я замечаю, что моя работа ожесточает меня",
"Моя работа все больше меня разочаровывает",
"Мне глубоко безразлично, как живут мои знакомые"
],
"results": [{
"title":"Ваш результат - выгорание",
"description":"Эмоциональное выгорание случается, когда мы работаем до истощения ресурсов, игнорируем усталость и не умеем ее отслеживать. Нервное напряжение становится обычным фоном — и скоро желание что-то делать и вообще вставать с кровати приближается к нулю. Человек в таком состоянии недоволен не только работой, но и собой в целом, падает иммунитет, коллеги и задачи раздражают или даже вызывают ненависть. Частый спутник выгорания — зависимость. Сначала бокал вина кажется неплохим способом справиться со стрессом, затем бокал перерастает в бутылку, а последствия употребления алкоголя лишают сил окончательно. На последних стадиях выгорания мы уже не помним, что значит чувствовать вдохновение от работы, становимся апатичными, выполняем задачи по минимально допустимой планке качества — лишь бы не уволили. "},
{"title":"Ваш результат - на пороге выгорания",
"description":"Еще недавно вы были влюблены в свое дело и энергичны — теперь же редко можете выполнить больше необходимого минимума задач. Вы мотивируете себя — «надо поднажать, выпить еще кофе», — но результата почти нет. Утром вы никак не можете проснуться, а вечером тянетесь к алкоголю, вредной еде, сериалам. Так бывает, когда фокус внимания «застревает» на работе: вы считаете, что дела надо делать лучше, а жизнь за пределами офиса или рабочего ноутбука может пока подождать. Сказываются и сами условия работы: например, когда задач и требований слишком много, а внутри команды зреют конфликты и токсичная конкуренция"
},
{ "title":"Ваша результат - нет выгорания ",
"description":"Похоже, работа вам в радость. В понедельник утром вы бодры и настроены на продуктивную неделю: новые задачи вызывают любопытство, брейнштормы с командой — вдохновение, вычеркнутые из списка дела — гордость. Команда вас ценит: вы проявляете инициативу, не подводите с дедлайнами и готовы в перерывах поболтать за чашкой кофе. Большинство людей именно так представляют себе идеальные отношения с работой. В чем же ваш секрет? Чаще всего устойчивость к выгоранию наращивается за пределами рабочего места: в отношениях с близкими, интересных хобби, умении слышать себя. Вы отдыхаете качественно и регулярно (а не когда сил уже нет совсем), поддерживаете себя, если что-то не получается, не принимаете рабочие конфликты близко к сердцу."
}
]
},
{
"questions":
["Я чувствую беспокойство, если не знаю, чего от меня ждут",
"Я склонен очень критично относиться как к себе, так и к другим",
"Я боюсь выглядеть глупо и беспокоюсь о своей внешности",
"Я преувеличиваю свои ошибки и преуменьшаю успехи",
"Я часто чувствую опустошенность или подавленность",
"Большую часть времени я тревожусь относительно неважных вещей",
"Я чувствую, что не знаю, что нужно сделать или сказать",
"Я боюсь сделать ошибку, которую заметят другие люди"
],
"results": [{
"title":"Ваш результат - не уверены в себе",
"description":"Вы привыкли быть безжалостным критиком самому себе. Похоже, в детстве эту роль выполняли ваши родители — их похвала, если и была, то звучала абстрактно; зато упреки попадали прямо в цель. «Что за негодный ребенок мне достался!», «От тебя — одни беды», «За что мне такое наказание?» — такие послания говорят не о наших поступках, а о нас целиком. Они фиксируют в психике уверенность ребенка в том, что сам по себе он ничтожен, не достоин внимания и любви. Когда мы вырастаем, желание заслужить эту любовь становится ведущим, а критикующий голос «поселяется» внутри, превращается в преследователя и экзекутора, который следит за каждым нашим шагом. Следуя ему, мы начинаем себя оценивать еще до того, как нас оценили другие."},
{"title":"Ваш результат - средняя уверенность",
"description":"Ваши результаты теста на уверенность в себе указывают на то, что у вас сбалансированный уровень самоуверенности. Возможно, у вас бывают моменты колебаний и сомнений в своих способностях, но в целом вы обладаете здоровой долей уверенности. Вы можете иногда испытывать неуверенность в своих действиях или решениях, но это не мешает вам двигаться вперед и принимать вызовы. Вы готовы учиться на своих ошибках и стремитесь к личному развитию."
},
{ "title":"Ваш результат - уверены в себе ",
"description":"Ваши результаты теста на уверенность в себе свидетельствуют о том, что вы обладаете здоровой самоуверенностью и позитивным отношением к себе. Вероятно, у вас была поддерживающая и позитивная среда в детстве, где вас поощряли и высоко ценили. Вы умеете видеть свои сильные стороны и цените себя как личность. Ваши достижения и качества не остаются незамеченными, и вы умеете радоваться своим успехам. Ваше отношение к себе положительное, и вы не склонны к самокритике или излишнему самообвинению. "
}
]
},
{
"questions":
["Я порой чувствую, что мне не по себе",
"Я испытываю внутреннее напряжение или дрожь",
"Я часто испытываю сильный страх и ужас",
"Я неусидчивый, мне постоянно нужно двигаться",
"Беспокойные мысли крутятся у меня в голове",
"У меня бывает внезапное чувство паники",
"Мне бывает трудно сесть и расслабиться",
"Я боюсь сделать ошибку, которую заметят другие"
],
"results": [{
"title":"Ваш результат - выраженная тревога",
"description":"Возможно, вы часто ощущаете беспокойство, нервозность и неспокойство по поводу различных ситуаций в вашей жизни. Тревога может влиять на ваше поведение, эмоциональное состояние и даже физическое здоровье. Важно обратить внимание на свои ощущения и найти способы справляться с тревожностью. Помните, что тревога — это естественная реакция организма на стрессовые ситуации, но если она начинает мешать вашей повседневной жизни, важно обратиться за помощью к специалисту. "},
{"title":"Ваш результат - умеренный уровень",
"description":"У вас наблюдается определенная степень тревожности. Время от времени вы ощущаете беспокойство или нервозность, но это не преобладает в вашей повседневной жизни. Средний уровень тревоги может быть обусловлен стрессом, изменениями в жизни или другими факторами. Важно обращать внимание на свои эмоции и уметь справляться с ними. Регулярные методы релаксации могут помочь снизить уровень тревоги."
},
{ "title":"Ваша результат - нет тревоги ",
"description":"Поздравляем! Результаты вашего теста на тревогу показывают, что у вас низкий уровень тревожности. Это означает, что вы обычно спокойны и уверены в себе, не испытываете значительной тревоги или беспокойства. Низкий уровень тревоги свидетельствует о том, что вы хорошо справляетесь с повседневными стрессовыми ситуациями и не даете негативным эмоциям влиять на ваше благополучие. "
}
]
},
{
"questions":
["Мне трудно помнить обо всех назначенных встречах и обязательствах",
"Когда мне нужно долго сидеть на месте, я ерзаю, делаю лишние движения",
"Я часто совершаю в работе ошибки по невнимательности",
"Бывает такое, что я теряю и потом с трудом нахожу вещи",
"Мне сложно держать внимание при скучной однообразной работе",
"Я отвлекаюсь на события или шум вокруг во время работы или важного дела",
"Мне трудно расслабиться и отдохнуть, даже когда у меня есть свободное время",
"Я порой заканчиваю предложения за других, не давая им договорить"
],
"results": [{
"title":"Ваш результат - похоже у вас СДВГ",
"description":"Результаты теста говорят о том, что вы — и скорее всего, уже давно — замечаете за собой невнимательность к деталям, ошибки из-за небрежности, проблемы с планированием и организацией дел, склонность терять вещи и опаздывать. Это признаки так называемого «невнимательного» типа СДВГ, которые часто дополняются признаками «гиперактивного» типа: суетливостью, беспокойством, склонностью делать что-то импульсивно и не оценивая последствия. Жить с СДВГ правда тяжело — во многом еще и потому, что общество, ориентированное на «отличников», которые всего достигают и не делают глупостей, часто призывает людей с таким диагнозом «взять себя в руки», «перестать лениться», жить и работать по распорядку, держать дела «по полочкам»."},
{"title":"Ваш результат - симптомы СДВГ",
"description":"Синдром дефицита внимания и гиперактивности — это особенность нейроразвития, которая серьезно влияет на поведение человека. О его проявлениях сегодня говорят много — это неусидчивость, невнимательность, неспособность замедлиться и расслабиться, будто внутри работает заведенный мотор. Обычно симптомы проявляются с детства, и если у ребенка их можно объяснить особенностями темперамента или возрастным кризисом (кто из нас не отвлекался на уроках и не забывал сменку?), то взрослым СДВГ сильно мешает жить."
},
{ "title":"Ваша результат - нет СДВГ ",
"description":"Поздравляем! Ваши ответы на вопросы теста говорят о том, что с внимательностью и усидчивостью у вас все в порядке. У вас также нет проблем с концентрацией и памятью, вы можете работать последовательно — без вспышек активности и апатии. Похоже, вы не склонны действовать импульсивно, не оценивая последствий, и можете контролировать «неприятные» импульсы, вроде желания перебить собеседника, отвлечься на суету за окном, бросить дело на полпути. "
}
]
},
{
"questions":
[" Навязчивые мысли сильно влияют на вашу повседневную жизнь",
"У Вас есть привычка считать непредсказуемые вещи",
"Вы пристально наблюдаюте за дыханием, морганием",
"Вам постоянно кажется, что вокруг недостаточно чисто",
"У Вас есть ритуальные действия для снижения тревоги",
"Перед выходом из дома вы перепроверяете, выключен ли утюг, свет",
"Вы не выносите, когда вещи лежат не на своем месте",
"Вы испытываете навязчивый страх какого-либо тяжелого заболевания"
],
"results": [{
"title":"Ваш результат - сильное ОКР",
"description":"Похоже, ваша жизнь наполнена всепоглощающей тревогой. Иногда вы можете на время заглушать ее, выполняя весьма затейливые ритуалы. Может казаться, что вы временами теряете контакт с реальным миром, и магическое мышление начинает доминировать над логическим и рациональным. Например, вам кажется, что если вы выполните определенное действие несколько раз, то это каким-то образом улучшит ваше состояние, даже если это противоречит здравому смыслу. Вам чрезвычайно сложно контролировать и останавливать повторяющееся поведение. Если другие люди пытаются изменить «заведенный порядок», это может вызывать раздражение и гнев. "},
{"title":"Ваш результат - средне-выраженное ОКР",
"description":"Вы отмечаете некоторые странности в своем поведении и мыслях. Возможно, вас давно беспокоит какая-то идея, но в целом жить это не мешает. Подумаешь, странности есть у всех! Иногда хочется часто мыть руки после встречи с неприятным человеком или проверять, все ли в порядке в доме, в документах, в новостях. Но это ситуативные случаи, и в целом вы можете противостоять этим состояниям так, чтобы они не нарушали ваш привычный ритм. Если вы понимаете, что в последнее время навязчивое поведение повторяется слишком часто, и вы хотите от него избавиться — проконсультируйтесь со специалистом"
},
{ "title":"Ваша результат - нет ОКР ",
"description":"Поздравляем! Это означает, что у вас нет характерных симптомов этого психического расстройства, таких как навязчивые мысли и компульсивные действия. Отсутствие ОКР является позитивным результатом, поскольку обсессивно-компульсивное расстройство может серьезно повлиять на качество жизни человека, вызывая тревожность, стресс и нарушения в поведении."
}
]
}
],
"options": [
{"text": "Совершенно верно", "count": 4},
{"text": "Верно", "count": 3},
{"text": "Затрудняюсь ответить", "count": 2},
{"text": "Скорее неверно", "count": 1},
{"text": "Совершенно неверно", "count": 0}
],
"titles":
[
{ "id": 0, "name": "Тест на самооценку", "executionTime": 3, "filter": "На тип личности"},
{ "id": 1, "name": "Какой у Вас тип мышления?", "executionTime": 2, "filter": "Интеллектуальные" },
{ "id": 2, "name": "Определение уровня депрессии", "executionTime": 4, "filter": "Диагностика расстройств"},
{ "id": 3, "name": "Есть ли у Вас РПП?", "executionTime": 1, "filter": "Быстрые" },
{ "id": 4, "name": "Тест на скрытый нарциссизм", "executionTime": 4, "filter": "На тип личности" },
{ "id": 5, "name": "Диагностика выгорания", "executionTime": 3, "filter": "Диагностика расстройств" },
{ "id": 6, "name": "Тест на уверенность в себе", "executionTime": 2, "filter": "Быстрые" },
{ "id": 7, "name": "Насколько Вы тревожны?", "executionTime": 5, "filter": "Диагностика расстройств" },
{ "id": 8, "name": "Тест на СДВГ", "executionTime": 1, "filter": "Быстрые" },
{ "id": 9, "name": "Диагностика ОКР", "executionTime": 2, "filter": "Диагностика расстройств" }
]}

View File

@ -1,14 +0,0 @@
[
{
"eMail": "dashakhan3009@mail.ru",
"first_name": "Дарья",
"second_name": "Ханаева",
"password": "qwerty123"
},
{
"eMail": "alexandraaa.ha@gmail.com",
"first_name": "Александра",
"second_name": "Харитонова",
"password": "12345"
}
]

View File

@ -1,9 +0,0 @@
const { response } = require('express');
const router = require('express').Router();
router.get("/users", (request, response) => {
response.send(require("./json/users.json"))
})
module.exports = router;

View File

@ -1,43 +0,0 @@
[
{
"id": 1,
"phone_number": 89283244141,
"password": "1234",
"first_name": "Вася",
"second_name": "Пупкин",
"role": "dogsitter",
"location": "Россия, республика Татарстан, Казань, улица Пушкина, 12",
"price": 1500,
"about_me": "Я люблю собак"
},
{
"id": 2,
"phone_number": 89272844541,
"password": "1234",
"first_name": "Ваня",
"second_name": "Пуськин",
"role": "dogsitter",
"location": "Россия, республика Татарстан, Казань, улица Абсалямова, 19",
"price": 1000000,
"about_me": "Я не люблю собак. И вообще я котоман."
},
{
"id": 3,
"phone_number": 89872855893,
"password": "12345",
"first_name": "Гадий",
"second_name": "Петрович",
"role": "owner"
},
{
"id": 4,
"phone_number": 89872844591,
"password": "12345",
"first_name": "Галкин",
"second_name": "Максим",
"role": ["owner", "dogsitter"],
"location": "Россия, республика Татарстан, Казань, проспект Ямашева, 83",
"price": 1000000,
"about_me": "Миллион алых роз"
}
]

View File

@ -1,36 +0,0 @@
const router = require('express').Router();
const checkPassword = require('pbkdf2-password')();
const jwt = require('jsonwebtoken');
const {EDATEAM_JWT_TOKEN} = require('./key');
const {getUser, _idToId, getResponse, requiredFields, signUp} = require('./controllers');
router.post('/sign-in', requiredFields(['email','password']), async (req, res)=>{
try{
const user = await getUser(req.body);
checkPassword({password:req.body.password, salt:user.salt},async(err, pass, salt, hash )=>{
if(err){
throw new Error(err);
}
if(user.password === hash){
const {password, salt:_salt, ...rest} = user;
const token = jwt.sign(_idToId(rest), EDATEAM_JWT_TOKEN);
return res.send(getResponse(null, token));
}
return res.status(400).send(getResponse('Wrong email or password!'));
} )
}
catch(error){
res.status(400).send(getResponse(error.message));
}
});
router.post('/sign-up', requiredFields(['email', 'login', 'password']), async (req, res) => {
let error = null
const data = await signUp(req.body).catch((e) => error = e.message)
return res.status(error ? 400 : 200).send(getResponse(error, data))
})
module.exports = router;

View File

@ -1,217 +0,0 @@
const ObjectId = require('mongodb').ObjectId;
const getHash = require('pbkdf2-password')();
const { getDB } = require('../../utils/mongo');
const USERS_COLLECTION = 'users';
const RECIPES_COLLECTION = 'recipes_collection';
const FAVORITES_USER = 'favorites_user'
let db =null;
const connect = async () => {
db = await getDB('edateam');
};
const init = async () => {
await connect();
};
init();
const _idToId = (data) => {
const { _id, ...rest } = data;
return {
id: _id,
...rest
};
}
const _idToArray = (data) => {
const _idToMap = data.map((item) => _idToId(item));
return _idToMap;
}
const getResponse = (error, data, success = true) => {
if (error) {
return {
success: false,
error,
}
}
return {
success,
data,
}
}
const signUp = async ({ email, login, password }) => {
try {
db = await getDB('edateam');
const userCollection = db.collection(USERS_COLLECTION);
const userData = await userCollection.findOne({
$or: [
{ login },
{ email }
]
})
if (userData?.login === login) {
throw new Error('This login already in db!\nPlease come up with another login!');
}
if (userData?.email === email) {
throw new Error('This email already in db!\nPlease come up with another email!');
}
return new Promise((resolve, reject) => {
getHash({ password }, async (err, pass, salt, hash) => {
if (err) {
return reject(err);
}
const insertedCount = await userCollection.insertOne({ email, login, password: hash, salt });
if (!insertedCount) {
return reject(new Error('Insert error!'));
}
resolve({});
});
});
} catch (error) {
console.error(error);
throw error;
}
};
const getUser = async ({ email }) => {
if (db === null) {
throw new Error('no db connection :((');
}
try {
const userCollection = db.collection(USERS_COLLECTION);
const userData = await userCollection.findOne({ email });
if (userData) {
return userData;
}
throw new Error('Wrong email or password!');
} catch (error) {
throw new Error(error);
}
}
const getListRecipes = async () => {
try {
db = await getDB('edateam');
const recipesCollection = db.collection(RECIPES_COLLECTION);
const recipesData = await recipesCollection.find().toArray();
if (recipesData.length > 0) {
return _idToArray(recipesData);
} else {
throw new Error('No recipes found in the database!');
}
} catch (error) {
console.error('Error in getListRecipes:', error.message);
throw new Error(error.message);
}
};
const getRecipe = async (dishId ) => {
try {
db = await getDB('edateam');
const recipesCollection = db.collection(RECIPES_COLLECTION);
const id = dishId.id;
const recipeData = await recipesCollection.findOne({ _id :new ObjectId(id) } );
if (recipeData!=null) {
return _idToId(recipeData);
}
throw new Error('Not found recipe');
} catch (error) {
throw new Error(error);
}
}
const addRecipe = async (recipe) => {
try {
db = await getDB('edateam');
const recipesCollection = db.collection(RECIPES_COLLECTION);
const result = await recipesCollection.insertOne(recipe);
if (!result.insertedId) {
throw new Error('Recipe insertion failed');
}
return {
success: true,
id: result.insertedId
};
} catch (error) {
console.error('Error in addRecipe:', error.message);
throw new Error(error.message);
}
};
const requiredFields = (fields) => (req, res, next) => {
// eslint-disable-next-line no-restricted-syntax
for (const fieldName of fields) {
if (!req.body[fieldName]) {
throw new Error(`Параметр ${fieldName} не установлен`)
}
}
next()
}
const addFavorite = async (userId, recipeId) => {
try {
db = await getDB('edateam');
const favoritesCollection = db.collection(FAVORITES_USER);
const result = await favoritesCollection.updateOne(
{ userId: new ObjectId(userId) },
{ $addToSet: { favorites: new ObjectId(recipeId) } },
{ upsert: true }
);
return result;
} catch (error) {
throw new Error('Error adding favorite: ' + error.message);
}
};
const getFavorites = async (userId) => {
try {
db = await getDB('edateam');
const favoritesCollection = db.collection(FAVORITES_USER);
const userFavorites = await favoritesCollection.findOne({ userId: new ObjectId(userId) });
if (!userFavorites || !userFavorites.favorites || userFavorites.favorites.length === 0) {
return [];
}
const recipesCollection = db.collection(RECIPES_COLLECTION);
const favoriteRecipes = await recipesCollection.find({ _id: { $in: userFavorites.favorites } }).toArray();
return favoriteRecipes;
} catch (error) {
console.error(error);
throw new Error("Failed to get user favorites with recipes");
}
};
module.exports = {
getUser,
signUp,
getResponse,
_idToId,
_idToArray,
getListRecipes,
getRecipe,
addRecipe,
requiredFields,
getFavorites,
addFavorite
};

View File

@ -1,25 +1,15 @@
const router = require('express').Router(); const router = require('express').Router();
router.get('/recipe-data', (request, response) => { router.get('/recipe-data', (request, response) => {
response.send(require('../json/recipe-data/success.json')); response.send(require('./json/recipe-data/success.json'));
});
router.get('/userpage-data', (req, res)=>{
res.send(require('./json/userpage-data/success.json'));
}); });
router.get('/userpage-data', (req, res) => { router.get('/homepage-data', (req, res)=>{
res.send(require('../json/userpage-data/success.json')); res.send(require('./json/homepage-data/success.json'));
}); });
router.post('/userpage-data', (req, res) => {
res.send(require('../json/userpage-data/success.json'));
});
router.get('/homepage-data', (req, res) => {
res.send(require('../json/homepage-data/success.json'));
});
router.use('/auth', require('./auth'));
router.use('/recipe', require('./user'));
router.use('/main', require('./main'));
module.exports = router; module.exports = router;

View File

@ -1,3 +0,0 @@
const EDATEAM_JWT_TOKEN = 'secretyk token';
module.exports = {EDATEAM_JWT_TOKEN};

View File

@ -1,51 +0,0 @@
const { getListRecipes , getRecipe, addFavorite , getFavorites} = require('./controllers');
const router = require('express').Router();
router.get('/recipes', async (req, res) => {
try {
const result = await getListRecipes();
return res.status(200).json({ success: true, data: result });
} catch (error) {
console.error('Error in GET /recipes:', error.message);
return res.status(500).json({ success: false, message: error.message });
}
});
router.post('/recipe', async(req,res)=>{
try{
const result = await getRecipe(req.body);
return res.status(200).json({success:true, data: result});
}
catch(error){
console.error('Error in GET /recipes:', error.message);
return res.status(500).json({ success: false, message: error.message });
}
})
router.post('/favorites', async (req, res) => {
try {
const { userId, recipeId } = req.body;
const result = await addFavorite(userId, recipeId);
return res.status(200).json({ success: true, data: result });
} catch (error) {
console.error('Error in POST /favorites:', error.message);
return res.status(500).json({ success: false, message: error.message });
}
});
router.post('/get-favorites', async(req,res) =>{
try {
const { userId } = req.body;
const result = await getFavorites(userId);
console.log(result)
return res.status(200).json({ success: true, data: result });
} catch (error) {
console.error('Error in POST /get-favorites:', error.message);
return res.status(500).json({ success: false, message: error.message });
}
});
module.exports = router;

View File

@ -1,35 +0,0 @@
const { requiredFields , getFavorites, addRecipe} = require('./controllers');
const router = require('express').Router();
router.post('/favorites', requiredFields('id'), async(req,res)=>{
try{
const recipes = await getFavorites(req.body);
res.status(200).send(getResponse(recipes));
}
catch(error){
res.status(400).send(getResponse(error.message));
}
})
router.post('/add-recept', async (req, res) => {
let error = null;
let result = null;
try {
result = await addRecipe(req.body);
} catch (e) {
error = e.message;
}
if (error) {
console.error(`Error in POST /add-recept: ${error}`);
}
return res.status(error ? 500 : 201).json({
message: error ? error : 'Recipe added successfully',
id: result?.id
});
});
module.exports = router;

View File

@ -1,103 +0,0 @@
const router = require('express').Router();
//const loginMiddleware = require('../middleware/login-middleware');
// First page
router.get('/getInfoAboutKazan', (request, response) => {
response.send(require('./json/first/info-about-kazan/success.json'))
})
router.get('/getNews', (request, response) => {
response.send(require('./json/first/news/success.json'))
})
// Sport page
router.get('/getSportData', (request, response) => {
response.send(require('./json/sport/sport-data.json'))
})
// Places page
router.get('/getPlacesData', (request, response) => {
response.send(require('./json/places/places-data.json'))
})
// Transport page
router.get('/getInfoAboutTransportPage', (request, response) => {
response.send(require('./json/transport/info-about-page.json'))
})
router.get('/getBus', (request, response) => {
response.send(require('./json/transport/bus-numbers.json'))
})
router.get('/getTral', (request, response) => {
response.send(require('./json/transport/tral-numbers.json'))
})
router.get('/getEvents', (request, response) => {
response.send(require('./json/transport/events-calendar.json'))
})
router.get('/getTripSchedule', (request, response) => {
response.send(require('./json/transport/trip-schedule/success.json'))
})
router.get('/getInfoAboutInstitutions', (request, response) => {
response.send(require('./json/transport/info-about-institutions.json'))
})
// Education page
router.get('/getInfoAboutKFU', (request, response) => {
response.send(require('./json/education/info-about-kfu.json'))
})
// Login
router.post('/entrance', (request, response) => {
const { email, password } = request.body.entranceData;
try {
const users = require('../json/users-information/success.json');
const user = users.data.find(user => user.email === email && user.password === password);
if (!user) {
return response.status(401).send('Неверные учетные данные');
}
const responseObject = {
email: user.email,
}
if (user.cardId){
responseObject.cardId = user.cardId || "";
}
return response.json(responseObject);
} catch (error) {
console.error('Ошибка чтения файла:', error);
response.status(500).send('Внутренняя ошибка сервера');
}
})
router.post('/registration', async (request, response) => {
const { email, password, confirmPassword } = request.body.registerData;
try {
if (password !== confirmPassword) {
return response.status(400).send('Пароли не совпадают!');
}
const users = require('../json/users-information/success.json');
const existingUser = users.data.find(user => user.email === email);
if (existingUser) {
return response.status(400).send('Пользователь с такой почтой уже существует!');
}
return response.json({ email: email});
} catch (error) {
console.error('Ошибка регистрации пользователя:', error);
response.status(500).send('Внутренняя ошибка сервера');
}
});
module.exports = router;

View File

@ -1,4 +0,0 @@
[
"Казанский (Приволжский) федеральный университет (полное наименование — федеральное государственное автономное образовательное учреждение высшего образования «Казанский (Приволжский) федеральный университет», тат. Казан (Идел буе) федераль университеты) — высшее учебное заведение в Казани, один из старейших российских университетов (основан в 1804 году) и один из десяти федеральных университетов (с 2010 года).",
"В состав университетского учебно-научного комплекса входят научная библиотека, научно-исследовательские институты химии, математики и механики, 7 музеев, ботанический сад, астрономические обсерватории, центр информационных технологий, издательство, центр и лаборатория оперативной полиграфии, культурно-спортивный комплекс, спортивно-оздоровительный лагерь и другие подразделения."
]

View File

@ -1,3 +0,0 @@
[
"Казань — древний город с богатой историей, где слились воедино культуры Востока и Запада. Подобно драгоценному камню, сияющему в ожерелье городов России, Казань покоряет своей красотой и многообразием. Её красивая архитектура и гостеприимные жители создают уютную атмосферу, привлекающую туристов со всего мира."
]

View File

@ -1,32 +0,0 @@
[
{
"id": "1",
"image": "new1",
"title": "На предприятиях в Казани объявили эвакуацию",
"text": "В Казани на некоторых предприятиях объявлена необходимость эвакуации. Об этом сообщили в пресс-службе главы Татарстана. «В отдельных районах Казани на предприятиях объявлена необходимость эвакуации», — сообщили в пресс-службе главы Татарстана. Информацию передает ТАСС. Telegram-канал Shot пишет об эвакуации сотрудников химической компании «Казаньоргсинтез»."
},
{
"id": "2",
"image": "new2",
"title": "В Казани обсудили взаимодействие детей с гаджетами",
"text": "В Казани состоялась конференция, посвящённая проблемам воспитания в эпоху технического прогресса. Участники встречи, среди которых психологи, педагоги и родители, обсудили методы противодействия гаджетозависимости и возможности использования технологий для развития молодёжи. «Ничего плохого нет в том, что ребёнок сидит в телефоне. Главное — правильно его направить», - поделилась своим опытом Альфия Валеева, педагог с 16-летним стажем."
},
{
"id": "3",
"image": "new3",
"title": "Казанский УНИКС проиграл ЦСКА, счёт в серии 0-3",
"text": "В третьем матче финала Единой лиги ВТБ ЦСКА на своей площадке оказался сильнее УНИКСа — 80:72. Счет в серии стал 30 в пользу ЦСКА. Если армейцы выиграют еще раз, то станут чемпионами. В отличие от предыдущей игры казанцы уверенно начали. Первую четверть они выиграли 17:13, а на старте второй вели 21:13. Однако ЦСКА быстро сравнял счет, а затем вышел вперед. "
},
{
"id": "4",
"image": "new4",
"title": "Синоптики предупредили о грозе и сильном ветре в Казани",
"text": "Сегодня вечером в Татарстане, включая Казань, ожидаются гроза и сильный юго-западный ветер порывами 1520 м/с, местами до 23 м/с. Об этом предупреждает Гидрометцентр РТ."
},
{
"id": "5",
"image": "new5",
"title": "Между столицей РТ и аэропортом запустят дополнительные рейсы",
"text": "На маршруте Казань Аэропорт Казань два дня будут курсировать дополнительные пригородные поезда. Это связано с проведением концертов в МВЦ «Казань Экспо». Дополнительные поезда проследуют без промежуточных остановок, сообщили в пресс-службе АО «Содружество»."
}
]

View File

@ -1,78 +0,0 @@
[
{
"id": "1",
"type": "Достопримечательности",
"image": "kremlin",
"head": "Кремль",
"text": "Строительство кремля продолжалось с X по XVI век. После завоевания Казани Иваном Грозным в 1552 году татарский кремль был разрушен. На его месте псковские зодчие построили мощные белокаменные стены, оставив лишь некоторые фрагменты старого сооружения. В XVIII веке кремль потерял военное значение, но долго оставался административным и культурным центром Поволжья."
},
{
"id": "2",
"image": "kulsharif",
"head": "Мечеть Кул-Шариф",
"text": "Это одна из визитных карточек Казани. Кроме того, Кул-Шариф ещё и главная джума-мечеть Татарстана. Её возведение началось в 1996 году для восстановления важной архитектурной реликвии Казанского ханства, разрушенной войсками Ивана Грозного в 1552 году. Мечеть получила название в честь последнего имама Казани Кул-Шарифа."
},
{
"id": "3",
"image": "suumbike",
"head": "Башня Сююмбике",
"text": "Сооружение впервые упоминается в документах 1703 года, однако точных сведений ни о дате постройки, ни о происхождении названия нет. По одной из версий, это была сторожевая башня, потому что с её вершины хорошо просматриваются окрестности, а также реки Казанка и Волга."
},
{
"id": "4",
"type": "Активный отдых",
"image": "cyrc",
"head": "Казанский цирк",
"text": "Один из ярких памятников советского модернизма. Издалека здание цирка напоминает летающую тарелку. Такую «космическую» форму он получил после масштабной реконструкции 1967 года. Тогда для строительства применили авангардные архитектурные и инженерные решения."
},
{
"id": "5",
"image": "park",
"head": "Экстрим-парк УРАМ",
"text": "УРАМ — самый большой экстрим-парк в России, который состоит из двух частей — открытой и крытой. Уличная часть, объединяющая профессиональные экстрим-зоны и места для прогулок, открылась летом 2020 года и стала одним из самых популярных общественных пространств Казани, а также местом, где спортсмены готовились к соревнованиями мирового масштаба, например, к Олимпиаде в Токио."
},
{
"id": "6",
"image": "zoo",
"head": "Зоопарк Река-Замбези",
"text": "Зоопарк «Река Замбези» Казанский зооботсад - один из старейших зооботсадов в Европе. Увлекательное путешествие в мир животных и растений. Это уникальное место, где посетители могут насладиться богатством флоры и фауны. Он предлагает разнообразные экспозиции, включая животных различных континентов, от экзотических видов до местных жителей."
},
{
"id": "7",
"type": "Театры и музеи",
"head": "Театр кукол Экият",
"text": "Театр кукол Экият в Казани представляет уникальное сочетание традиционного и современного искусства. Он известен своими яркими постановками, привлекающими внимание как детей, так и взрослых. Расположенный в центре города, он стал неотъемлемой частью культурной жизни региона.",
"image": "akiyat"
},
{
"id": "8",
"head": "Театр оперы и балета",
"text": "Театр оперы и балета в Казани является вершиной музыкального и театрального искусства в регионе. С его помощью зрители могут наслаждаться высококлассными оперными постановками и великолепными балетными представлениями, которые оставляют незабываемые впечатления.",
"image": "opera"
},
{
"id": "9",
"head": "Театр им. К.Тинчурина",
"text": "Театр имени Тинчурина воплощает традиции классического искусства, предлагая зрителям широкий выбор спектаклей, начиная от драм и комедий до мюзиклов и балетов. История театра имени К. Тинчурина насчитывает десятилетия искусства и культурного наследия.",
"image": "tinchurina"
},
{
"id": "10",
"type": "Еда и напитки",
"head": "Тюбетей",
"text": "«Тюбетей» - это уютное заведение в Казани, предлагающее посетителям широкий выбор блюд татарской кухни в атмосфере гостеприимства и комфорта. Здесь можно насладиться татарскими блюдами, такими как чак-чак, шашлык, манты и другие.",
"image": "tubetey"
},
{
"id": "11",
"head": "MORE & MORE",
"text": "Этот ресторан специализируется на морепродуктах и рыбе. Ресторан More & More концептуальный проект от ALBA GROUP с акцентом на seafood and wine. По казанским меркам место дорогое, но блюда и ингредиенты оправдывают стоимость",
"image": "more"
},
{
"id": "12",
"head": "Палома Кантина",
"text": "«Палома Кантина» — это мексиканское кафе. Его открыли основатели петербургского бара El Copitas, который попал в мировой рейтинг The Worlds 50 Best Bars. Если в Казани вы почувствуете себя одиноко, захотите ярких красок, вам сюда.",
"image": "paloma"
}
]

View File

@ -1,87 +0,0 @@
[
{
"id": "1",
"type": "Баскетбол",
"title": "УНИКС ",
"text": "Баскетбольный клуб УНИКС — российский мужской баскетбольный клуб. Основан в 1991 году. Представляет город Казань, столицу Республики Татарстан. Выступает в Профессиональной баскетбольной лиге. «УНИКС» расшифровывается как «Университет — Культура — Спорт».",
"logo": "unics_logo",
"logo_alt": "Логотип УНИКСа",
"image": "unics_img",
"img_alt": "Фотография игроков УНИКСа с первым чемпионским кубком единой Лиги ВТБ",
"link": "https://www.unics.ru/"
},
{
"id": "2",
"title": "Казаночка ",
"text": "Казаночка участвует в женской баскетбольной суперлиге и представляет город Казань на национальном уровне. «Казаночка» играет важную роль в развитии женского баскетбола в регионе и активно соревнуется на международной арене.",
"logo": "kazanochka_logo",
"logo_alt": "Логотип спортивного клуба Казаночка",
"image": "kazanochka_img",
"img_alt": "Фотография игроков Казаночки",
"link": "https://bckazanochka.ru/"
},
{
"id": "3",
"type": "Хоккей",
"title": "Ак Барс ",
"text": "Хоккейный клуб «Ак Барс» из Казани — это один из наиболее известных и успешных профессиональных хоккейных клубов в России. Он был основан в 1956 году и является членом Континентальной Хоккейной Лиги (КХЛ), самой престижной лиги в России и одной из сильнейших в мире.",
"logo": "akbars_logo",
"logo_alt": "Логотип Ак Барса",
"image": "akbars_img",
"img_alt": "Фотография игроков Ак Барса",
"link": "https://www.ak-bars.ru/"
},
{
"id": "4",
"title": "Динамо-Ак Барс ",
"text": "«Динамо-Казань» — команда по хоккею с мячом из Казани. Играет в суперлиге чемпионата России. Действующий чемпион России.",
"logo": "hockey_dinamo_logo",
"logo_alt": "Логотип Динамо-Казань",
"image": "hockey_dinamo_img",
"img_alt": "Фотография игроков Динамо-Казань",
"link": "https://hcdinamo-kazan.ru/"
},
{
"id": "5",
"type": "Футбол",
"title": "Рубин ",
"text": "«Рубин» (тат. Рубин Казан футбол төркеме) — российский футбольный клуб из Казани. Один из ведущих российских футбольных клубов второй половины 2000-х годов. Ведёт свою историю с 1936 года, но официальной датой основания считается 1958 год.",
"logo": "rubin_logo",
"logo_alt": "Логотип Рубина",
"image": "rubin_img",
"img_alt": "Фотография игроков Рубина",
"link": "https://www.rubin-kazan.ru/"
},
{
"id": "6",
"type": "Волейбол",
"title": "Зенит-Казань ",
"text": "«Зенит» (Казань) — российский мужской волейбольный клуб. Основан в 2000 году, до 2004 года назывался «Динамо», с 2005 по июнь 2008 года — «Динамо-Таттрансгаз». 4-кратный чемпион России, 3-кратный обладатель Кубка России, победитель Лиги чемпионов сезонов 2007/08 и 2011/12 годов. Основные цвета: бело-синие.",
"logo": "zenit_logo",
"logo_alt": "Логотип Зенита",
"image": "zenit_img",
"img_alt": "Фотография игроков Зенита",
"link": "https://zenit-kazan.com/"
},
{
"id": "7",
"title": "Динамо-Ак Барс ",
"text": "«Динамо-Казань» Казань (до 2008 — «Казаночка») — российский женский волейбольный клуб.",
"logo": "vol_dinamo_logo",
"logo_alt": "Логотип Динамо-Казань",
"image": "vol_dinamo_img",
"img_alt": "Фотография игроков Динамо-Казань",
"link": "https://dinamo-kazan.com/"
},
{
"id": "8",
"type": "Водное поло",
"title": "Синтез ",
"text": "Толчком развития водного поло в Казани стало строительство первого в Республике 50-ти метрового плавательного бассейна «Оргсинтез», закончившееся в 1973 году. Именно на базе бассейна «Оргсинтез» и была создана взрослая команда «Синтез», добившаяся права играть в первой группе чемпионата РСФСР.",
"logo": "waterpolo_logo",
"logo_alt": "Логотип Синтеза",
"image": "waterpolo_img",
"img_alt": "Фотография игроков Синтеза",
"link": "https://www.sintez-kazan.ru/index.php/ru/"
}
]

View File

@ -1,59 +0,0 @@
[
1,
2,
4,
5,
6,
9,
10,
"10a",
11,
15,
18,
22,
23,
25,
28,
"28a",
29,
30,
31,
33,
34,
35,
"35a",
36,
"36a",
37,
40,
42,
43,
45,
46,
47,
49,
53,
54,
55,
56,
60,
62,
63,
68,
70,
71,
72,
74,
75,
77,
78,
84,
"84a",
88,
89,
"89a",
90,
91,
93,
94
]

View File

@ -1,178 +0,0 @@
[
{
"month": "ЯНВАРЬ",
"name": "Республиканский фестиваль народного творчества «Кукморские валенки» #ItekFest",
"body": "Программа фестиваля традиционно включает творческие номера от команд-участников и представление ростовых фигур в форме пары валенок. На фестивале работают торговые ряды, где можно приобрести знаменитые кукморские валенки и другие сувениры, изготовленные местными умельцами.",
"place": "Кукморский район, г.Кукмор"
},
{
"name": "Международный оперный фестиваль им.Федора Шаляпина",
"month": "ФЕВРАЛЬ",
"body": "Один из культурных брендов Республики Татарстан. В традиционной фестивальной программе спектакли, в которых выступал сам великий бас Федор Шаляпин.",
"place": "г.Казань, Татарский академический государственный театр оперы и балета им.М.Джалиля"
},
{
"name": "Фестиваль креативных санок SUNNYФЕСТ",
"body": "Со всех городов республики и даже других регионов России сюда съезжаются санки разных форм и размеров. Презентовав созданные своими руками невообразимые конструкции, участники пробуют их в деле скатываются с горы, на ходу разыгрывая сценки или исполняя песни. Также зрителей ждут ярмарка, тематические фотосессии и прочие зимние забавы.",
"place": "Мамадышский район, г.Мамадыш"
},
{
"name": "III спортивно-исторический фестиваль «Кыш Батыр. Не просто Зимние игры»",
"body": "На площадке фестиваля пройдут соревнования по лыжным гонкам и по историческому биатлону среди разных возрастных категорий, победителей лыжных гонок определят по 16 номинациям. Также гостей фестиваля ждет спортивная зарядка под зажигательную музыку, танцы, стрельба из лука и арбалета, метание топориков, поднятие штанги, приседание с коромыслами, бои на импровизированных мечах.",
"place": "г.Казань, Горкинско-Ометьевский лес"
},
{
"month": "МАРТ",
"name": "Масленица",
"body": "Яркая и веселая Масленица с песнями, танцами, играми, угощениями и, конечно, сжиганием чучела проходит во многих городах Татарстана в Казани (на озере Лебяжье), на острове-граде Свияжск, в Алексеевском, в Чистополе.",
"place": "Города Татарстана"
},
{
"month": "АПРЕЛЬ",
"name": "Международный фестиваль «Рахлинские сезоны»",
"body": "Фестиваль «Рахлинские сезоны» посвящен памяти первого художественного руководителя и главного дирижера Государственного симфонического оркестра Татарстана Н.Рахлина.",
"place": "г.Казань, Большой концертный зал имени Сайдашева"
},
{
"month": "МАЙ",
"name": "Международный фестиваль классического балета им. Рудольфа Нуриева",
"body": "Крупнейший фестиваль балетного искусства, один из старейших в России. С 1993 года носит имя величайшего танцовщика XX века Рудольфа Нуриева, принявшего участие в фестивале в 1992 году.",
"place": "г.Казань, Татарский академический государственный театр оперы и балета им. М. Джалиля"
},
{
"name": "Фестиваль русского фольклора «Каравон»",
"body": "Программа фольклорного праздника включает красочное театрализованное представление, игры и забавы, выставку-продажу изделий народных ремесел. Кульминацией праздника становится общий дружный хоровод.",
"place": "Лаишевский район, с. Никольское"
},
{
"name": "Религиозный праздник «Изге Болгар жиены»",
"body": "Торжественные мероприятия, посвященные годовщине принятия ислама Волжскими Булгарами в 922 году, на которые съезжаются тысячи верующих из разных регионов России и стран мира.",
"place": "Спасский район, г.Болгар"
},
{
"name": "Ак Барс Банк Казанский марафон",
"body": "Участники марафона, который проходит с 2015 года, увидят главные достопримечательности Казани, расположенные на всем протяжении соревновательной трассы. На выбор предлагаются четыре дистанции: 3 км, 10 км, 21,1 км, 42,2 км, отдельные старты запланированы для самых юных спортсменов.",
"place": "г.Казань"
},
{
"name": "Международный фестиваль медиаискусства «НУР»",
"body": "Участники фестиваля создают медиаарт-работы с помощью света, звука, компьютерных технологий и дополненной реальности в десятках казанских локаций. Кроме инсталляций, выставок цифрового искусства и аудиовизуальных перформансов, на фестивале организуются образовательная программа с лекциями, воркшопами и медиалабораториями, ночная музыкальная программа.",
"place": "г.Казань"
},
{
"name": "Татарский национальный праздник «Сабантуй»",
"month": "ИЮНЬ",
"body": "Праздник проходит в три этапа. В первую субботу по окончании весеннего сева в селах и деревнях республики, через неделю в крупных городах Татарстана, а еще через неделю в столице проходит главный Сабантуй. В районах Казани организуются майданы для проведения состязаний, площадки для выступления мастеров культуры и искусств Татарстана, народные гулянья. На центральном ипподроме города проводятся скачки.",
"place": "Города Татарстана"
},
{
"name": "Международный музыкальный фестиваль Бориса Березовского «Летние вечера в Елабуге»",
"body": "Этот фестиваль проводится в формате open-air (на открытом воздухе). Художественным руководителем проекта является заслуженный артист России Борис Березовский. Помимо него участие в фестивале принимают известные музыканты, оркестры и коллективы.",
"place": "Елабужский район, г.Елабуга, Шишкинские пруды"
},
{
"name": "Фестиваль колокольного звона и русской песни «Алексеевские перезвоны»",
"body": "Фестиваль визитная карточка Алексеевского района. Музыкальная часть фестиваля включает звон-концерт лучших звонарей России и других стран, выступления авторов и исполнителей духовной и народной музыки, фольклорных и танцевальных коллективов различных жанров. Также гостей фестивальной площадки ждут ярмарка «Город мастеров», где можно приобрести сувениры, созданные мастерами-ремесленниками, мастер-классы по изготовлению изделий декоративно-прикладного творчества, детские активности.",
"place": "Алексеевский район, пгт. Алексеевское, Соборная площадь"
},
{
"name": "Республиканский фестиваль марийской культуры «Семык»",
"body": "«Семык» один из любимых традиционных праздников марийцев, знаменующий начало летнего праздничного цикла. На фестивале неизменно присутствуют элементы марийской культуры: национальные костюмы, инструментальная музыка, народные песни, танцы, игры, традиционная кухня.",
"place": "Мамадышский район, с.Большая Шия"
},
{
"name": "Фестиваль чувашей Закамья «Учук»",
"body": "Фестиваль проводится ежегодно с 2006 года в последнюю субботу июня. Во время праздника недалеко от фестивальной площадки старейшинами села варится традиционная каша на родниковой воде. Затем проходят специальные моления с просьбой о дожде для посевов. После молебна приготовленную ритуальную кашу дождя раздают всем присутствующим.",
"place": "Альметьеввский район, с.Старое Суркино"
},
{
"name": "Республиканский удмуртский праздник «Гырон Быдтон»",
"body": "Праздник традиционно проводится после завершения весенней пахоты и сева яровых, перед сенокосом. Гостей праздника угощают ритуальной кашей, которая варится на кострах. Национальный напиток кумышку гостям полагается пить из чаши, прикрепленной к концу посоха, который держит в руках хозяйка. Гость руками к чаше и посоху не прикасается, так что приходится выпивать «до дна».",
"place": "Менделеевский район, с.Енабердино"
},
{
"name": "Республиканский праздник мордовской культуры «Валда шинясь»",
"body": "Праздник приурочен ко дню летнего солнцестояния, отражающему мифологические представления мордовского народа о мире. Праздник объединяет в себе два основных субэтноса мордовского народа эрзя и мокшу, а также уникальную этнографическую группу мокшан-каратаев, проживающих в Камско-Устьинском районе Татарстана. Праздник традиционно проходит на большой поляне, где презентуется мордовская национальная культура быт, обряды, национальная кухня.",
"place": "Тетюшский район, с. Кильдюшево"
},
{
"name": "День рыбака",
"month": "ИЮЛЬ",
"body": "Праздник проходит в Тетюшах, где День города и День рыбака отмечают одновременно, весело и задорно. В этот день гостей ждут театрализованные представления, конкурс на самый крупный улов, танцы и песни, богатый рыбный стол.",
"place": "Тетюшский район, г. Тетюши"
},
{
"name": "Республиканский праздник чувашской культуры «Уяв»",
"body": "Уяв старинный чувашский обрядовый праздник, бережно хранимый и передаваемый из поколения в поколение, с особыми ритуалами, хороводами народными забавами и игрищами. На площадках майдана также можно увидеть выставку изделий декоративно-прикладного искусства, поучаствовать в мастер-классах, оценить творческие состязания частушечников и гармонистов.",
"place": "Алькеевский район, с. Сиктерме"
},
{
"name": "Республиканский праздник культуры кряшен «Питрау»",
"body": "«Питрау» один из важных обрядовых праздников кряшен. Он приходится на самую макушку лета и олицетворяет переход на новый календарный цикл. После Петрова дня массово выходят на сенокос.",
"place": "Мамадышский район, с. Зюри"
},
{
"name": "Республиканский праздник славянской культуры «Иван Купала»",
"body": "«Иван Купала» народный праздник восточных славян, посвященный летнему солнцестоянию и наивысшему расцвету природы. Праздник воссоздает традиционные купальские обряды плетение венков, гадание на венках, украшение купальского дерева березы, зажигание купальского костра и прыжки через него. Для участников праздника работают интерактивные площадки, ярмарка товаров народно-художественных промыслов, мастер-классы по плетению венков, изготовлению оберегов, кукол, талисманов.",
"place": "Зеленодольский район"
},
{
"name": "Всероссийский фестиваль «Скорлупино»",
"body": "Фестиваль - визитная карточка Пестречинского района. Ежегодно на празднике устанавливается необычный гастрономический рекорд. Результат предоставляется возможность продегустировать всем гостям. Традиционно программа фестиваля включает ярмарку народных художественных промыслов с мастер-классами от ремесленников, яркие тематические фотозоны, забавные игры с призами, музыкальные площадки.",
"place": "Пестречинский район"
},
{
"name": "Фестиваль современной татарской культуры «Печән базары»",
"body": "В день проведения колоритного фестиваля, погружающего в татарскую культуру, работает ярмарка мастеров, где можно приобрести аутентичные и необычные подарки и сувениры на память о Татарстане: одежду, аксессуары и украшения с татарским орнаментом, посуду ручной работы, игрушки, натуральную косметику и многое другое. Также гостей фестиваля ждут лекции, концертная программа, мастер-классы для детей и другие активности, которые помогут узнать много интересного о Татарстане и его культуре.",
"place": "г.Казань, Старо-татарская слобода, набережная озера Кабан"
},
{
"name": "Фестиваль «Ага-Базар»",
"body": "Идея фестиваля - в возрождении традиций «Восточного базара», который находился в пригороде средневекового Болгара и считался торгово-ремесленным и культурным центром Волжской Булгарии. На фестивале можно услышать этноколлективы, посетить национальные подворья, чтобы познакомиться с обычаями и традициями народов Поволжья. Одна из центральных площадок - стилизованный средневековый рынок Волжской Булгарии, на котором можно было приобрести товары ручной работы.",
"place": "Спасский район, г.Болгар, Болгарский музей-заповедник"
},
{
"name": "Международный этнический фестиваль «Крутушка»",
"month": "АВГУСТ",
"body": "Фестиваль проводится для истинных ценителей качественной этнической музыки и живого фольклорного наследия. По традиции здесь можно поучаствовать в разнообразных мастер-классах: научиться танцам разных народов, основам игры на традиционных инструментах, изготовить собственными руками изделия из глины, кожи, войлока, лозы, дерева, бисера и бересты",
"place": "г.Казань, пос.Крутушка"
},
{
"name": "Всероссийская Спасская ярмарка",
"body": "В ярмарке принимают участие более 1000 мастеров декоративно-прикладного искусства, художественного творчества и народных промыслов из 150 городов и поселений России и других стран. Проходят выступления фольклорных и цирковых коллективов, работают национальные подворья, «Город мастеров».",
"place": "Елабужский район, г.Елабуга"
},
{
"name": "Музейно-фольклорный праздник «Яблочный Спас в Красновидово»",
"body": "Издревле село Красновидово славилось своими плодоносными яблоневыми садами. Основа праздника это концертная программа с выступлением вокального ансамбля «Оберег» и творческих коллективов Республики Татарстан. Также в программе мероприятия и проведение мастер-классов по изготовлению предметов народных промыслов.",
"place": "Камско-Устьинский район, село Красновидово"
},
{
"name": "День Казани и Республики Татарстан",
"body": "Главный праздник для жителей Татарстана: он широко отмечается во всех городах республики, а казанцы в этот день, 30 августа, справляют еще и день города. На многочисленных праздничных площадках проводятся театрализованные представления, концерты, мотошоу, конкурсы. Завершается день праздничным салютом.",
"place": "г.Казань и города Татарстана"
},
{
"name": "Казанский международный фестиваль мусульманского кино",
"month": "СЕНТЯБРЬ",
"body": "Фестиваль проходит в столице Татарстана с 2005 года. В программу фестиваля отбираются фильмы, отражающие общечеловеческие ценности и культурные традиции, несущие идеи веротерпимости и гуманизма вне зависимости от вероисповедания автора. Помимо основной, зрителей ожидает обширная внеконкурсная программа, которая представит зрителям лучшие образцы российского игрового, документального и анимационного кино, ретроспективные и тематические программы.",
"place": "г.Казань"
},
{
"name": "Казанский национальный полумарафон",
"body": "На полумарафоне традиционно проходят забеги на дистанциях в 3, 10, 21,1 км, а также детский старт TIMERKIDS для юных спортсменов в разных возрастных категориях. Старт и финиш организуются у стадиона «Ак Барс Арена».",
"place": "г.Казань"
},
{
"name": "Международный фестиваль современной музыки им. Софии Губайдулиной Concordia",
"month": "НОЯБРЬ",
"body": "Фестиваль проходит с 2011 года. Он носит имя известного российского композитора, автора более сотни симфонических произведений Софии Губайдуллиной. Главное направление фестиваля — современная музыка. Традиционно на фестивале звучат и творения самой Софии Губайдуллиной.",
"place": "г.Казань, Большой концертный зал имени Сайдашева"
},
{
"name": "«КышДаКар-фест»",
"month": "ДЕКАБРЬ",
"body": "Новогодний фестиваль открывает свои двери в конце декабря и продолжает работу все новогодние праздники. Нарядные домики традиционно устанавливаются возле главной городской елки у Центра семьи «Казан». Все желающие могут попробовать необычные лакомства, оценить национальную кухню, приобрести сувениры и принять участие в кулинарных мастер-классах. На фестивале свою продукцию представляют индивидуальные предприниматели, самозанятые и фермеры из районов Татарстана.",
"place": "г.Казань"
}
]

View File

@ -1,6 +0,0 @@
[
"Наиболее развитая сеть в городе автобусная. Она обеспечивает беспересадочные перевозки пассажиров между всеми районами города.",
"Трамвайная и троллейбусная маршрутная сеть образует радиально-кольцевую систему. Трамвайным и троллейбусным транспортом обслуживаются все районы города.",
"Метрополитен г. Казани современный, высококомфортабельный и скоростной вид транспорта. Поезда, оснащенные новейшими системами автоматики, позволяют на высоком уровне обслуживать пассажиров.",
"Казань также обладает различными туристическими объектами, такими как пешеходные улицы, парки и набережные, которые часто становятся популярными местами для прогулок и отдыха."
]

View File

@ -1,12 +0,0 @@
[
1,
2,
3,
5,
6,
7,
8,
9,
12,
13
]

View File

@ -1,450 +0,0 @@
[
{
"id": "1",
"from": "Речной порт",
"to": "жилой массив Дербышки",
"route_length": "18,03 км",
"operating_mode_weekdays": "Будни: начало движения — 5:24. Отправление в последний рейс А — 22:32. Отправление в последний рейс Б — 21:27. Интервал движения: утро — 6,9 мин, вечер — 7,3 мин.",
"operating_mode_weekend": " В выходные: начало движения — 5:30. Отправление в последний рейс А — 22:44. Отправление в последний рейс Б — 21:55. Интервал движения 7,5 мин."
},
{
"id": "2",
"from": "Станция метро «Аметьево»",
"to": "ул.Привокзальная",
"route_length": "20,9 км",
"operating_mode_weekdays": "Будни: начало движения — 5:40. Отправление в последний рейс А — 21:54. Отправление в последний рейс Б — 21:01. Интервал движения 8,5 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:40. Отправление в последний рейс А — 21:34. Отправление в последний рейс Б — 20:32. Интервал движения 9 мин."
},
{
"id": "4",
"from": "Жилой массив Ферма-2",
"to": "жилой массив Новая Сосновка",
"route_length": "24,59 км",
"operating_mode_weekdays": "Будни: начало движения — 5:30. Отправление в последний рейс А — 21:02. Отправление в последний рейс Б — 20:50. Интервал движения 14,8 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:30. Отправление в последний рейс А — 21:07. Отправление в последний рейс Б — 21:20. Интервал движения 22 мин."
},
{
"id": "5",
"from": "ЦУМ",
"to": "ул.Халитова",
"route_length": "27,42 км",
"operating_mode_weekdays": "Будни: начало движения — 5:43. Отправление в последний рейс А — 22:05. Отправление в последний рейс Б — 20:45. Интервал движения: утро 6,7 мин, вечер 7 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:31. Отправление в последний рейс А — 22:15. Отправление в последний рейс Б — 21:03. Интервал движения 7,6 мин."
},
{
"id": "6",
"from": "Речной порт",
"to": "жилой массив Северный",
"route_length": "20,9 км",
"operating_mode_weekdays": "Будни: начало движения — 5:00. Отправление в последний рейс А — 22:24. Отправление в последний рейс Б — 21:32. Интервал движения 7,8 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:45. Отправление в последний рейс А — 22:07. Отправление в последний рейс Б — 21:20. Интервал движения 8,4 мин."
},
{
"id": "9",
"from": "Жилой массив Дербышки",
"to": "жилой массив Аки",
"route_length": "4,52 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 19:10. Отправление в последний рейс Б — 19:40.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 19:10. Отправление в последний рейс Б — 19:40."
},
{
"id": "10",
"from": "Ул.Серова",
"to": "ул.Академика Губкина (кольцевой)",
"route_length": "15,3 км",
"operating_mode_weekdays": "Будни: начало движения — 5:20. Отправление в последний рейс А — 22:12. Отправление в последний рейс Б — 23:04. Интервал движения 5,7 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 21:30. Отправление в последний рейс Б — 22:30. Интервал движения 7,1 мин."
},
{
"id": "10a",
"from": "Ул.Серова",
"to": "ул.Академика Губкина (кольцевой)",
"route_length": "14,82 км",
"operating_mode_weekdays": "Будни: начало движения — 5:19. Отправление в последний рейс А — 21:52. Отправление в последний рейс Б — 22:23. Интервал движения 5,9 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 21:55. Отправление в последний рейс Б — 22:25. Интервал движения 7,2 мин."
},
{
"id": "11",
"from": "Жилой массив Дербышки",
"to": "жилой массив Малые Дербышки",
"route_length": "10,56 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 18:45. Отправление в последний рейс Б — 19:10.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 18:45. Отправление в последний рейс Б — 19:10."
},
{
"id": "15",
"from": "Комбинат «Здоровье»",
"to": "ул.Адоратского",
"route_length": "10,38 км",
"operating_mode_weekdays": "Будни: начало движения — 5:30. Отправление в последний рейс А — 22:51. Отправление в последний рейс Б — 22:22. Интервал движения 6 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 22:50. Отправление в последний рейс Б — 22:30. Интервал движения 7 мин.99"
},
{
"id": "18",
"from": "Ул.Северополюсная",
"to": "переулок Дуслык",
"route_length": "31,41 км",
"operating_mode_weekdays": "Будни: начало движения — 4:50. Отправление в последний рейс А — 22:01. Отправление в последний рейс Б — 20:20. Интервал движения 8,5 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:40. Отправление в последний рейс А — 21:58. Отправление в последний рейс Б — 20:14. Интервал движения 10,2 мин."
},
{
"id": "22",
"from": "Ул.Можайского",
"to": "жилой массив Ферма-2",
"route_length": "24,45 км",
"operating_mode_weekdays": "5:30. Отправление в последний рейс А — 21:38. Отправление в последний рейс Б — 20:34. Интервал движения: утро 7,1 мин, вечер 7,4 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:40. Отправление в последний рейс А — 21:19. Отправление в последний рейс Б — 20:01. Интервал движения 10,1 мин."
},
{
"id": "23",
"from": "Ул.Р.Яхина",
"to": "жилой массив Мирный",
"route_length": "13,58 км",
"operating_mode_weekdays": "Будни: начало движения — 5:20. Отправление в последний рейс А — 22:11. Отправление в последний рейс Б — 21:40. Интервал движения: утро 12,9 мин, вечер 15,1 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:20. Отправление в последний рейс А — 21:05. Отправление в последний рейс Б — 21:13. Интервал движения 15 мин."
},
{
"id": "25",
"from": "Ул.Техническая",
"to": "жилой массив Дербышки",
"route_length": "20,66 км",
"operating_mode_weekdays": "Будни: начало движения — 5:30. Отправление в последний рейс А — 19:30. Отправление в последний рейс Б — 18:30. Интервал движения 13,2 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:10. Отправление в последний рейс А — 18:10. Отправление в последний рейс Б — 17:50. Интервал движения 20 мин."
},
{
"id": "28",
"from": "ЦПКиО",
"to": "ул.Короленко (кольцевой)",
"route_length": "8,81 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 21:45. Отправление в последний рейс Б — 22:02. Интервал движения 7,6 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 21:38. Отправление в последний рейс Б — 22:01. Интервал движения 15 мин."
},
{
"id": "28a",
"from": "Чеховский рынок",
"to": "ул.Короленко (кольцевой)",
"route_length": "10,74 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 21:30. Отправление в последний рейс Б — 22:01. Интервал движения 8 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 21:30. Отправление в последний рейс Б — 22:01. Интервал движения 15 мин."
},
{
"id": "29",
"from": "Строительный институт",
"to": "ул.Гудованцева",
"route_length": "17,23 км",
"operating_mode_weekdays": "Будни: начало движения — 5:30. Отправление в последний рейс А — 22:30. Отправление в последний рейс Б — 21:40. Интервал движения 7,2 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 22:30. Отправление в последний рейс Б — 21:40. Интервал движения 9,2 мин."
},
{
"id": "30",
"from": "Переулок Дуслык",
"to": "станция Лагерная",
"route_length": "27,05 км",
"operating_mode_weekdays": "Будни: начало движения — 4:38. Отправление в последний рейс А — 21:24. Отправление в последний рейс Б — 22:40. Интервал движения: утро 6,6 мин, вечер 6,8 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:01. Отправление в последний рейс А — 20:56. Отправление в последний рейс Б — 22:18. Интервал движения 8,1 мин."
},
{
"id": "31",
"from": "Магазин «IKEA»",
"to": "жилой массив Старое Победилово",
"route_length": "29,48 км",
"operating_mode_weekdays": "Будни: начало движения — 5:15. Отправление в последний рейс А — 22:10. Отправление в последний рейс Б — 21:46. Интервал движения: утро 6,6 мин, вечер 6,8 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:30. Отправление в последний рейс А — 22:10. Отправление в последний рейс Б — 21:51. Интервал движения 8 мин."
},
{
"id": "33",
"from": "Ул.Ленинградская",
"to": "жилой массив Ферма-2",
"route_length": "99999",
"operating_mode_weekdays": "88888",
"operating_mode_weekend": "99999"
},
{
"id": "34",
"from": "Жилой массив Ферма-2",
"to": "ДК им.Саид-Галеева",
"route_length": "25,39 км",
"operating_mode_weekdays": "Будни: начало движения — 5:25. Отправление в последний рейс А — 18:51. Отправление в последний рейс Б — 19:59. Интервал движения 14,8 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 17:44. Отправление в последний рейс Б — 18:48. Интервал движения 17,5 мин."
},
{
"id": "35",
"from": "Станция метро «Площадь Г.Тукая»",
"to": "ул.Гаврилова (кольцевой)",
"route_length": "14,33 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 22:26. Отправление в последний рейс Б — 21:35. Интервал движения 7 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 22:15. Отправление в последний рейс Б — 21:21. Интервал движения 9,4 мин."
},
{
"id": "35a",
"from": "Станция метро «Площадь Г.Тукая»",
"to": "Авторынок (кольцевой)",
"route_length": "14,06 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 22:37. Отправление в последний рейс Б — 21:45. Интервал движения утро 6,4 мин, вечер 6,9 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 22:20. Отправление в последний рейс Б — 21:30. Интервал движения 9 мин."
},
{
"id": "36",
"from": "Вещевой рынок",
"to": "Осиново",
"route_length": "29,9 км",
"operating_mode_weekdays": "Будни: начало движения — 5:14. Отправление в последний рейс А — 21:42. Отправление в последний рейс Б — 20:28. Интервал движения: утро 6,8 мин, вечер 7,1 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:30. Отправление в последний рейс А — 21:41. Отправление в последний рейс Б — 20:21. Интервал движения 11 мин."
},
{
"id": "36a",
"from": "Жилой массив Залесный",
"to": "Новониколаевский",
"route_length": "14,98 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 19:00. Отправление в последний рейс Б — 19:15.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 19:00. Отправление в последний рейс Б — 19:15."
},
{
"id": "37",
"from": "Жилой массив Ферма-2",
"to": "жилой массив Сухая Река",
"route_length": "30,26 км",
"operating_mode_weekdays": "Будни: начало движения — 4:58. Отправление в последний рейс А — 21:47. Отправление в последний рейс Б — 21:32. Интервал движения 10 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:30. Отправление в последний рейс А — 21:48. Отправление в последний рейс Б — 20:54. Интервал движения 13,7 мин."
},
{
"id": "40",
"from": "Ул.Гаврилова",
"to": "кафе «Ак Барс»",
"route_length": "19,5 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 20:00. Отправление в последний рейс Б — 20:55.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 20:00. Отправление в последний рейс Б — 20:00."
},
{
"id": "42",
"from": "КДК им.Ленина",
"to": "жилой массив Борисоглебское",
"route_length": "8,56 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 19:10. Отправление в последний рейс Б -19:40.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 19:10. Отправление в последний рейс Б 19:40."
},
{
"id": "43",
"from": "Ул. Химическая",
"to": "ул.Техническая",
"route_length": "27,37 км",
"operating_mode_weekdays": "Будни: начало движения — 5:00. Отправление в последний рейс А — 21:45. Отправление в последний рейс Б — 21:45. Интервал движения 7,9 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:12. Отправление в последний рейс А — 20:32. Отправление в последний рейс Б — 22:02. Интервал движения 11,3 мин."
},
{
"id": "45",
"from": "Жилой массив Ферма-2",
"to": "Су Анасы",
"route_length": "39,28 км",
"operating_mode_weekdays": "Будни: начало движения — 4:57. Отправление в последний рейс А — 22:01. Отправление в последний рейс Б — 22:17. Интервал движения утро 7,1 мин, вечер 7,9 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:00. Отправление в последний рейс А — 21:46. Отправление в последний рейс Б — 22:00. Интервал движения 7,6 мин."
},
{
"id": "46",
"from": "Жилой комплекс «Экопарк „Дубрава“»",
"to": "Профилакторий",
"route_length": "41,42 км",
"operating_mode_weekdays": "Будни: начало движения — 5:20. Отправление в последний рейс А — 22:19. Отправление в последний рейс Б — 21:46. Интервал движения 7,1 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:45. Отправление в последний рейс А — 22:01. Отправление в последний рейс Б — 22:01. Интервал движения 8,1 мин."
},
{
"id": "47",
"from": "Ул.Батыршина",
"to": "Деревня Универсиады",
"route_length": "20,67 км",
"operating_mode_weekdays": "Будни: начало движения — 5:30. Отправление в последний рейс А — 21:48. Отправление в последний рейс Б — 22:51. Интервал движения 6,6 мин",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 21:18. Отправление в последний рейс Б — 22:20. Интервал движения 8,2 мин."
},
{
"id": "49",
"from": "Вещевой рынок",
"to": "станция Лагерная",
"route_length": "21,52 км",
"operating_mode_weekdays": "Будни: начало движения — 5:30. Отправление в последний рейс А — 20:48. Отправление в последний рейс Б — 19:48. Интервал движения утро 8,3 мин, вечер 8,9 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 20:43. Отправление в последний рейс Б — 19:50. Интервал движения 11,4 мин."
},
{
"id": "53",
"from": "Речной порт",
"to": "ул.Ленинградская",
"route_length": "16,73 км",
"operating_mode_weekdays": "Будни: начало движения — 5:30. Отправление в последний рейс А — 22:10. Отправление в последний рейс Б — 21:14. Интервал движения 9,1 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:20. Отправление в последний рейс А — 21:41. Отправление в последний рейс Б — 20:47. Интервал движения 12,4 мин."
},
{
"id": "54",
"from": "Речной порт",
"to": "ул.Гаврилова",
"route_length": "13,14 км",
"operating_mode_weekdays": "Будни: начало движения — 5:30. Отправление в последний рейс А — 22:26. Отправление в последний рейс Б — 21:41. Интервал движения 5,6 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 22:20. Отправление в последний рейс Б — 21:35. Интервал движения 9,1 мин."
},
{
"id": "55",
"from": "39-й квартал",
"to": "жилой комплекс «Лесной городок»",
"route_length": "22,22 км",
"operating_mode_weekdays": "Будни: начало движения — 5:35. Отправление в последний рейс А — 22:02. Отправление в последний рейс Б — 22:22. Интервал движения 8,7 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 22:02. Отправление в последний рейс Б — 22:02. Интервал движения 15 мин."
},
{
"id": "56",
"from": "Ул.Р.Яхина",
"to": "жилой массив Петровский",
"route_length": "17,10 км",
"operating_mode_weekdays": "Будни: начало движения — 5:40. Отправление в последний рейс А — 21:30. Отправление в последний рейс Б — 20:46.",
"operating_mode_weekend": "В выходные: начало движения — 5:50. Отправление в последний рейс А — 18:11. Отправление в последний рейс Б — 19:05."
},
{
"id": "60",
"from": "Ул. Химическая",
"to": "жилой массив Дербышки",
"route_length": "26,62 км",
"operating_mode_weekdays": "Будни: начало движения — 5:15. Отправление в последний рейс А — 22:15. Отправление в последний рейс Б — 21:08. Интервал движения утро 7,7 мин, вечер 8,5 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:15. Отправление в последний рейс А — 21:55. Отправление в последний рейс Б — 20:43. Интервал движения 8,2 мин."
},
{
"id": "62",
"from": "ДВВС",
"to": "жилой комплекс «Салават Купере»",
"route_length": "29,33 км",
"operating_mode_weekdays": "Будни: начало движения — 5:00. Отправление в последний рейс А — 21:00. Отправление в последний рейс Б — 21:19. Интервал движения 12,5 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:30. Отправление в последний рейс А — 21:06. Отправление в последний рейс Б — 20:06. Интервал движения 12 мин."
},
{
"id": "63",
"from": "Ул.Комиссара Габишева",
"to": "жилой массив Левченко",
"route_length": "30,90 км",
"operating_mode_weekdays": "Будни: начало движения — 5:45. Отправление в последний рейс А — 21:20. Отправление в последний рейс Б — 22:41. Интервал движения 8,6 мин.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 20:56. Отправление в последний рейс Б — 22:26. Интервал движения 11,5 мин."
},
{
"id": "68",
"from": "Ж/д вокзал",
"to": "ул.Иман",
"route_length": "20,87 км",
"operating_mode_weekdays": "Будни: начало движения — 5:00. Отправление в последний рейс А — 21:47. Отправление в последний рейс Б — 20:46. Интервал движения 10 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:00. Отправление в последний рейс А — 21:14. Отправление в последний рейс Б — 20:15. Интервал движения 12,5 мин."
},
{
"id": "70",
"from": "Чеховский рынок",
"to": "жилой комплекс «Весна»",
"route_length": "11,09 км",
"operating_mode_weekdays": "Будни: начало движения — 5:50. Отправление в последний рейс А — 21:30. Отправление в последний рейс Б — 21:00.",
"operating_mode_weekend": "В выходные: начало движения — 5:50. Отправление в последний рейс А — 21:21. Отправление в последний рейс Б — 20:39."
},
{
"id": "71",
"from": "Городская клиническая больница №5",
"to": "жилой массив Константиновка",
"route_length": "17,29 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 21:35. Отправление в последний рейс Б — 20:53.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 21:30. Отправление в последний рейс Б — 20:45."
},
{
"id": "72",
"from": "Площадь Вахитова",
"to": "Профилакторий",
"route_length": "27,33 км",
"operating_mode_weekdays": "Будни: начало движения — 5:40. Отправление в последний рейс А — 22:25. Отправление в последний рейс Б — 21:59.",
"operating_mode_weekend": "В выходные: начало движения — 6:10. Отправление в последний рейс А — 20:45. Отправление в последний рейс Б — 20:14."
},
{
"id": "74",
"from": "ДВВС",
"to": "10-й микрорайон",
"route_length": "22,39 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 21:47. Отправление в последний рейс Б — 20:45.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 21:40. Отправление в последний рейс Б — 20:38."
},
{
"id": "75",
"from": "Комбинат «Здоровье»",
"to": "Универсам-2",
"route_length": "11,60 км",
"operating_mode_weekdays": "Будни: начало движения — 5:40. Отправление в последний рейс А — 22:25. Отправление в последний рейс Б — 21:59.",
"operating_mode_weekend": "В выходные: начало движения — 6:10. Отправление в последний рейс А — 20:45. Отправление в последний рейс Б — 20:14."
},
{
"id": "77",
"from": "Переулок Дуслык",
"to": "Нефтебаза",
"route_length": "28,10 км",
"operating_mode_weekdays": "Будни: начало движения — 4:45. Отправление в последний рейс А — 19:23. Отправление в последний рейс Б — 20:20.",
"operating_mode_weekend": "В выходные: начало движения — 5:00. Отправление в последний рейс А — 19:03. Отправление в последний рейс Б — 20:22."
},
{
"id": "78",
"from": "Ул.Волгоградская",
"to": "жилой массив Крутушка",
"route_length": " 18,74 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 19:35. Отправление в последний рейс Б — 20:20.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 19:35. Отправление в последний рейс Б — 20:20."
},
{
"id": "84",
"from": "Ул. Халитова",
"to": "жилой массив Чебакса",
"route_length": "15,32 км",
"operating_mode_weekdays": "Будни: начало движения — 6:15. Отправление в последний рейс А — 17:10. Отправление в последний рейс Б — 18:00.",
"operating_mode_weekend": "В выходные: начало движения — 6:15. Отправление в последний рейс А — 17:10. Отправление в последний рейс Б — 18:00."
},
{
"id": "84a",
"from": "Ул. Халитова",
"to": "жилой массив Чебакса",
"route_length": "17,48 км",
"operating_mode_weekdays": "Будни: начало движения — 6:15. Отправление в последний рейс А — 17:10. Отправление в последний рейс Б — 18:00.",
"operating_mode_weekend": "В выходные: начало движения — 6:15. Отправление в последний рейс А — 17:10. Отправление в последний рейс Б — 18:00."
},
{
"id": "88",
"from": "Жилой массив Дербышки",
"to": "жилой массив Кульсеитово",
"route_length": "9,69 км",
"operating_mode_weekdays": "Будни: начало движения — 5:30. Отправление в последний рейс А — 22:05. Отправление в последний рейс Б — 20:57. Интервал движения утро 7,4 мин, вечер 7,7 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:30. Отправление в последний рейс А — 21:30. Отправление в последний рейс Б — 20:00. Интервал движения 9,4 мин."
},
{
"id": "89",
"from": "Ул.Академика Сахарова",
"to": "ул.Гудованцева",
"route_length": "27,98 км",
"operating_mode_weekdays": "Будни: начало движения — 5:18. Отправление в последний рейс А — 22:13. Отправление в последний рейс Б — 21:04. Интервал движения 7,3 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:30. Отправление в последний рейс А — 22:11. Отправление в последний рейс Б — 20:40. Интервал движения 9,1 мин."
},
{
"id": "90",
"from": "Станция метро «Площадь Г.Тукая»",
"to": "Куюки",
"route_length": "22,02 км",
"operating_mode_weekdays": "Будни: начало движения — 5:30. Отправление в последний рейс А — 21:10. Отправление в последний рейс Б — 20:13. Интервал движения 13,8 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:45. Отправление в последний рейс А — 21:10. Отправление в последний рейс Б — 20:04. Интервал движения 19 мин."
},
{
"id": "91",
"from": "ЦУМ",
"to": "Высокая Гора (АРЗ)",
"route_length": "26,71 км",
"operating_mode_weekdays": "Будни: начало движения — 5:30. Отправление в последний рейс А — 22:05. Отправление в последний рейс Б — 20:57. Интервал движения утро 7,4 мин, вечер 7,7 мин.",
"operating_mode_weekend": "В выходные: начало движения — 5:30. Отправление в последний рейс А — 21:30. Отправление в последний рейс Б — 20:00. Интервал движения 9,4 мин."
},
{
"id": "93",
"from": "КДК им.Ленина",
"to": "н.п.Берновые Ковали",
"route_length": "21,20 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 18:10. Отправление в последний рейс Б — 18:55.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 16:30. Отправление в последний рейс Б — 17:15."
},
{
"id": "94",
"from": "остановка Дубравная",
"to": "жилой массив Привольный",
"route_length": "6,65 км",
"operating_mode_weekdays": "Будни: начало движения — 6:00. Отправление в последний рейс А — 19:30. Отправление в последний рейс Б — 20:00.",
"operating_mode_weekend": "В выходные: начало движения — 6:00. Отправление в последний рейс А — 19:30. Отправление в последний рейс Б — 20:00."
}
]

View File

@ -1,29 +0,0 @@
{
"data": [
{
"name": "Kamila",
"email": "kamila@gmail.com",
"password": "qwerty"
},
{
"name": "Liliya",
"email": "liliya@mail.ru",
"password": "12121"
},
{
"name": "Guzel",
"email": "guzel@gmail.com",
"password": "12345"
},
{
"name": "Labeyrie",
"email": "superlu@unics.ru",
"password": "qwertyqwe"
},
{
"name": "Ismael Bako",
"email": "bako@unics.ru",
"password": "21"
}
]
}

View File

@ -1,30 +0,0 @@
const router = require('express').Router();
router.get('/catalog-data', (request, response) => {
response.send(require('./stubs/json/catalog-data/success.json'))
})
router.get('/item-data', (request, response) => {
response.send(require('./stubs/json/catalog-data/newsuccess.json'))
})
router.post('/search', (request, response) => {
const searchTerm = request.body.search.toLowerCase();
try {
const itemsData = require('./stubs/json/catalog-data/newsuccess.json');
const itemData = itemsData.data.find(item => item.name.toLowerCase().includes(searchTerm));
if (itemData) {
return response.json({ data: itemData });
} else {
console.log('Item not found');
return response.status(404).send('Item not found');
}
} catch (error) {
console.error('Error reading file:', error);
return response.status(500).send('Internal server error');
}
});
module.exports = router;

View File

@ -1,52 +0,0 @@
{
"data":[
[{
"id": 1,
"photo": "shirt7_1x",
"alt" :"ФУТБОЛКА 'ЧЕРНОЕ МОРЕ'",
"name": "ФУТБОЛКА 'ЧЕРНОЕ МОРЕ'",
"price": "1500 руб.",
"setphoto": ["shirt7_1x","shirt7_2x","shirt7_4x"]
},
{
"id":2,
"photo": "shirt8_1x",
"alt" :"ЗИП МУЖСКОЙ",
"name": "ЗИП МУЖСКОЙ",
"price": "1500 руб.",
"setphoto": ["shirt8_1x","shirt8_2x","shirt8_4x"]
},
{
"id": 3,
"photo": "shirt1_1x",
"alt" :"Фотография футболки белого цвета с цитатой из К/ф Кавказская пленница",
"name": "ФУТБОЛКА С ПРИНТОМ МОСФИЛЬМ",
"price": "1500 руб.",
"setphoto": ["shirt1_1x","shirt1_2x","shirt1_4x"]
}],
[{
"id": 4,
"photo": "shirt9_1x",
"alt" :"ЛАВАНДОВОЕ ХУДИ",
"name": "ЛАВАНДОВОЕ ХУДИ",
"price": "1500 руб.",
"setphoto": ["shirt9_1x","shirt9_2x","shirt9_4x"]
},
{
"id": 5,
"photo": "shirt10_1x",
"alt" :"ФУТБОЛКА АНИМЕ",
"name": "ФУТБОЛКА АНИМЕ",
"price": "1500 руб.",
"setphoto": ["shirt10_1x","shirt10_2x","shirt10_4x"]
},
{
"id": 6,
"photo":"shirt11_1x",
"alt" :"ФУТБОЛКА ОВЕРСАЙЗ С ПРИНТОМ ЭРАРТА",
"name": "ФУТБОЛКА ОВЕРСАЙЗ С ПРИНТОМ ЭРАРТА",
"price": "1500 руб.",
"setphoto": ["shirt11_1x","shirt11_2x", "shirt11_4x"]
}]
]
}

View File

@ -1,179 +0,0 @@
{
"data":[
{
"id": 1,
"photo": ["shirt7_1x", "shirt7_1_1x"],
"alt" :"ФУТБОЛКА 'ЧЕРНОЕ МОРЕ'",
"name": "ФУТБОЛКА 'ЧЕРНОЕ МОРЕ'",
"price": "1500 руб.",
"color" : "Серый",
"colorid" : 7,
"colorcss": ["#606060","#FFFFFF"],
"setphoto": ["shirt7_1x","shirt7_1_1x","shirt7_2x","shirt7_1_2x", "shirt7_4x", "shirt7_1_4x"],
"size": ["XS/S","M/L","XL/XLL"],
"body": ["79653",
"Весна-Лето 2023",
"Черное море",
"без застежки",
"светло-серый",
"100% Хлопок",
"свободный",
"картина",
"удлиненная",
"101-78-96",
"178",
"M (48)",
"без карманов",
"160",
"Женский"]
},
{
"id":2,
"photo": ["shirt8_1x", "shirt8_1_1x"],
"alt" :"ЗИП МУЖСКОЙ",
"name": "ЗИП МУЖСКОЙ",
"price": "1500 руб.",
"setphoto": ["shirt8_1x","shirt8_1_1x","shirt8_2x","shirt8_1_2x", "shirt8_4x", "shirt8_1_4x"],
"size": ["XS/S","M/L","XL/XLL"],
"body": ["7934",
"Весна-Осень 2023",
"Третьяковская галерея",
"с застежкой",
"черный",
"100% Хлопок",
"свободный",
"надпись",
"удлиненная",
"90-80-96",
"182",
"L (50)",
"с карманами",
"160",
"Мужской"]
},
{
"id": 3,
"photo": ["shirt1_1x", "shirt1_1_1x"],
"alt" :"Фотография футболки белого цвета с цитатой из К/ф Кавказская пленница",
"name": "Футболка с принтом Мосфильм",
"price": "1500 руб.",
"setphoto": ["shirt1_1x","shirt1_1_1x","shirt1_2x","shirt1_1_2x", "shirt1_4x", "shirt1_1_4x"],
"size": ["XS/S","M/L","XL/XLL"],
"body": ["79776",
"Весна-Лето 2021",
"Третьяковская галерея",
"без застежки",
"темно-серый",
"100% Хлопок",
"свободный",
"надписи",
"удлиненная",
"101-78-96",
"189",
"L (50)",
"без карманов",
"160",
"Женский"]
},
{
"id": 4,
"photo": ["shirt9_1x", "shirt9.1_1x"],
"alt" :"ЛАВАНДОВОЕ ХУДИ",
"name": "ЛАВАНДОВОЕ ХУДИ",
"price": "1500 руб.",
"setphoto": ["shirt9_1x","shirt9.1_1x","shirt9_2x","shirt9.1_2x", "shirt9_4x", "shirt9.1_4x"],
"size": ["XS/S","M/L","XL/XLL"],
"body": ["79276",
"Весна-Лето 2021",
"Третьяковская галерея",
"без застежки",
"лавандовы",
"100% Хлопок",
"свободный",
"надписи",
"удлиненная",
"101-78-96",
"184",
"L (50)",
"с карманами",
"160",
"Женский"]
},
{
"id": 5,
"photo": ["shirt10_1x", "shirt10.1_1x"],
"alt" :"ФУТБОЛКА АНИМЕ",
"name": "ФУТБОЛКА АНИМА",
"price": "1500 руб.",
"setphoto": ["shirt10_1x","shirt10.1_1x","shirt10_2x","shirt10.1_2x", "shirt10_4x", "shirt10.1_4x"],
"size": ["XS/S","M/L","XL/XLL"],
"body": ["79276",
"Лето 2024",
"Третьяковская галерея",
"без застежки",
"фистошковый",
"100% Хлопок",
"свободный",
"картина",
"удлиненная",
"101-78-96",
"189",
"L (50)",
"без карманов",
"160",
"Мужской"]
},
{
"id": 6,
"photo": ["shirt11_1x", "shirt11.1_1x"],
"alt" :"ФУТБОЛКА ОВЕРСАЙЗ С ПРИНТОМ ЭРАРТА",
"name": "ФУТБОЛКА ОВЕРСАЙЗ С ПРИНТОМ ЭРАРТА",
"price": "1500 руб.",
"setphoto": ["shirt11_1x","shirt11.1_1x","shirt11_2x","shirt11.1_2x", "shirt11_4x", "shirt11.1_4x"],
"size": ["XS/S","M/L","XL/XLL"],
"body": ["79276",
"Лето 2024",
"Третьяковская галерея",
"без застежки",
"черный",
"100% Хлопок",
"свободный",
"картина",
"удлиненная",
"101-78-96",
"189",
"L (50)",
"без карманов",
"160",
"Женский"]
},
{
"id": 7,
"photo": ["shirt7_1x", "shirt7_1_1x"],
"alt" :"ФУТБОЛКА 'ЧЕРНОЕ МОРЕ'",
"name": "ФУТБОЛКА 'ЧЕРНОЕ МОРЕ'",
"price": "1500 руб.",
"color" : "Белый",
"colorid" : 1,
"colorcss": ["#606060","#FFFFFF"],
"setphoto": ["shirt7_1x","shirt7_1_1x","shirt7_2x","shirt7_1_2x", "shirt7_4x", "shirt7_1_4x"],
"size": ["XS/S","M/L","XL/XLL"],
"body": ["79653",
"Весна-Лето 2023",
"Черное море",
"без застежки",
"светло-серый",
"100% Хлопок",
"свободный",
"картина",
"удлиненная",
"101-78-96",
"178",
"M (48)",
"без карманов",
"160",
"Женский"]
}
]
}

View File

@ -1,49 +0,0 @@
/*const router = require('express').Router();
module.exports = router;
router.get('/teachers', (request, response) => {
response.send(require('../json/teachers/success.json'))
})
router.get('/account', (request, response) => {
response.send(require('../json/account/account.json'))
})
router.post('/login', (request, response) => {
response.send(require('../json/login/success.json'))
})*/
const router = require('express').Router();
router.get('/teachers', (request, response) => {
response.send(require('./json/teachers/success.json'))
})
router.get('/account', (request, response) => {
response.send(require('./json/account/account.json'))
})
router.post('/login', (request, response) => {
const login = request.body.login;
const password = request.body.password;
try {
const users = require('./json/account/account.json');
const user = users.data.find(user => user.login === login && user.password === password);
if (!user) {
return response.status(401).send('Неверные данные');
}
const responseObject = {
login: user.login,
}
return response.json(responseObject);
} catch (error) {
console.error('Error reading file:', error);
response.status(400).send('Internal server error');
}
})
module.exports = router;

View File

@ -1,28 +0,0 @@
{
"data": [
{
"login": "user1",
"password":"1234",
"photo": "boy",
"surname": "Иванов",
"name": "Иван",
"class": "2",
"group": "1",
"number": "+7 927 030 13 00",
"teacher": "Иванова Валерия Константиновна",
"lessons": ["02.05", "07.05", "14.05", "17.05", "21.05", "24.05", "28.05"]
},
{
"login": "user2",
"password":"123",
"photo": "boy",
"surname": "Александров",
"name": "Евгений",
"class": "2",
"group": "1",
"number": "+7 927 030 13 00",
"teacher": "Иванова Валерия Константиновна",
"lessons": ["02.05", "07.05", "14.05", "17.05", "21.05", "24.05", "28.05"]
}
]
}

View File

@ -1,14 +0,0 @@
{
"data":
{
"login": "user1",
"photo": "boy",
"surname": "Иванов",
"name": "Иван",
"class": "2",
"group": "1",
"number": "+7 927 030 13 00",
"teacher": "Иванова Валерия Константиновна",
"lessons": ["02.05", "07.05", "14.05", "17.05", "21.05", "24.05", "28.05"]
}
}

View File

@ -1,15 +0,0 @@
{
"data":
[
{
"imageUrl": "teacher1",
"name": "Иванова Валерия Константинова",
"status": "Педагог с бакалаврской степенью по театральному искусству. Обладает более чем 15-летним опытом работы на театральной сцене, является действующим актером театра и кино."
},
{
"imageUrl": "teacher2",
"name": "Рогов Сергей Владимирович",
"status": "Педагог по актерскому мастерству с высшим образованием в области режиссуры, постановщик спектаклей. Опыт работы с детьми 10 лет."
}
]
}