You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Teachers are afraid to modify the program since they think they might break it. Move the list of activities out of the python file into a dedicated `activities.json` file.
Students are removing each other to free up space for themselves in the activities.
6
+
7
+
## Recommended Solution
8
+
9
+
Add a user icon in the top right. When clicked it shows a login button. When the login button is clicked, it presents a window to enter a username and password.
10
+
11
+
- Only the teachers (logged in) have ability to register and unregister students to activities.
12
+
13
+
- The students (not logged in) can still view who is registered.
14
+
15
+
- There is no need for an account maintenance page. Teachers will be assigned passwords.
16
+
17
+
## Context
18
+
19
+
Since there is no database yet, please store the teacher usernames and passwords in a `json` file that is checked by the backend.
The GitHub Skills activity announced by our principal is missing from the school activities signup page.
4
+
5
+
Yesterday in the school assembly, the principal announced a new partnership with GitHub to teach students practical coding and collaboration skills. However, when I try to sign up for this activity, I can't find it on the website.
6
+
7
+
I can see the several other activities, like these, so I think I have access.
8
+
9
+
- ✅ Chess Club
10
+
- ✅ Programming Class
11
+
- ✅ Gym Class
12
+
13
+
## ⏱️ Timeline
14
+
15
+
This is time-sensitive as the announcement mentioned registrations would close by the end of this week. Many students are eager to join. It's the first part of our [GitHub Certifications program](https://resources.github.com/learn/certifications/), which will help with college applications.
16
+
17
+
## 💡 Expected Outcome
18
+
19
+
The GitHub Skills activity should be added to the system and available for registration like other activities
In the [Getting Started with GitHub Copilot](https://github.com/skills/getting-started-with-github-copilot) exercise, we were introduced to the Mergington High School's extracurricular activities website, which allowed students to sign up for events.
8
+
9
+
And now we have a problem... but.. it's a good one! More teachers are asking to to use it! 🎉
10
+
11
+
Our fellow teachers have lots of ideas but we can't seem to keep up with all the requests! 😮 To with this issue, lets give GitHub Copilot an upgrade by enabling Model Context Protocol (MCP). To be more specific, we will add the GitHub MCP server, which will enable a combined workflow of issue management and website upgrades. 🧑🚀
12
+
13
+
Lets get started!
5
14
6
15
### What is Model Context Protocol (MCP)?
7
16
8
-
[Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) is often referred to as "USB-C for AI" - a universal connector that allows GitHub Copilot to seamlessly interact with external tooling.
17
+
[Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) is often referred to as "USB-C for AI" - a universal connector that allows GitHub Copilot (and other AI tools) to seamlessly interact with other services.
18
+
19
+
Essentially, it is a way to describe the capabilities and requirements of a service, so AI tools can easily determine what methods to use and to accurately provide the parameters. An MCP server is the host for that providing that interface.
9
20
10
21
```mermaid
11
22
graph LR
@@ -30,119 +41,144 @@ graph LR
30
41
31
42
### :keyboard: Activity: Get to know your environment
32
43
33
-
Let's start up our development environment and familiarize with the environment.
34
-
35
-
We are using the same web application as in the [Getting Started with Copilot](https://github.com/skills/getting-started-with-github-copilot) exercise - the Mergington High School's extracurricular activities website.
44
+
Let's start up our development environment and refamiliarize ourself with the extracurricular activity application.
36
45
37
46
1. Right-click the below button to open the **Create Codespace** page in a new tab. Use the default configuration.
38
47
39
48
[](https://codespaces.new/{{full_repo_name}}?quickstart=1)
40
49
41
-
1. Validate the Copilot Chat and Python extensions are installed and enabled
50
+
1. Validate the **Copilot Chat** and **Python** extensions are installed and enabled.
51
+
52
+
<imgwidth="300"alt="copilot extension for VS Code"src="https://github.com/user-attachments/assets/ef1ef984-17fc-4b20-a9a6-65a866def468" /><br/>
53
+
<imgwidth="300"alt="python extension for VS Code"src="https://github.com/user-attachments/assets/3040c0f5-1658-47e2-a439-20504a384f77" />
54
+
55
+
1. Verify our application runs before modification. In the left sidebar, select the **Run and Debug** tab and then press the **Start Debugging** icon.
56
+
42
57
<details>
43
-
<summary>:camera_flash: See screenshot</summary><br/>
58
+
<summary>📸 Show screenshot</summary><br/>
44
59
45
-
<imgwidth="350"alt="copilot extension for VS Code"src="https://github.com/user-attachments/assets/ef1ef984-17fc-4b20-a9a6-65a866def468" />
60
+
<imgwidth="300"alt="run and debug"src="https://github.com/user-attachments/assets/50b27f2a-5eab-4827-9343-ab5bce62357e" />
46
61
47
-
<imgwidth="350"alt="python extension for VS Code"src="https://github.com/user-attachments/assets/3040c0f5-1658-47e2-a439-20504a384f77" />
48
62
</details>
49
63
50
-
1.In the left sidebar, select the `Run and Debug` tab and then press the **Start Debugging** icon.
64
+
1.Use the **Ports** tab to find the webpage address, open it, and verify it is running.
51
65
52
66
<details>
53
-
<summary>:camera_flash: See screenshot</summary><br/>
67
+
<summary>📸 Show screenshot</summary><br/>
54
68
55
-
<imgwidth="300"alt="run and debug"src="https://github.com/user-attachments/assets/50b27f2a-5eab-4827-9343-ab5bce62357e" />
"description": "Enter your GitHub personal access token",
90
123
"password": true
91
124
}
92
125
]
93
126
}
94
127
```
95
128
96
-
1. In a moment, when you start the server - you will be prompted to provide a GitHub Token. Print it out in the terminal and copy it to your clipboard (`CTRL+C`).
97
-
98
-
```bash
99
-
echo$GITHUB_TOKEN
100
-
```
129
+
<!-- > [!TIP]
130
+
> You might also try passing environment variables directly. -->
101
131
102
-
1. Back in the `.vscode/mcp.json` file you should see `Start` button show up like so:
132
+
<!--
133
+
<details>
134
+
<summary>Why not ask Copilot to do this?</summary><br/>
1. In the `.vscode/mcp.json` file, click the `Start` button and provide the token. This has just informed GitHub Copilot of the MCP server's capabilities.
1. Now that your MCP server configuration is pushed to GitHub, Mona should already be busy checking your work. Give her a moment and keep watch in the comments. You will see her respond with progress info and the next lesson.
135
171
136
-
</details>
172
+
1. (optional) The next steps will interact with issues. If you would like to avoid notification emails, you can unwatch the repository by click this button.
137
173
138
-
1. Commit and push the `.vscode/mcp.json` file to the `main` branch
0 commit comments