codex-lv2-may-2025

Unit Overview: Collaborative Website Project on GitHub Pages

đź§­ Objective

In this unit, groups of 2–4 students will collaboratively create a multi-page website hosted on GitHub Pages. Each student will be responsible for contributing their own page using branches and pull requests.


👥 Group Collaboration Goals


📚 Lesson List

  1. Create a Shared Repository (Group)
    One group member creates a GitHub repo and initializes it with a README.

  2. Add Collaborators and Accept Invitations (Group)
    Group members are invited as collaborators and accept their GitHub invitations.

  3. Create an index.html Page on main (Group)
    The homepage introduces the group and links to individual pages. Publish the site using GitHub Pages.

  4. Plan the Site as a Group (Group)
    Groups draft a plan showing which member will create which page (e.g., About Me, Resources, Gallery). Include a simple example layout.

  5. Update README (Group)
    Update your repository’s README file as a group using a shared template to describe your project, team members, and site layout.

  6. Create a Branch for Each Collaborator (Individual)
    Each member creates a personal branch to work on their page.

  7. Assign Pages and Begin Development (Individual)
    Members each create a new HTML file (e.g., alex.html, jordan.html) on their own branch.

  8. Create Pull Requests (Individual)
    Collaborators open pull requests with a description of what their page adds.

  9. Review and Merge Pull Requests (Group)
    Team members review PRs and merge them into main.

  10. Test Live GitHub Page (Group)
    Visit the deployed site and check that all pages are accessible and functioning.

  11. Create and Assign GitHub Issues (Individual)
    Each student creates at least one issue in the repository. For example, “add a new paragraph” or “create a list”.

  12. Create a Branch to Resolve an Issue (Individual)
    After selecting an issue (assigned or created), students create a new branch (e.g., fix-photo-section) to resolve it. They make the necessary changes, commit with a message that references the issue (e.g., Fixes #12), and open a pull request. Once reviewed, they merge the changes back to main.

  13. Add a Shared CSS File via GitHub Issue (Group) (Challenge)
    As a group, create a GitHub issue titled something like “Add shared CSS styling.” Only one team member will do this task.

  14. Link to CSS from Personal Page (Individual) (Challenge)
    After the shared style.css has been merged into main, each student creates a new issue in the repository (e.g., “Link CSS to jordan.html”). Then:

    • Create a new branch to complete the task (e.g., link-css-jordan)
    • Edit their personal HTML file to include: <link rel="stylesheet" href="style.css"> in the <head>
    • Do not change the CSS file itself—only link to it
    • Commit the changes with a message referencing the issue number
    • Open a pull request and merge once approved

âś… Project Outcome

By the end of this unit, student groups will: