{"id":15844464,"url":"https://github.com/elrouss/react-burger","last_synced_at":"2026-04-18T17:02:22.840Z","repository":{"id":171328986,"uuid":"644579550","full_name":"elrouss/react-burger","owner":"elrouss","description":"Сайт межгалактической космической закусочной с возможностью оформления заказов и отслеживания их истории в личном кабинете","archived":false,"fork":false,"pushed_at":"2025-06-30T21:47:00.000Z","size":5295,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-30T22:32:25.716Z","etag":null,"topics":["cypress","jest","react","react-router-dom","redux","typescript","websocket","yandex-practicum"],"latest_commit_sha":null,"homepage":"","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/elrouss.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}},"created_at":"2023-05-23T20:21:34.000Z","updated_at":"2025-06-30T21:46:54.000Z","dependencies_parsed_at":"2024-12-10T20:31:38.252Z","dependency_job_id":"f02c494b-216c-4468-b345-4f81597bda08","html_url":"https://github.com/elrouss/react-burger","commit_stats":{"total_commits":134,"total_committers":1,"mean_commits":134.0,"dds":0.0,"last_synced_commit":"523a32710fb8886570d00f800b0e7f1e41afb728"},"previous_names":["elrouss/react-burger"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/elrouss/react-burger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elrouss%2Freact-burger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elrouss%2Freact-burger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elrouss%2Freact-burger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elrouss%2Freact-burger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elrouss","download_url":"https://codeload.github.com/elrouss/react-burger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elrouss%2Freact-burger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31976805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T16:27:12.723Z","status":"ssl_error","status_checked_at":"2026-04-18T16:27:11.140Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cypress","jest","react","react-router-dom","redux","typescript","websocket","yandex-practicum"],"created_at":"2024-10-05T17:22:34.489Z","updated_at":"2026-04-18T17:02:22.834Z","avatar_url":"https://github.com/elrouss.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eУчебный проект: \"Stellar Burgers\"\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"575\" alt=\"Основной функционал приложения\" src=\"https://github.com/elrouss/react-burger/assets/108838349/366eb98b-23b7-4409-954e-769d97b649b1\"\u003e\n\u003c/div\u003e\n\n\u003ca name=\"summary\"\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eОглавление\u003c/summary\u003e\n    \u003col\u003e\n      \u003cli\u003e\u003ca href=\"#project-description\"\u003eОписание проекта\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#technologies\"\u003eСтек технологий\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#installation\"\u003eУстановка и запуск приложения в локальном репозитории\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#establishing\"\u003eПроцесс создания\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#functionality\"\u003eФункционал\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#enhancement\"\u003eСтатус\u003c/a\u003e\u003c/li\u003e\n    \u003c/ol\u003e\n  \u003c/details\u003e\n\u003c/a\u003e\n\n\u003ca name=\"project-description\"\u003e\u003ch2\u003e1. Описание проекта\u003c/h2\u003e\u003c/a\u003e\n\"Stellar Burgers\" - приложение (SPA) с регистрацией и авторизацией пользователей, в котором можно собрать и заказать свой личный бургер (без доставки на дом). Выполнен в рамках углубленной образовательной программы по библиотеке \"React\" \u003ca href=\"https://practicum.yandex.ru/\"\u003eЯндекс Практикума\u003c/a\u003e.\n\n\u003cb\u003eСсылки на проект\u003c/b\u003e\n\u003cbr\u003e\n\u003cb\u003eДеплой\u003c/b\u003e:\n\u003cbr\u003ehttps://elrouss.github.io/react-burger/\n\u003cbr\u003e\n\u003cb\u003eМакет:\u003c/b\u003e\n\u003cbr\u003ehttps://www.figma.com/file/zFGN2O5xktHl9VmoOieq5E/React-_-%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BD%D1%8B%D0%B5-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_external_link?node-id=0%3A1\n\u003cbr\u003e\n\u003cb\u003eЧек-листы\u003c/b\u003e:\n\u003cbr\u003ehttps://code.s3.yandex.net/react/checklists-pdf/checklist-1.pdf\n\u003cbr\u003ehttps://code.s3.yandex.net/react/checklists-pdf/checklist-2.pdf\n\u003cbr\u003ehttps://code.s3.yandex.net/react/checklists-pdf/checklist-3.pdf\n\u003cbr\u003ehttps://code.s3.yandex.net/react/checklists-pdf/checklist-4.pdf\n\u003cbr\u003ehttps://code.s3.yandex.net/react/checklists-pdf/checklist-5.pdf\n\u003cbr\u003ehttps://code.s3.yandex.net/react/checklists-pdf/checklist-6.pdf\n\u003cbr\u003e\n\n\u003ci\u003e* - проект прошел код-ревью\u003c/i\u003e\n\n\u003cdiv align=\"right\"\u003e(\u003ca href=\"#summary\"\u003eк оглавлению\u003c/a\u003e)\u003c/div\u003e\n\n\u003ca name=\"technologies\"\u003e\u003ch2\u003e2. Стек технологий\u003c/h2\u003e\u003c/a\u003e\n\u003cspan\u003e\n  \u003cimg src=\"https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB\" alt=\"Иконка React\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/React_Router-CA4245?style=for-the-badge\u0026logo=react-router\u0026logoColor=white\" alt=\"Иконка React Router\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Redux-593D88?style=for-the-badge\u0026logo=redux\u0026logoColor=white\" alt=\"Иконка Redux\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" alt=\"Иконка 'TypeScript'\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Cypress-17202C?style=for-the-badge\u0026logo=cypress\u0026logoColor=white\" alt=\"Иконка 'Cypress'\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Jest-C21325?style=for-the-badge\u0026logo=jest\u0026logoColor=white\" alt=\"Иконка 'Jest'\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Sass-CC6699?style=for-the-badge\u0026logo=sass\u0026logoColor=white\" alt=\"Иконка 'Sass (SCSS)'\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge\u0026logo=html5\u0026logoColor=white\" alt=\"Иконка HTML5\"\u003e\n\u003c/span\u003e\n\n\u003cdiv align=\"right\"\u003e(\u003ca href=\"#summary\"\u003eк оглавлению\u003c/a\u003e)\u003c/div\u003e\n\n\u003ca name=\"installation\"\u003e\u003ch2\u003e3. Установка и запуск приложения в локальном репозитории\u003c/h2\u003e\u003c/a\u003e\n1. `git clone https://github.com/elrouss/react-burger.git` - клонировать репозиторий (HTTPS)\n2. `npm i` - установить зависимости (предварительно проверить наличие Node.js командой `node -v`, а также - NPM командой `npm -v`; в случае необходимости скачать и установить Node.js по этой \u003ca href=\"https://nodejs.org/en/download\"\u003eссылке\u003c/a\u003e)\n3. `npm run prepare` - установить husky\n4. `npm run start` - запустить приложение\n\n\u003cdiv align=\"right\"\u003e(\u003ca href=\"#summary\"\u003eк оглавлению\u003c/a\u003e)\u003c/div\u003e\n\n\u003ca name=\"establishing\"\u003e\u003ch2\u003e4. Процесс создания\u003c/h2\u003e\u003c/a\u003e\nРабота разделена на \u003cb\u003e6 этапов\u003c/b\u003e. Выполнены следующие:\n\u003cbr\u003e\n1. Верстка на десктоп (`1920px`);\n2. Перенос проекта на Redux Toolkit и написание бизнес-логики (см. функционал)\n3. Добавление роутов\n4. Переписывание проекта на TypeScript\n5. Завершение бизнес-логики приложения: подключение ленты заказов с помощью WebSocket\n6. Покрытие проекта юнит- и e2e тестами\n\n\u003cdiv align=\"right\"\u003e(\u003ca href=\"#summary\"\u003eк оглавлению\u003c/a\u003e)\u003c/div\u003e\n\n\u003ca name=\"functionality\"\u003e\u003ch2\u003e5. Функционал\u003c/h2\u003e\u003c/a\u003e\n- Регистрация и авторизация пользователей, восстановление пароля\n- Редактирование личных данных\n- Drag and Drop (перенос ингредиентов в конструктор с возможностью внутренней сортировки и удаления ненужных)\n- Счетчики ингредиентов и цены\n- Подсветка активных табов в списке ингредиентов при скролле\n- Открытие и закрытие модальных окон по кнопке, оверлею и клавише `Escape` с сохранением открытого состояния после обновления страницы (также открытие информации об ингредиенте на отдельной странице при копировании ссылки в адресную строку новой вкладки/нового окна браузера)\n- Лента заказов, обновляющаяся в режиме реального времени\n\n\u003cdiv align=\"right\"\u003e(\u003ca href=\"#summary\"\u003eк оглавлению\u003c/a\u003e)\u003c/div\u003e\n\n\u003ca name=\"enhancement\"\u003e\u003ch2\u003e6. Статус\u003c/h2\u003e\u003c/a\u003e\nНа этапе разработки\n\nТребуется улучшить:\n- Выведение ошибок с сервера под инпутами в формах\n- Оптимизация ререндеров (на данном этапе функционал компонентов постоянно меняется, поэтому логично выполнить задачу на финальном этапе проекта)\n\n\u003cdiv align=\"right\"\u003e(\u003ca href=\"#summary\"\u003eк оглавлению\u003c/a\u003e)\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felrouss%2Freact-burger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felrouss%2Freact-burger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felrouss%2Freact-burger/lists"}