{"id":26151060,"url":"https://github.com/sweetconsole/babushka","last_synced_at":"2026-04-19T08:31:37.365Z","repository":{"id":281926204,"uuid":"942279877","full_name":"sweetconsole/babushka","owner":"sweetconsole","description":"Верстка многостраничного сайта на React.js. про разработку сайтов и сервисов для ресторанов и баров","archived":false,"fork":false,"pushed_at":"2025-07-22T16:19:16.000Z","size":41858,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-22T18:08:45.224Z","etag":null,"topics":["framer-motion","html","javascript","react","react-router-dom","react-scroll","sass","typescript","vercel","vite"],"latest_commit_sha":null,"homepage":"https://sweetconsole.github.io/babushka/dist/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sweetconsole.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-03T21:27:27.000Z","updated_at":"2025-07-22T16:19:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"6dbf2467-4961-4d61-85ec-b08ba0f57c52","html_url":"https://github.com/sweetconsole/babushka","commit_stats":null,"previous_names":["sweetconsole/babushka"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sweetconsole/babushka","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sweetconsole%2Fbabushka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sweetconsole%2Fbabushka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sweetconsole%2Fbabushka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sweetconsole%2Fbabushka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sweetconsole","download_url":"https://codeload.github.com/sweetconsole/babushka/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sweetconsole%2Fbabushka/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32000179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["framer-motion","html","javascript","react","react-router-dom","react-scroll","sass","typescript","vercel","vite"],"created_at":"2025-03-11T06:25:06.678Z","updated_at":"2026-04-19T08:31:37.359Z","avatar_url":"https://github.com/sweetconsole.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Babushka \r\n\r\nМногостраничный сайт на \u003cstrong\u003eReact.js\u003c/strong\u003e. В качестве языка программирования используется \u003cstrong\u003eTypeScript\u003c/strong\u003e, сборщиком проекта является \u003cstrong\u003eVite\u003c/strong\u003e.\r\n\r\n## Технологии\r\n\r\n\u003cdiv id=\"steck\"\u003e\r\n\t\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/vitejs/vitejs-original.svg\" width=\"30\" height=\"30\" alt=\"Vite\" /\u003e\r\n\t\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/react/react-original-wordmark.svg\" width=\"30\" height=\"30\" alt=\"React\"/\u003e\r\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/typescript/typescript-original.svg\" width=\"30\" height=\"30\" alt=\"Type Script\"/\u003e\r\n\t\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/sass/sass-original.svg\" width=\"30\" height=\"30\" alt=\"SASS\"/\u003e\r\n\t\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/reactrouter/reactrouter-original.svg\" width=\"30\" height=\"30\" alt=\"React Router\" /\u003e\r\n\t\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/framermotion/framermotion-original.svg\" width=\"30\" height=\"30\" alt=\"Framer Motion\" /\u003e\r\n\t\u003cimg src=\"https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/bun/bun-original.svg\" width=\"30\" height=\"30\" alt=\"Bun\"  /\u003e\r\n\u003c/div\u003e\r\n\r\n## Тематика сайта \r\nРазработка сайтов и сервисов для ресторанов и баров, а также их продвижение и SEO оптимизация. Сайт включает в себя главную страницу, страницы проектов, блогов, 4 статьи и 6 кейсов, обработки персональных данных, а также страницу 404.\u003cbr\u003e\r\n\r\n## Особенности сайта\r\n\u003cstrong\u003eВизуальные:\u003c/strong\u003e\u003cbr\u003e\r\n* Анимации появления, сделанные при помощи \u003cstrong\u003eFramer Motion\u003c/strong\u003e.\r\n* Анимация скроллинга при клике на кнопку ведущая на объект, реализованная при помощи \u003cstrong\u003eReact Scroll\u003c/strong\u003e.\r\n* Полностью адаптивный сайт.\r\n* В подсказке поле имени случайного выбирается имя из конфига.\r\n* Поля \u003cem\u003eВаше Имя\u003c/em\u003e и \u003cem\u003eВаш номер телефона\u003c/em\u003e имеют валидацию.\r\n\r\n\u003cb\u003eТехнические:\u003c/b\u003e\u003cbr\u003e\r\n* Стили являются модульными \u003cstrong\u003eSCSS\u003c/strong\u003e файлами. \r\n* Навигация на сайте сделана при помощи конфига со всеми маршрутами, что помогает не ошибиться в написании url адресов. \r\n* Если пользователь попадает на несуществующую страницу, то его перебрасывает на страницу 404.\r\n* Все изображения имеют alt свойство, а кнопки-иконки aria-label.\r\n* SEO оптимизация: \u003cstrong\u003eOpen Graph\u003c/strong\u003e теги, описание, заголовок, иконки, автор и ключевые слова.\r\n* Разделен бандл на два чанка: \u003cem\u003eосновной\u003c/em\u003e и \u003cem\u003eплагины\u003c/em\u003e\r\n\r\n## Превью сайта\r\n\r\n#### Главная страница\r\n\u003cimg src=\"./screenshots/home.png\" alt=\"Ошибка загрузки\"\u003e\r\n\r\n#### Страница блогов\r\n\u003cimg src=\"./screenshots/blogs.png\" alt=\"Ошибка загрузки\"\u003e\r\n\r\n#### Страница блога\r\n\u003cimg src=\"./screenshots/blog.png\" alt=\"Ошибка загрузки\"\u003e\r\n\r\n#### Страница кейсов\r\n\u003cimg src=\"./screenshots/cases.png\" alt=\"Ошибка загрузки\"\u003e\r\n\r\n#### Страница кейса\r\n\u003cimg src=\"./screenshots/case.png\" alt=\"Ошибка загрузки\"\u003e\r\n\r\n## Архитектура\r\n\r\n```\r\n├── dist - директория билда проекта\r\n├── public - директория для иконок и превью изображений\r\n│ \r\n├── src - рабочая директория\r\n│   ├── assets\r\n│   │\t├── fonts - директория шрифтов\r\n│   │\t├── images - директория изображений\r\n│   │   └── styles\r\n│   │       ├── fonts.scss - стили инициализация шрифтов\r\n│   │       ├── reset.scss - файл сброса стилей браузеров\r\n│   │       └── variables.scss - файлы переменных\r\n│   │\r\n│   ├── components\r\n│   │\t├── * - компоненты\r\n│   │\t├── ui\r\n│   │\t│   ├── * - компоненты ui элементов\r\n│   │\t│   ├── animated - директория анимированных компонентов\r\n│   │\t│   ├── blogs - директория компонентов страниц и блоков блога\r\n│   │\t│   ├── cases - директория компонентов страниц и блоков кейсов\r\n│   │   │   ├── form - директория компонентов формы\r\n│   │   │   └── index.ts - файл сокращения импортов\r\n│   │   │\r\n│   │   └── index.ts - файл сокращения импортов\r\n│   │\r\n│   ├── config\r\n│   │   ├── names.config.ts - конфигурация для подсказки имени в форме\r\n│   │   ├── pages.config.ts - конфигурация страни сайта\r\n│   │   ├── social.config.ts - конфигурация ссылком и номеров (телефон, соц.сети, ОГРН, ИНН) \r\n│   │   └── valid.config.ts - конфигурация паттернов валидации форм\r\n│   │\t\r\n│   ├── hooks \r\n│   │   └── useMediaQuery.ts - хук получения размера экрана\r\n│   │\r\n│   ├── pages - директория страниц сайта\r\n│   │   └── index.ts - файл сокращения импортов\r\n│   │\r\n│   ├── utility \r\n│   │   ├── animation.ts - описание Framer Motion анимаций\r\n│   │   ├── pickRandomItems.ts - функция, возращающая \r\n│   │   ├── randomName.ts - функция, возращающая случайное именя из конфига имен \r\n│   │   └── shuffledArray.ts - функция перемешивания массива\r\n│   │\r\n│   └── vite-env.d.ts - файл определения типов переменных окружения \r\n│\r\n├── .gitignore\r\n├── eslint.config.js\r\n├── index.html\r\n├── package.json\r\n├── README.md\r\n├── tsconfig.app.json\r\n├── tsconfig.json\r\n├── tsconfig.node.json\r\n└── vite.config.ts\r\n```\r\n\r\n## Запуск проекта\r\n\r\nДля запуска проекта необходимо выполнить следующие действия:\r\n\r\n1. С клонировать проект на ваш компьютер с [Github](https://github.com/sweetconsole/babushka) с помощью команды:\r\n```\r\ngit clone https://github.com/sweetconsole/babushka.git\r\n```\r\n2. Установить зависимости:\u003cbr\u003e\r\n```\r\nnpm install\r\n```\r\n3. Запустить проект:\u003cbr\u003e\r\n```\r\nnpm start\r\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsweetconsole%2Fbabushka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsweetconsole%2Fbabushka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsweetconsole%2Fbabushka/lists"}