{"id":18605266,"url":"https://github.com/kottans/frontend-2022-homeworks","last_synced_at":"2025-06-16T11:03:05.747Z","repository":{"id":41433024,"uuid":"498053852","full_name":"kottans/frontend-2022-homeworks","owner":"kottans","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-29T22:41:56.000Z","size":161483,"stargazers_count":16,"open_issues_count":206,"forks_count":184,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-30T00:46:33.306Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","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/kottans.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["suchov"],"patreon":"kottans","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2022-05-30T18:21:39.000Z","updated_at":"2024-10-29T22:42:00.000Z","dependencies_parsed_at":"2023-02-19T12:46:09.618Z","dependency_job_id":"781b66ef-d6c0-437f-9da2-ba4532c3af31","html_url":"https://github.com/kottans/frontend-2022-homeworks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kottans%2Ffrontend-2022-homeworks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kottans%2Ffrontend-2022-homeworks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kottans%2Ffrontend-2022-homeworks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kottans%2Ffrontend-2022-homeworks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kottans","download_url":"https://codeload.github.com/kottans/frontend-2022-homeworks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239394719,"owners_count":19631121,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-07T02:20:34.713Z","updated_at":"2025-02-18T02:14:20.243Z","avatar_url":"https://github.com/kottans.png","language":"HTML","funding_links":["https://github.com/sponsors/suchov","https://patreon.com/kottans"],"categories":[],"sub_categories":[],"readme":"[![MIT Licensed][icon-mit]][license]\n[![Kottans-Frontend][icon-kottans]][kottans-frontend]\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n[![Telegram][icon-chat]][chat]\n\n# Frontend 2022 course homeworks\n\nЦей репозиторій було створено для того, щоб студенти могли надсилати свої домашні завдання для перевірки.\n\nВиконайте наведені нижче інструкції, щоб надіслати код на розгляд.\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n**Зміст**\n\n- [Огляд contribution flow](#%D0%BE%D0%B3%D0%BB%D1%8F%D0%B4-contribution-flow)\n- [Словарик](#%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D0%B8%D0%BA)\n- [Contribution stage A. Налаштування форку і локального клону](#contribution-stage-a-%D0%BD%D0%B0%D0%BB%D0%B0%D1%88%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D1%84%D0%BE%D1%80%D0%BA%D1%83-%D1%96-%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BA%D0%BB%D0%BE%D0%BD%D1%83)\n- [Contribution stage B. Додавання нового коду та оновлення submissions](#contribution-stage-b-%D0%B4%D0%BE%D0%B4%D0%B0%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D0%BA%D0%BE%D0%B4%D1%83-%D1%82%D0%B0-%D0%BE%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F-submissions)\n  - [B1. Відправка коду нового завдання (app).](#b1-%D0%B2%D1%96%D0%B4%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B0-%D0%BA%D0%BE%D0%B4%D1%83-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B0%D0%B2%D0%B4%D0%B0%D0%BD%D0%BD%D1%8F-app)\n  - [B2. Коли потрібні будь-які зміни](#b2-%D0%BA%D0%BE%D0%BB%D0%B8-%D0%BF%D0%BE%D1%82%D1%80%D1%96%D0%B1%D0%BD%D1%96-%D0%B1%D1%83%D0%B4%D1%8C-%D1%8F%D0%BA%D1%96-%D0%B7%D0%BC%D1%96%D0%BD%D0%B8)\n  - [B3. Коли всі ваші PR нарешті будуть вмержені](#b3-%D0%BA%D0%BE%D0%BB%D0%B8-%D0%B2%D1%81%D1%96-%D0%B2%D0%B0%D1%88%D1%96-pr-%D0%BD%D0%B0%D1%80%D0%B5%D1%88%D1%82%D1%96-%D0%B1%D1%83%D0%B4%D1%83%D1%82%D1%8C-%D0%B2%D0%BC%D0%B5%D1%80%D0%B6%D0%B5%D0%BD%D1%96)\n- [FAQ](#faq)\n- [Довідкові матеріали та усунення проблем](#%D0%B4%D0%BE%D0%B2%D1%96%D0%B4%D0%BA%D0%BE%D0%B2%D1%96-%D0%BC%D0%B0%D1%82%D0%B5%D1%80%D1%96%D0%B0%D0%BB%D0%B8-%D1%82%D0%B0-%D1%83%D1%81%D1%83%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- *generated with [DocToc](https://github.com/thlorenz/doctoc)* --\u003e\n\n## Огляд contribution flow\n\nТепер ви є учасником освітнього проекту з відкритим кодом.\n\n[Ці слайди](https://docs.google.com/presentation/d/13dati5gvA5f_hQFgxJPhPicjF5CRKu1e75RSsahmEaU/edit#slide=id.g58afea5148_0_0)\nвізуалізують contribution workflow.\n\nНаведені нижче інструкції проведуть вас через contribution workflow - \nтак ви будете публікувати код своїх завдань.\n\n## Словарик\n\n| Термін                 | Визначення                                                                                        |\n|------------------------|---------------------------------------------------------------------------------------------------|\n| repo                   | скорочення від \"репозиторій\"                                                                      |\n| _homeworks main repo_  | Kottans FE репозиторій домашніх завдань курсу: https://github.com/kottans/frontend-2022-homeworks | \n| _homeworks fork_       | ваш власний форк головної репи домашніх завдань                                                   |\n| _homeworks local repo_ | ваш локальний клон форку домашнього завдання                                                      |\n| _app_                  | програма (або веб-сторінка), яку ви розробляєте для виконання конкретного завдання в курсі        |\n| _app repo_             | репозиторій, який містить код вашої програми                                                      |\n\n## Contribution stage A. Налаштування форку і локального клону\n\nЗробити це потрібно лише один раз.\n\nA1. Форкніть основне репо _homeworks_ через веб-інтерфейс GitHub\n\nA2. Клонуйте _homeworks fork_ на вашій локальній машині:\n   - `git clone https://github.com/\u003cyour-username\u003e/frontend-2022-homeworks.git`\n\n\u003e Перед будь-якими подальшими операціями переконайтеся, що ви перебуваєте в каталозі локального repo homeworks\n\nA3. Додайте _homeworks main repo_ як upstream:\n   - `git remote add upstream https://github.com/kottans/frontend-2022-homeworks.git`\n\nA4. У _homeworks local repo_ додайте папку зі своїм іменем користувача github до каталогу `submissions`\n\nВи додаватимете код із кожного завдання (app) в його окремий каталог під\nваш іменований каталог. Отже, структура файлу буде схожа на наступну\n(у цьому прикладі `amashoshyna` - це ім'я користувача, а `js-dom` - назва завдання)\n\n![File structure example](img/file-structure.png)\n\n## Contribution stage B. Додавання нового коду та оновлення submissions\n\n### B1. Відправка коду нового завдання (app).\n\n\u003e ВАЖЛИВІ речі, про які слід завжди пам’ятати.\n\u003e\n\u003e 1. Не робіть коміти у `main`.\n\u003e\n\u003e 2. `checkout main` перед створенням нової гілки, тобто не створюйте нову гілку, поки ви\n\u003e на будь-якій гілці яка не `main`.\n\u003e\n\u003e 3. Не мержіть свої гілки в `main`. Ви можете змержити `main` у свою гілку, якщо ви\n\u003e усвідомте, навіщо вам це потрібно. У поточному робочому процесі вам зазвичай це не потрібно.\n\u003e\n\u003e І не панікуйте, якщо під час переходу між гілками якийсь код зник.\n\u003e Він стане доступним для вас, коли ви повернетеся до певної гілки.\n\u003e Суть полягає в тому, щоб подавати завдання ізольовано одне від одного.\n\nB11. Переконайтеся, що app, який ви розробляєте для виконання завдання:\n\n(a) має власний спеціальний проект/репозиторій на GitHub (_app repo_)\n\n(b) [опубліковано на GitHub pages](./publish-your-app.md)\n\nB12. In your _homeworks local repo_ do the following:\n\nB121. Синхронізуйте `main` гілку вашого _homeworks local repo_ та _homeworks fork_ (`origin`)\nз гілкою `main` _homeworks main repo_ (`upstream`):\n - `git checkout main`\n - `git pull upstream main`\n - `git push origin main`\n  \n\u003e На той момент у вас вже може бути код у іншій гілці завдань\n\u003e і може здатися, що його вже немає. Не хвилюйтеся, він все ще доступний на\n\u003e власній гілкці завдань. Немає необхідності об’єднувати цю гілку в `main`,\n\u003e і не мержіть його в `main`, оскільки це, швидше за все, призведе до конфліктів коду.\n\nB122. Створіть спеціальну гілку для вашої нової кодової бази завдань (app), перебуваючи на `main`:\n  - `git checkout main`\n  - `git branch \u003ctask-branch-name\u003e` (`\u003ctask-branch-name\u003e` can be e.g. `dom-api-task`)\n   \nB123. Додайте необхідні файли:\n - `git checkout \u003ctask-branch-name\u003e`\n - створіть каталог для бази коду вашого завдання (app) у розділі `./submissions/YOUR_USERNAME`, щоб\n    шлях до вашого завдання був – `./submissions/YOUR_USERNAME/TASK_NAME`\n   (перегляньте знімок екрана вище для прикладу структури, яку ви очікуєте)\n - копіювати файли з вашого _app repo_, ті і тільки ті, які потрібні для перевірки\n\n\u003e **ВАЖЛИВО!** Додайте лише файли/код, необхідні для перевірки і **написані вами**, наприклад файли `html`, `css`, `scss`, `js` тощо.\n\u003e Зображення, значки, каталоги IDE, такі як `.idea`, `.vscode` тощо - **не потрібні** для перевірки коду.\n\u003e `css`-файли, які є результатом компіляції вашого `scss`, теж немає сенсу перевіряти, а отже і подавати на перевірку.\n\u003e **Ніколи** не використовуйте `.git` у своїх завданнях які надсилаєте.\n\u003e Скопіюйте потрібні файли **по одному**. **Ніколи не копіюйте папки** масово, оскільки це може спричинити за собою\n\u003e копіювання небажаних файлів і **прихованих папок**.\n\n - помістіть на стейдж файли за допомогою команди `git add` і закомітьте зміни\n\nB124. Відкрийте Pull Request (PR):\n - запуште до _homeworks fork_: `git push --set-upstream origin \u003ctask-branch-name\u003e`\n - зачекайте, доки операція push завершиться успішно\n - перейдіть до вашого _homeworks fork_ на GitHub\n - GitHub запропонує відкрити Pull Request із вашої нової гілки, просто зробіть це\n\n![github-pr-opening](./img/github-pr-opening.png)\n \n - вам буде запропоновано PR шаблон повідомлення з інструкцією; прочитайте їх і заповніть, як це передбачено\n - коли PR відкрито, перевірте **Файли змінено**, щоб побачити, що надсилається\n\u003e Переконайтеся, що ваш PR **не містить жодних непов’язаних файлів або комітів** від будь-яких інших завдань,\n\u003e і жодні файли з інших ваших завдань або від інших авторів не видаляються\n\nB125. Попросити рев'ю:\n - опублікуйте посилання на свій PR у\n   [FE Questionarium chat](https://t.me/joinchat/DmX0JAl-mh5W0jrWli8Ycw)\n   і попросіть наставників і колег про перевірку коду\n - відслідковувати запити на можливі зміни\n\n### B2. Коли потрібні будь-які зміни\n\nЩоразу, коли ви хочете або вам буде запропоновано внести будь-які зміни, виконайте такі дії:\n\nB21. Оновіть свою програму (у відповідному _app repo_):\n - впровадити зміни\n - переконайтеся, що публікація вашої програми оновлена\n \nB22. Оновіть свій PR - у вашому _homeworks local repo_:\n - `git checkout \u003ctask-branch-name\u003e`\n - скопіюйте змінені файли (один за одним) у ваш каталог завдань із _app repo_\n - stage, commit і push\n\nВаш PR буде оновлено автоматично.\n\nB23. Перевірте свій PR і повідомте ментора:\n - перейдіть до свого PR у _homeworks main repo_\n - перевірте надіслані файли в розділі **Файли змінено**;\n   ви повинні побачити свої останні зміни у файлах\n - клацніть **Re-request review** у списку ваших PR-рев'юерів щоб\n   привернути увагу наставників, щоб вони знали, що є нові зміни для перегляду\n\n\u003e Коли ваш PR буде нарешті змержено, напишіть міркування про завдання\n\u003e і досвід код рев'ю до вашого щоденника студента (ваш repo `kottans-frontend`):\n\u003e - _що для вас було нового_\n\u003e - _що вас здивувало_\n\u003e - _що ви збираєтеся використовувати в майбутньому_\n\n### B3. Коли всі ваші PR нарешті будуть вмержені\n\nОновіть _homeworks local clone_ та _homeworks fork_, щоб мати весь свій код\nу `main`:\n - `git checkout main`\n - `git pull upstream main`\n - `git push origin main` \n\n## FAQ\n\n**Q1: Я зробив(ла) частину домашок в рамках попереднього курсу або р2р.\nМені їх зарахують?**\n\nA1: Щоб це сталося, треба зробити наступне:\n\nДля всіх PR, які не вмерджено - подай код на рев'ю, як описано\nв цьому документі.\n\nДля PR, які було вмерджено в інших репо:\n\n1. Знайди всі вмерджені PR в інших репо, які треба зарахувати, і май лінки на них під рукою.\n1. Відкрий issue в цьому репо скориставшись\n   [шаблоном](https://github.com/kottans/frontend-2022-homeworks/issues/new?template=import-tasks-from-another-repo.md\u0026title=your-github-username:%20Import%20tasks%20from%20another%20homeworks%20repo)\n1. В студентському чаті закинь лінк на issue і попроси менторів врахувати вже раніше прийняті задачі.\n1. Ментори перевірять статус залінкованих PR і навісять відповідні лейбли.\n1. Через деякий час в [статі цього репо](./stats/pr-stats.md) з'являться відповідні записи.\n\n\n## Довідкові матеріали та усунення проблем\n\n1. [Contribution guide for beginners](https://gist.github.com/OleksiyRudenko/236c3046fbba028e0555fa847dae7001).\n1. Зверніться до [цього посібнику з усунення проблем](https://gist.github.com/OleksiyRudenko/8b3ddb664308de0634b53c525e551d8b)\n   щоразу, коли ви стикаєтеся з будь-якими конфліктами під час оновлення `main` з upstream (оригінальне репо)\n   або маєте непов’язані файли чи коміти у своїх pull requests\n1. Є проблеми? Запитайте у спільноти. У багатьох інших були подібні проблеми, спільнота допоможе вам\n\n[icon-mit]: https://img.shields.io/badge/license-MIT-blue.svg\n[license]: https://github.com/OleksiyRudenko/a-tiny-JS-world/blob/master/LICENSE.md\n[icon-chat]: https://img.shields.io/badge/chat-on%20telegram-blue.svg\n[icon-kottans]: https://img.shields.io/badge/%3D(%5E.%5E)%3D-frontend-yellow.svg\n[kottans-frontend]: https://github.com/kottans/frontend\n[chat]: https://t.me/joinchat/DmX0JAl-mh5W0jrWli8Ycw\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkottans%2Ffrontend-2022-homeworks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkottans%2Ffrontend-2022-homeworks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkottans%2Ffrontend-2022-homeworks/lists"}