From 16d639067fb176fc610aa41281f9c39b9b5ce2da Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall Date: Mon, 14 Jul 2025 16:26:46 +0100 Subject: [PATCH 01/21] Update repo metadata --- .github/FUNDING.yml | 11 ---- .github/ISSUE_TEMPLATE/config.yml | 4 +- .github/ISSUE_TEMPLATE/pd-assignment.yml | 2 +- .github/ISSUE_TEMPLATE/tech-ed-assignment.yml | 14 ++-- .github/pull_request_template.md | 6 +- HOW_TO_REVIEW.md | 66 ------------------- 6 files changed, 13 insertions(+), 90 deletions(-) delete mode 100644 HOW_TO_REVIEW.md diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index b34cfcfc3..ea03447fe 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,13 +1,2 @@ -# These are supported funding model platforms - github: CodeYourFuture -patreon: # Replace with a single Patreon username -open_collective: # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username -tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: # Replace with a single Liberapay username -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username -lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry custom: https://codeyourfuture.io/donate diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 5fe8ffd09..db0e6f432 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,4 +1,4 @@ -blank_issues_enabled: false +blank_issues_enabled: true contact_links: - name: CYF url: contact@codeyourfuture.io @@ -8,7 +8,7 @@ contact_links: about: Join CYF here - name: CYF Slack url: codeyourfuture.slack.com - about: Come to #cyf-syllabus-tech and chat + about: Come to #cyf-curriculum and chat - name: CYF Tech Ed url: https://github.com/orgs/CodeYourFuture/teams/mentors about: CYF mentors on Github diff --git a/.github/ISSUE_TEMPLATE/pd-assignment.yml b/.github/ISSUE_TEMPLATE/pd-assignment.yml index c8bd22980..19f15fa3a 100644 --- a/.github/ISSUE_TEMPLATE/pd-assignment.yml +++ b/.github/ISSUE_TEMPLATE/pd-assignment.yml @@ -1,7 +1,7 @@ name: PD Coursework description: Assign a piece of PD coursework title: "[PD] " -labels: [PD, 🏝 Priority Stretch, πŸ‡ Size Small] +labels: [PD, 🏝 Priority Stretch, πŸ‡ Size Small, πŸ“… Sprint 1] body: - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml b/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml index ac9da906a..343b4d677 100644 --- a/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml +++ b/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml @@ -1,20 +1,20 @@ name: Tech Ed Coursework description: Assign a piece of technical coursework title: "<title>" -labels: [Tech Ed, πŸ• Priority Mandatory, πŸ‚ Size Medium, πŸ“… Module 1] +labels: [Tech Ed, πŸ• Priority Mandatory, πŸ‚ Size Medium, πŸ“… Sprint 1] body: - type: markdown attributes: value: | - Thanks for taking the time to assign this coursework! + Thanks for taking the time to assign this coursework! - To support our trainees with planning and prioritising their own learning journey, we want our coursework assignments to be more informative. + To support our trainees with planning and prioritising their own learning journey, we want our coursework assignments to be more informative. We don't just want to tell them what to do, we want to tell them stuff like: - why we are doing it - what it's "for" (problem-solving, debugging, etc) - how long they should spend on it, maximum - - how to get help - - how to review it with answers + - how to get help + - how to review it with answers - how to get it reviewed from mentors and peers - type: input attributes: @@ -26,7 +26,7 @@ body: label: Learning Objectives description: https://common.codeyourfuture.io/common-theme/shortcodes/objectives/ placeholder: | - <!--{{<objectives}}--> + <!--{{<objectives}}--> - [ ] CYF format, task list formatting <!--{{</objectives}}--> - type: textarea @@ -80,7 +80,7 @@ body: 1. Update labels - priority -- is this coursework key, mandatory, or stretch? Pick one. - size -- help trainees plan their time with rough estimation. Pick one - - topics -- add all that seem relevant to you. + - topics -- add all that seem relevant to you. 2. Add a Sprint label to add to the backlog view - sprint 1,2,3,4 diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 3f0e90653..86544e40d 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,11 +2,11 @@ You must title your PR like this: -REGION | COHORT_NAME | FIRST_NAME LAST_NAME | PROJ_NAME +Region | Cohort | FirstName LastName | Sprint | Assignment Title For example, -London | May-2025 | Carol Owen | Wireframe +London | 25-ITP-May | Carol Owen | Sprint 1 | Alarm Clock Complete the task list below this message. If your PR is rejected, check the task list. @@ -18,7 +18,7 @@ If your PR is rejected, check the task list. Self checklist - [ ] I have committed my files one by one, on purpose, and for a reason -- [ ] I have titled my PR with REGION | COHORT_NAME | FIRST_NAME LAST_NAME | PROJ_NAME +- [ ] I have titled my PR with Region | Cohort | FirstName LastName | Sprint | Assignment Title - [ ] I have tested my changes - [ ] My changes follow the [style guide](https://curriculum.codeyourfuture.io/guides/reviewing/style-guide/) - [ ] My changes meet the [requirements](./README.md) of this task diff --git a/HOW_TO_REVIEW.md b/HOW_TO_REVIEW.md deleted file mode 100644 index 39222358f..000000000 --- a/HOW_TO_REVIEW.md +++ /dev/null @@ -1,66 +0,0 @@ -# Everyone reviews code at CYF - -[![Code Review Flow](code-review-flow.png)](https://curriculum.codeyourfuture.io/guides/reviewing/) - -https://curriculum.codeyourfuture.io/guides/reviewing/ - -Mentors and participants all review code, and collaborate on improving code quality. We are all helping each other to talk, write, and think about code more clearly. - -We are not reviewing code as if we were to merge this PR into production; we are opening a technical conversation for the purpose of insight and development. - -## Key points: - -1. Ask questions instead of making statements: - - **YES:** "Is there another element you could use to group a set of fields in a form? Why might someone use a different element in a form?" - **NO:** "Use fieldset not divs" - -2. Encourage simplicity, clarity, and precision: - - **YES** "There are 15,0000 files in this changelist. Which files should be reviewed?" - **NO** "It doesn't matter; I can try to figure out what you meant." - -3. Respect everyone's work and time: - - **YES** "I think there's some more to do here. Thanks for sharing where you're up to. Can I help you complete this?" - **NO** "This is rubbish. Try harder." - -## Getting your pull request reviewed - -We're using GitHub Labels in our Code Review process. In order for a volunteer to review a pull request, a participant will need to add a "Needs Review" label to it. - -To add a label to a pull request: - -- Open the pull request -- In the right sidebar, click Labels, then select the label you'd like to add - for example: "Needs Review" - -Take a look at our code review process from beginning to end. Let us know if you have any questions or need help! -![Code Review Flow](code-review-flow.png) - -## Labels for feedback - -Reviewers, please add labels (provided) to the PR once you've reviewed. This helps to focus the participant on the areas they should work on, and gives an overview for mentors on what the whole cohort needs to work on. - -## Solutions - -### Where to find solutions? - -You can find the solutions for the module on the `solutions` branch. - -### Solutions branch - -The solutions branch typically contains: - -#### Sample solutions - -Solutions are example answers not the only correct answers. - -#### Common responses guides. - -Everyone is invited to contribute commonly encountered problems, mistakes, misunderstandings, and mental-model errors to our common responses documents. - -Use these resources to inform your code review, get unstuck, and improve your understanding. - -## Guides - -https://curriculum.codeyourfuture.io/guides/reviewing/ From 7b96b80a687352cd6b87efa19a8e8dd2d59a9580 Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall <dawagner@gmail.com> Date: Wed, 13 Aug 2025 20:22:01 +0100 Subject: [PATCH 02/21] Set up Validate PR Metadata action --- .github/workflows/validate-pr-metadata.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/validate-pr-metadata.yml diff --git a/.github/workflows/validate-pr-metadata.yml b/.github/workflows/validate-pr-metadata.yml new file mode 100644 index 000000000..5c06d7083 --- /dev/null +++ b/.github/workflows/validate-pr-metadata.yml @@ -0,0 +1,18 @@ +name: Validate PR Metadata +on: + pull_request: + types: + - labeled + - unlabeled + - opened + - edited + - reopened + +jobs: + validate_pr_metadata: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: CodeYourFuture/actions/validate-pr-metadata@main + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 0b12de6425597ddf5cb1f7d49799f2e08bcd1930 Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall <dawagner@gmail.com> Date: Wed, 13 Aug 2025 20:27:15 +0100 Subject: [PATCH 03/21] Allow secrets on action --- .github/workflows/validate-pr-metadata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/validate-pr-metadata.yml b/.github/workflows/validate-pr-metadata.yml index 5c06d7083..10ef3c74a 100644 --- a/.github/workflows/validate-pr-metadata.yml +++ b/.github/workflows/validate-pr-metadata.yml @@ -1,6 +1,6 @@ name: Validate PR Metadata on: - pull_request: + pull_request_target: types: - labeled - unlabeled From 72fe02ba5885d4f58923a041e9a4f6ffca1b99e5 Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall <dawagner@gmail.com> Date: Tue, 26 Aug 2025 17:44:30 +0100 Subject: [PATCH 04/21] Update PR template --- .github/pull_request_template.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 86544e40d..0d8ee1dfd 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -8,8 +8,13 @@ For example, London | 25-ITP-May | Carol Owen | Sprint 1 | Alarm Clock -Complete the task list below this message. -If your PR is rejected, check the task list. +Fill in the template below - remove any sections that don't apply. + +Complete the self checklist - replace each empty box in the checklist [ ] with a [x]. + +Add the label "Needs Review" and you will get review. + +Respond to volunteer reviews until the volunteer marks it as "Complete". --> @@ -17,11 +22,10 @@ If your PR is rejected, check the task list. Self checklist -- [ ] I have committed my files one by one, on purpose, and for a reason - [ ] I have titled my PR with Region | Cohort | FirstName LastName | Sprint | Assignment Title +- [ ] My changes meet the requirements of the task - [ ] I have tested my changes - [ ] My changes follow the [style guide](https://curriculum.codeyourfuture.io/guides/reviewing/style-guide/) -- [ ] My changes meet the [requirements](./README.md) of this task ## Changelist From 3b1f39507172b13da87aea1b4566a77620cca281 Mon Sep 17 00:00:00 2001 From: Colin Farquhar <cifarquhar@gmail.com> Date: Thu, 22 Jan 2026 16:01:14 +0000 Subject: [PATCH 05/21] Remove old issue templates (#1012) --- .github/ISSUE_TEMPLATE/config.yml | 14 --- .github/ISSUE_TEMPLATE/pd-assignment.yml | 59 ------------- .github/ISSUE_TEMPLATE/tech-ed-assignment.yml | 88 ------------------- 3 files changed, 161 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/pd-assignment.yml delete mode 100644 .github/ISSUE_TEMPLATE/tech-ed-assignment.yml diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index db0e6f432..000000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,14 +0,0 @@ -blank_issues_enabled: true -contact_links: - - name: CYF - url: contact@codeyourfuture.io - about: Please report serious issues here. - - name: Join CYF - url: https://codeyourfuture.io/volunteers/ - about: Join CYF here - - name: CYF Slack - url: codeyourfuture.slack.com - about: Come to #cyf-curriculum and chat - - name: CYF Tech Ed - url: https://github.com/orgs/CodeYourFuture/teams/mentors - about: CYF mentors on Github diff --git a/.github/ISSUE_TEMPLATE/pd-assignment.yml b/.github/ISSUE_TEMPLATE/pd-assignment.yml deleted file mode 100644 index 19f15fa3a..000000000 --- a/.github/ISSUE_TEMPLATE/pd-assignment.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: PD Coursework -description: Assign a piece of PD coursework -title: "[PD] <title>" -labels: [PD, 🏝 Priority Stretch, πŸ‡ Size Small, πŸ“… Sprint 1] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to assign this coursework! - - type: input - attributes: - label: Coursework content - validations: - required: true - - type: input - attributes: - label: Estimated time in hours - description: (PD has max 4 per week total) - validations: - required: true - - type: textarea - attributes: - label: What is the purpose of this assignment? - description: Clearly explain the purpose of this assignment and how trainees can evaluate this. - validations: - required: true - - type: textarea - attributes: - label: How to submit - description: State in clear steps how a trainee can submit this assignment. - placeholder: | - Copy the Google doc to your own Google Drive - Complete the work assigned - When you are ready, move your document to your class Drive - validations: - required: true - - type: textarea - attributes: - label: Anything else? - description: | - Links? References? Anything that will give more context - - Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. - - type: markdown - attributes: - value: | - **Thank you so much.** - - Please now complete this ticket by filling in the options on the sidebar. - - 1. Update labels - - priority -- is this coursework key, mandatory, or stretch? - - size -- help trainees plan their time with rough estimation - 2. Add to project backlog - - add to the project named the same as this repo - - fill in custom fields -- priority, size, hours, week -- to match this issue - - Once your ticket is complete, you may like to check it out on the example project board attached to this repo. - This is so you understand how trainees will use your work. diff --git a/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml b/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml deleted file mode 100644 index 343b4d677..000000000 --- a/.github/ISSUE_TEMPLATE/tech-ed-assignment.yml +++ /dev/null @@ -1,88 +0,0 @@ -name: Tech Ed Coursework -description: Assign a piece of technical coursework -title: "<title>" -labels: [Tech Ed, πŸ• Priority Mandatory, πŸ‚ Size Medium, πŸ“… Sprint 1] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to assign this coursework! - - To support our trainees with planning and prioritising their own learning journey, we want our coursework assignments to be more informative. - We don't just want to tell them what to do, we want to tell them stuff like: - - why we are doing it - - what it's "for" (problem-solving, debugging, etc) - - how long they should spend on it, maximum - - how to get help - - how to review it with answers - - how to get it reviewed from mentors and peers - - type: input - attributes: - label: Link to the coursework - validations: - required: true - - type : textarea - attributes: - label: Learning Objectives - description: https://common.codeyourfuture.io/common-theme/shortcodes/objectives/ - placeholder: | - <!--{{<objectives}}--> - - [ ] CYF format, task list formatting - <!--{{</objectives}}--> - - type: textarea - attributes: - label: Why are we doing this? - description: Clearly explain the purpose of this assignment - validations: - required: true - - type: input - attributes: - label: Maximum time in hours - description: (Tech has max 16 per week total) - validations: - required: true - - type: textarea - attributes: - label: How to get help - description: State simply how trainees can get help with this assignment - value: | - Share your blockers in your class channel - https://curriculum.codeyourfuture.io/guides/getting-help/asking-questions/ - - type: textarea - attributes: - label: How to submit - description: State in clear steps how a trainee can submit this assignment. - value: | - Fork the repo to your own GitHub account - Make regular small commits with clear messages - When you are ready, open a Pull Request to the CYF repo - Make sure you fill in the PR template provided - validations: - required: true - - type: textarea - attributes: - label: How to review - description: How to get code review and how to self-review - - type: textarea - attributes: - label: Anything else? - description: | - Links? References? Anything that will give more context - - Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. - - type: markdown - attributes: - value: | - **Thank you so much.** - - Please now complete this ticket by filling in the options on the sidebar. - - 1. Update labels - - priority -- is this coursework key, mandatory, or stretch? Pick one. - - size -- help trainees plan their time with rough estimation. Pick one - - topics -- add all that seem relevant to you. - 2. Add a Sprint label to add to the backlog view - - sprint 1,2,3,4 - - Once your ticket is complete, you may like to add it to the example project board attached to this repo. - This is so you understand how trainees will use your work. Nobody has built a board copier yet, so trainees will be doing this step themselves. From 762d3ae2dfd0b4e5cd9af3cd72e080f48d722fe7 Mon Sep 17 00:00:00 2001 From: Jennifer Alexander <jenny_alexander@icloud.com> Date: Mon, 26 Jan 2026 09:18:15 -0600 Subject: [PATCH 06/21] Update readme to include article image in acceptance criteria. (#1074) --- Wireframe/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Wireframe/README.md b/Wireframe/README.md index 0ae0216d1..f7b59df8c 100644 --- a/Wireframe/README.md +++ b/Wireframe/README.md @@ -15,7 +15,7 @@ There are some provided HTML and CSS files you can use to get started. You can u <!--{{<objectives>}}>--> - [ ] Use semantic HTML tags to structure the webpage -- [ ] Create three articles, each including a title, summary, and a link +- [ ] Create three articles, each including an image, title, summary, and a link - [ ] Check a webpage against a wireframe layout - [ ] Test web code using [Lighthouse](https://programming.codeyourfuture.io/guides/testing/lighthouse) - [ ] Use version control by committing often and pushing regularly to GitHub @@ -26,7 +26,7 @@ There are some provided HTML and CSS files you can use to get started. You can u - [ ] Semantic HTML tags are used to structure the webpage. - [ ] The page scores 100 for Accessibility in the Lighthouse audit. - [ ] The page header includes a title and description. -- [ ] The articles section has three unique articles, each including a title, summary, and a link. +- [ ] The articles section has three unique articles, each including an image, title, summary, and a link. - [ ] The page footer is fixed to the bottom of the viewport. - [ ] The webpage is styled using a linked .css file. - [ ] The webpage is properly committed and pushed to a branch on GitHub. From e3593e282b4a34c9f2f1fa05af5751b0af4525ba Mon Sep 17 00:00:00 2001 From: Poonam <61753159+Poonam-raj@users.noreply.github.com> Date: Wed, 4 Feb 2026 19:05:35 +0000 Subject: [PATCH 07/21] Makes the Questions section and GitHub bot a bit clearer (#1131) --- .github/pull_request_template.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 0d8ee1dfd..7c6879088 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -16,6 +16,8 @@ Add the label "Needs Review" and you will get review. Respond to volunteer reviews until the volunteer marks it as "Complete". +Please note: if the PR template is not filled as described above, an automatic GitHub bot will give feedback in the "Conversation" tab of the pull request and not allow the "Needs Review" label to be added until it's fixed. + --> ## Learners, PR Template @@ -33,4 +35,4 @@ Briefly explain your PR. ## Questions -Ask any questions you have for your reviewer. +Ask any questions you have for your reviewer. You must remove this section if you have no questions. From 2460dbd13570e73c15e4793cd63482bf50c547ef Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall <dawagner@gmail.com> Date: Wed, 4 Feb 2026 19:09:27 +0000 Subject: [PATCH 08/21] Remove PR template We inherit these from the org now --- .github/pull_request_template.md | 38 -------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 7c6879088..000000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,38 +0,0 @@ -<!-- - -You must title your PR like this: - -Region | Cohort | FirstName LastName | Sprint | Assignment Title - -For example, - -London | 25-ITP-May | Carol Owen | Sprint 1 | Alarm Clock - -Fill in the template below - remove any sections that don't apply. - -Complete the self checklist - replace each empty box in the checklist [ ] with a [x]. - -Add the label "Needs Review" and you will get review. - -Respond to volunteer reviews until the volunteer marks it as "Complete". - -Please note: if the PR template is not filled as described above, an automatic GitHub bot will give feedback in the "Conversation" tab of the pull request and not allow the "Needs Review" label to be added until it's fixed. - ---> - -## Learners, PR Template - -Self checklist - -- [ ] I have titled my PR with Region | Cohort | FirstName LastName | Sprint | Assignment Title -- [ ] My changes meet the requirements of the task -- [ ] I have tested my changes -- [ ] My changes follow the [style guide](https://curriculum.codeyourfuture.io/guides/reviewing/style-guide/) - -## Changelist - -Briefly explain your PR. - -## Questions - -Ask any questions you have for your reviewer. You must remove this section if you have no questions. From e2a10ab0a69e09e2beac07a4d0834409ecaba09f Mon Sep 17 00:00:00 2001 From: Jennifer Alexander <jenny_alexander@icloud.com> Date: Fri, 6 Feb 2026 04:09:32 -0600 Subject: [PATCH 09/21] Replace <h2> with <p> in footer since no major section in footer (#1147) --- Form-Controls/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Form-Controls/index.html b/Form-Controls/index.html index 65a866cdb..74b591ffc 100644 --- a/Form-Controls/index.html +++ b/Form-Controls/index.html @@ -21,7 +21,7 @@ <h1>Product Pick</h1> </main> <footer> <!-- change to your name--> - <h2>By HOMEWORK SOLUTION</h2> + <p>By HOMEWORK SOLUTION</p> </footer> </body> </html> From 3725052ddb973123837397737779dbd5c8838526 Mon Sep 17 00:00:00 2001 From: Jennifer Alexander <jenny_alexander@icloud.com> Date: Wed, 11 Feb 2026 08:09:47 -0600 Subject: [PATCH 10/21] Remove restriction on using CSS from forms readme. (#1169) --- Form-Controls/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Form-Controls/README.md b/Form-Controls/README.md index bfcdf6c0b..f21386f42 100644 --- a/Form-Controls/README.md +++ b/Form-Controls/README.md @@ -30,8 +30,8 @@ Do not write a form action for this project. Let's write out our testable criteria. Check each one off as you complete it. -- [ ] I have used HTML only. -- [x] I have not used any CSS or JavaScript. +- [ ] I have only used HTML and CSS. +- [ ] I have not used any JavaScript. ### HTML From 329eea0ba19f96b865ffd337a2ce7ca9b7990ff5 Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall <dawagner@gmail.com> Date: Wed, 11 Mar 2026 16:41:57 +0000 Subject: [PATCH 11/21] Give more specific comments for earlier learners (#1206) --- .github/workflows/validate-pr-metadata.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/validate-pr-metadata.yml b/.github/workflows/validate-pr-metadata.yml index 10ef3c74a..65df06116 100644 --- a/.github/workflows/validate-pr-metadata.yml +++ b/.github/workflows/validate-pr-metadata.yml @@ -15,4 +15,5 @@ jobs: - uses: actions/checkout@v4 - uses: CodeYourFuture/actions/validate-pr-metadata@main with: + give_more_specific_comment_for_earlier_learners: true GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From a7b8a25ca13d611bde6a06a39b9e23165bcb07ff Mon Sep 17 00:00:00 2001 From: CJ Yuan <cjyuan00@gmail.com> Date: Mon, 4 May 2026 18:09:28 +0100 Subject: [PATCH 12/21] Update Wireframe and Form-Control README.md (#1212) ## Changelist - Addressed issue https://github.com/CodeYourFuture/Module-Onboarding/issues/1209 - Clarify a few requirements - Added a practical guide about formatting code and making small commits --- Form-Controls/README.md | 34 +++++++++++++++++------- Wireframe/README.md | 43 +++++++++++++++++++++--------- practical_guide.md | 58 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 113 insertions(+), 22 deletions(-) create mode 100644 practical_guide.md diff --git a/Form-Controls/README.md b/Form-Controls/README.md index f21386f42..844572470 100644 --- a/Form-Controls/README.md +++ b/Form-Controls/README.md @@ -8,25 +8,29 @@ - [ ] Write a valid form - [ ] Test with Devtools - [ ] Refactor using Devtools +- [ ] Use version control by committing often and pushing regularly to GitHub +- [ ] Develop the habit of writing clean, well-structured, and error-free code <!--{{<objectives>}}>--> ## Task -We are selling t-shirts. Write a form to collect the following data: +We are selling T-shirts. Write a form to collect the following data: Our customers already have accounts, so we know their addresses and charging details already. We don't need to collect that data. We want to confirm they are the right person, then get them to choose a colour and size. Writing that out as a series of questions to ask yourself: -1. What is the customer's name? I must collect this data, and validate it. But what is a valid name? I must decide something. -2. What is the customer's email? I must make sure the email is valid. Email addresses have a consistent pattern. -3. What colour should this t-shirt be? I must give 3 options. How will I make sure they don't pick other colours? -4. What size does the customer want? I must give the following 6 options: XS, S, M, L, XL, XXL +1. What is the customer's name? I must collect this data and ensure it contains at least two non-space characters. +2. What is the customer's email? I must make sure the email is valid. Email addresses follow a consistent pattern. +3. What colour should this T-shirt be? I must provide 3 options. How will I ensure they do not choose other colours? +4. What size does the customer want? I must provide the following 6 options: XS, S, M, L, XL, XXL All fields are required. Do not write a form action for this project. -## Developers must test their work. +## Acceptnce Criteria + +### Developers must test their work. Let's write out our testable criteria. Check each one off as you complete it. @@ -35,17 +39,29 @@ Let's write out our testable criteria. Check each one off as you complete it. ### HTML -- [ ] My form is semantic html. +- [ ] My form is semantic HTML. - [ ] All inputs have associated labels. - [ ] My Lighthouse Accessibility score is 100. -- [ ] I require a valid name. I have defined a valid name as a text string of two characters or more. +- [ ] I require a valid name. - [ ] I require a valid email. - [ ] I require one colour from a defined set of 3 colours. - [ ] I require one size from a defined set of 6 sizes. -## Resources +### Developers must adhere to professional standards. + +> Before you say you're done: Is your code readable? Does it run correctly? Does it look professional? +These practices reflect the level of quality expected in professional work. +They ensure your code is reliable, maintainable, and presents a polished, credible experience to users. + +- [ ] My HTML code has no errors or warnings when validated using https://validator.w3.org/ +- [ ] My code is consistently formatted +- [ ] My page content is free of typos and grammatical mistakes +- [ ] I commit often and push regularly to GitHub + +## Resources - [MDN: Form controls](https://developer.mozilla.org/en-US/docs/Learn/Forms) - [MDN: Form validation](https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation) - [Lighthouse](https://developers.google.com/web/tools/lighthouse) - [Lighthouse Guide](https://programming.codeyourfuture.io/guides/testing/lighthouse) +- [Format Code and Make Logical Commits in VS Code](../practical_guide.md) diff --git a/Wireframe/README.md b/Wireframe/README.md index f7b59df8c..aa85ec80b 100644 --- a/Wireframe/README.md +++ b/Wireframe/README.md @@ -1,15 +1,5 @@ # Wireframe -![Wireframe](./wireframe.png) - -Using the provided wireframe and resources, write a new webpage explaining: - -1. What is the purpose of a README file? -1. What is the purpose of a wireframe? -1. What is a branch in Git? - -There are some provided HTML and CSS files you can use to get started. You can use these files as a starting point or create your own files from scratch. You _must_ modify the HTML and CSS files to meet the acceptance criteria and you must check this criteria yourself before you submit your work. - ## Learning Objectives <!--{{<objectives>}}>--> @@ -19,20 +9,47 @@ There are some provided HTML and CSS files you can use to get started. You can u - [ ] Check a webpage against a wireframe layout - [ ] Test web code using [Lighthouse](https://programming.codeyourfuture.io/guides/testing/lighthouse) - [ ] Use version control by committing often and pushing regularly to GitHub +- [ ] Develop the habit of writing clean, well-structured, and error-free code <!--{{</objectives>}}>--> +## Task +![Wireframe](./wireframe.png) + +Using the provided wireframe and resources, write a new webpage explaining: + +1. What is the purpose of a README file? +1. What is the purpose of a wireframe? +1. What is a branch in Git? + +The page layout should closely match the wireframe. Exact replication is the goal, but small differences may be accepted. + +There are some provided HTML and CSS files you can use to get started. You can use these files as a starting point or create your own files from scratch. You _must_ modify the HTML and CSS files to meet the acceptance criteria and you must check this criteria yourself before you submit your work. + ## Acceptance Criteria - [ ] Semantic HTML tags are used to structure the webpage. - [ ] The page scores 100 for Accessibility in the Lighthouse audit. -- [ ] The page header includes a title and description. -- [ ] The articles section has three unique articles, each including an image, title, summary, and a link. -- [ ] The page footer is fixed to the bottom of the viewport. - [ ] The webpage is styled using a linked .css file. - [ ] The webpage is properly committed and pushed to a branch on GitHub. +- [ ] The articles section contains three distinct articles, each with its own unique image, title, summary, and link. +- [ ] The page footer is fixed to the bottom of the viewport. +- [ ] The page layout closely match the wireframe. + +### Developers must adhere to professional standards. + +> Before you say you're done: Is your code readable? Does it run correctly? Does it look professional? + +These practices reflect the level of quality expected in professional work. +They ensure your code is reliable, maintainable, and presents a polished, credible experience to users. + +- [ ] My HTML code has no errors or warnings when validated using https://validator.w3.org/ +- [ ] My code is consistently formatted +- [ ] My page content is free of typos and grammatical mistakes +- [ ] I commit often and push regularly to GitHub ## Resources - [Wireframe](https://www.productplan.com/glossary/wireframe/) - [Semantic HTML](https://www.w3schools.com/html/html5_semantic_elements.asp) - [:first-child](https://developer.mozilla.org/en-US/docs/Web/CSS/:first-child) +- [Format Code and Make Logical Commits in VS Code](../practical_guide.md) diff --git a/practical_guide.md b/practical_guide.md new file mode 100644 index 000000000..90537cd76 --- /dev/null +++ b/practical_guide.md @@ -0,0 +1,58 @@ +## Clean Code and Smart Commits: A Practical Guide + +### 1. Formatting code consistently + +- In VS Code, right-click anywhere in the editor and choose "Format Document" from the context menu. + +- You can also use the shortcut: + - Windows/Linux: `Shift + Alt + F` + - macOS: `Shift + Option + F` + +- More details: https://code.visualstudio.com/docs/editing/codebasics#_formatting + +--- +### 2. Enabling automatic formatting + +- Open your VS Code settings (user or workspace settings). + - Guide: https://code.visualstudio.com/docs/getstarted/settings#_creating-user-and-workspace-settings +- Search for `editor format` +- Set `editor.formatOnSave` and `editor.formatOnPaste` to true + +This ensures your code stays clean without needing manual formatting each time. + +--- + +### 3. Committing files often, in meaningful groups + +Creating small, focused commits improves both your workflow and team collaboration. + +Why this matters: +- **Clarity**: Each commit tells a clear story (one feature, one fix, one change). +- **Debugging**: Easy to find and undo the commit that caused a bug. +- **Collaboration**: Teammates can review and understand changes faster. +- **History**: Project log becomes a readable timeline, not a messy dump. +- **Safety**: Progress is saved in safe, logical stepsβ€”less risk of losing work. + +#### Appraoch 1: Using VS Code + +- In the Source Control panel, stage individual files instead of all changes. +- Commit only what is staged. +- Watch this video (around 12:50): https://www.youtube.com/watch?v=z5jZ9lrSpqk&t=705 + +#### Approach 2: Using Git commands + +1. Stage a changed file (`git add`) + +e.g.: To stage a modified file named `index.html` +``` +git add index.html +``` + +2. Commit the staged changes: (`git commit`) + +e.g.: To commit the staged changes with a short commit message +``` +git commit -m "Fix syntax error" +``` + +- Additional resource: [W3School Git Tutorial](https://www.w3schools.com/git/default.asp?remote=github) From 46911aeac47a328037edfa42b15bb9f740ae734b Mon Sep 17 00:00:00 2001 From: Poonam <61753159+Poonam-raj@users.noreply.github.com> Date: Mon, 11 May 2026 11:27:53 +0100 Subject: [PATCH 13/21] Fix typo in 'Acceptance Criteria' section --- Form-Controls/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Form-Controls/README.md b/Form-Controls/README.md index 844572470..86f623d89 100644 --- a/Form-Controls/README.md +++ b/Form-Controls/README.md @@ -28,7 +28,7 @@ Writing that out as a series of questions to ask yourself: All fields are required. Do not write a form action for this project. -## Acceptnce Criteria +## Acceptance Criteria ### Developers must test their work. From 633f4fcdfc7dd235e9ca80398f7c3cc9c88abcd9 Mon Sep 17 00:00:00 2001 From: cywong <zenobiatony@gmail.com> Date: Fri, 15 May 2026 18:59:28 +0100 Subject: [PATCH 14/21] initial draft --- PR_template.html | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 PR_template.html diff --git a/PR_template.html b/PR_template.html new file mode 100644 index 000000000..a401163f2 --- /dev/null +++ b/PR_template.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>T-Shirt Order Form + + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + \ No newline at end of file From ec93e2603707f830704874bafd148b0513f193cf Mon Sep 17 00:00:00 2001 From: cywong Date: Fri, 15 May 2026 20:02:06 +0100 Subject: [PATCH 15/21] Added css --- PR_template.html | 65 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 57 insertions(+), 8 deletions(-) diff --git a/PR_template.html b/PR_template.html index a401163f2..c91fb0e88 100644 --- a/PR_template.html +++ b/PR_template.html @@ -1,34 +1,81 @@ + - T-Shirt Order Form + Checking Form + + -
+ +

