diff --git a/stage0.5 Bootcamp/tasks/js30/cross-check.json b/stage0.5 Bootcamp/tasks/js30/cross-check.json index 4d263e073..c19a8d839 100644 --- a/stage0.5 Bootcamp/tasks/js30/cross-check.json +++ b/stage0.5 Bootcamp/tasks/js30/cross-check.json @@ -67,11 +67,6 @@ "text": "Commit history does not reflect real development (single dump commit)", "max": -10 }, - { - "type": "penalty", - "text": "PR is not open against main of the shared repository with working Netlify preview links for both widgets", - "max": -10 - }, { "type": "penalty", "text": "Major bug - functionality works but breaks after some manipulations or throws console errors (per bug)", @@ -149,11 +144,6 @@ "text": "Commit history does not reflect real development (single dump commit)", "max": -10 }, - { - "type": "penalty", - "text": "PR is not open against main of the shared repository with working Netlify preview links for both widgets", - "max": -10 - }, { "type": "penalty", "text": "Major bug - functionality works but breaks after some manipulations or throws console errors (per bug)", diff --git a/stage0.5 Bootcamp/tasks/js30/js30.md b/stage0.5 Bootcamp/tasks/js30/js30.md index a4e61c306..0c8d55a6d 100644 --- a/stage0.5 Bootcamp/tasks/js30/js30.md +++ b/stage0.5 Bootcamp/tasks/js30/js30.md @@ -81,9 +81,11 @@ Before you start working, you need write access to the GitHub organization repos js30-widgets/ ├── students/ │ ├── / +│ │ ├── README.md # one final submission file for this student │ │ ├── drum-kit/ │ │ └── js-clock/ │ └── / +│ ├── README.md # one final submission file for this student │ ├── photofilter/ │ └── whack-a-mole/ └── index.html # course-wide gallery with student cards @@ -94,6 +96,7 @@ js30-widgets/ - **Fork is not used.** Work directly in the shared repository after your access is approved. - Work in one personal branch for the whole task: `-widgets`, for example `johndoe-widgets`. - Create one personal folder: `students//`. +- Create `students//README.md`. This file is your final submission page. - Put each selected widget into its own subfolder: `students///`. - Use these task slugs exactly: `drum-kit`, `js-clock`, `vertical-slider`, `custom-video-player`, `photofilter`, `whack-a-mole`. - Each widget folder must be a standalone static site with its own `index.html`. Keep all related CSS, JS, assets, and build output inside that widget folder. @@ -133,7 +136,36 @@ js30-widgets/ script.js ``` -5. Add your student card to the root `index.html` by following the existing cards. Example: +5. Create `students//README.md`. Use it as the single place where reviewers can find your final result. The README must include: + - a link to your Pull Request; + - a short final description of what you implemented; + - a checklist of completed mandatory and optional features for each widget. You may copy the checklist from your PR description and update it before submission. + + Suggested structure: + + ```md + # JS30 Widgets - @johndoe + + Pull Request: https://github.com/RSS-Js-FE-BootCamp/js30-widgets/pull/123 + Pull Request: https://github.com/RSS-Js-FE-BootCamp/js30-widgets/pull/322 + Pull Request: https://github.com/RSS-Js-FE-BootCamp/js30-widgets/pull/457 + + ## What was implemented + + ### Drum Kit + + - [x] Reproduced the original widget + - [x] Implemented the mandatory feature: ... + - [x] Optional improvement: ... + + ### JS Clock + + - [x] Reproduced the original widget + - [x] Implemented the mandatory feature: ... + - [x] Optional improvement: ... + ``` + +6. Add your student card to the root `index.html` by following the existing cards. Example: ```html
@@ -145,33 +177,33 @@ js30-widgets/
``` -6. Commit meaningful milestones following the [git commit convention](https://rs.school/docs/git-convention). Commit history should reflect the real development process, not a single final dump. -7. Push your branch: +7. Commit meaningful milestones following the [git commit convention](https://rs.school/docs/git-convention). Commit history should reflect the real development process, not a single final dump. +8. Push your branch: ```bash git push origin -widgets ``` -8. Open one Pull Request from `-widgets` into `main`. PR title and description follow the PR description schema. -9. **Netlify Preview Bot** is configured on the repository. Within a few minutes of opening or updating the PR, the bot leaves a deploy-preview URL. After the bot comment appears, add both widget links to the PR description. Your widget links will look like: - -- `https://deploy-preview---.netlify.app/students///` -- `https://deploy-preview---.netlify.app/students///` +9. Open one Pull Request from `-widgets` into `main`. PR title and description follow the PR description schema. +10. **Netlify Preview Bot** is configured on the repository. Within a few minutes of opening or updating the PR, the bot leaves a deploy-preview URL. After the bot comment appears, add both widget links to `students//README.md`. Your widget links will look like: + - `https://deploy-preview---.netlify.app/students///` + - `https://deploy-preview---.netlify.app/students///` -10. Submit the PR link in rs app -> **Cross-Check: Submit**. +11. Make sure your README is committed and pushed after the preview links are added. +12. Submit the link to `students//README.md` in rs app -> **Cross-Check: Submit**. Do not submit the Pull Request link. ### Working in the shared repository - Other students will see your branch, your PR, your code, and your preview link. That is by design - peers and reviewers learn from each other's solutions. - Browsing other people's code **after you submit** is encouraged. Browsing it **before** you submit is on your conscience; we do not police it, but you only learn by writing your own code. -- Because everyone works in one repository, keep your commits scoped. Your PR should change only `students//` and your own card in the root `index.html`. +- Because everyone works in one repository, keep your commits scoped. Your PR should change only `students//`, including your README, and your own card in the root `index.html`. - The root `index.html` may change often because every student adds a card there. Before opening or updating your PR, pull the latest `main` and resolve conflicts carefully. ## Cross-check The task is reviewed via the [cross-check process](https://rs.school/docs/cross-check-flow). -- The reviewer opens both deploy-preview widget URLs from the PR description and verifies each scoring item against the live widgets and the source in the corresponding `students///` folders of the open PR. +- The reviewer opens the submitted `students//README.md`, follows the Pull Request link from that README, then opens both deploy-preview widget and verifies each scoring item against the live widgets and the source in the corresponding `students///` folders of the open PR. - A reviewer may also browse the diff in the PR to confirm there was no obvious copy-paste from another student's branch. - If the PR changes files outside `students//` and the student's own card in the root `index.html`, reviewers should ignore those changes for scoring and may ask the author to clean up the PR. @@ -207,7 +239,6 @@ Each widget is scored independently. The per-widget breakdown below is applied * - JavaScript code is readable, not minified or obfuscated - **-10** if violated - No forbidden JS library/framework is used (jQuery, React, Vue, Angular, etc.) - **-65** (the whole widget is voided) - Commit history reflects real development (not a single dump commit) - **-10** if violated -- PR is open against `main` of the shared repository, with working Netlify preview links for both widgets - **-10** if violated; if there is no working preview for a widget, that widget cannot be scored ### Total