Checking Form:

+
- - + + +
- + +
- + +
- + +
- +
+ \ No newline at end of file From b9e1311fa37185f34c802c0bb3cdc0d11b5c21e6 Mon Sep 17 00:00:00 2001 From: cywong Date: Fri, 15 May 2026 20:33:18 +0100 Subject: [PATCH 16/21] changed for lighthouse suggestion --- PR_template.html | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/PR_template.html b/PR_template.html index c91fb0e88..8221c6746 100644 --- a/PR_template.html +++ b/PR_template.html @@ -8,7 +8,7 @@ -
+
+ +

Checking Form:

@@ -95,6 +97,6 @@

Checking Form:

- +
\ No newline at end of file From 4d4300e366aa49902ba0585b4d94dddafeee4e27 Mon Sep 17 00:00:00 2001 From: cywong Date: Sat, 16 May 2026 12:59:04 +0100 Subject: [PATCH 18/21] finalized version --- GitHomeworkTest | 1 + 1 file changed, 1 insertion(+) create mode 160000 GitHomeworkTest diff --git a/GitHomeworkTest b/GitHomeworkTest new file mode 160000 index 000000000..fe49af364 --- /dev/null +++ b/GitHomeworkTest @@ -0,0 +1 @@ +Subproject commit fe49af3642d527c11ca7b2374cbdb56682575ed8 From 48097dc4c1599d25bb619d2b4d576bd343431269 Mon Sep 17 00:00:00 2001 From: cywong Date: Sat, 16 May 2026 13:46:00 +0100 Subject: [PATCH 19/21] final one --- PR_template.html | 102 --------------------------------- index.html | 146 ++++++++++++++++++++++++++++++++--------------- 2 files changed, 101 insertions(+), 147 deletions(-) delete mode 100644 PR_template.html diff --git a/PR_template.html b/PR_template.html deleted file mode 100644 index 587cfa1d2..000000000 --- a/PR_template.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - Checking Form - - - - -
-
- -

Checking Form:

- -
- - - -
- -

- -
- - - -
- -

- -
- - - -
-

-
- - - -
-

- -
-
- - \ No newline at end of file diff --git a/index.html b/index.html index 80aa49666..255dd89e3 100644 --- a/index.html +++ b/index.html @@ -1,46 +1,102 @@ - - - - - Coursework - - - -

🧐 CYF Coursework Disposable Branch Previews

-
-
    -
  1. -

    Project 1: Wireframe

    -

    - Mentors: - open the assignment in a tab -

    -
  2. -
  3. -

    Project 2: Form Controls

    -

    - Mentors: - open the assignment in a tab -

    -
  4. -
-
- - - + + + + + + Checking Form + + + + +
+
+ +

Checking Form:

+ +
+ + + +
+ +

+ +
+ + + +
+ +

+ +
+ + + +
+

+
+ + + +
+

+ +
+
+ + \ No newline at end of file From 29ebd82488027e1d8596b06fda05d55c14b1c27f Mon Sep 17 00:00:00 2001 From: cywong Date: Sat, 16 May 2026 13:54:25 +0100 Subject: [PATCH 20/21] final one --- Form-Controls/index.html | 127 +++++++++++++++++++++++++++++++-------- 1 file changed, 101 insertions(+), 26 deletions(-) diff --git a/Form-Controls/index.html b/Form-Controls/index.html index 65a866cdb..255dd89e3 100644 --- a/Form-Controls/index.html +++ b/Form-Controls/index.html @@ -1,27 +1,102 @@ - - - - - My form exercise - - - - -
-

Product Pick

-
-
-
- - -
-
-
- -

By HOMEWORK SOLUTION

-
- - + + + + + + Checking Form + + + + +
+
+ +

Checking Form:

+ +
+ + + +
+ +

+ +
+ + + +
+ +

+ +
+ + + +
+

+
+ + + +
+

+ +
+
+ + \ No newline at end of file From 349008937340e47f46f8012fb4b30cb910252f88 Mon Sep 17 00:00:00 2001 From: cywong Date: Sat, 16 May 2026 14:13:02 +0100 Subject: [PATCH 21/21] final one --- Form-Controls/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Form-Controls/index.html b/Form-Controls/index.html index da2c117e2..587cfa1d2 100644 --- a/Form-Controls/index.html +++ b/Form-Controls/index.html @@ -1,5 +1,5 @@ - + @@ -99,4 +99,4 @@

Checking Form:

- + \ No newline at end of file