# niranjanorit-hue/skills-integrate-mcp-with-copilot architecture

> Architecture diagram of the GitHub repository niranjanorit-hue/skills-integrate-mcp-with-copilot, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/niranjanorit-hue/skills-integrate-mcp-with-copilot
- Repository: https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot

## Overview

This is a small FastAPI-backed school activities signup app. Students browse activities and participant counts, sign up by email, or unregister; the browser refreshes the listing after successful changes. Activity metadata and participant lists live in process memory, so this is not a persistent database. The source excerpts show the browser’s API requests and the server’s route logic; HTML and CSS were not sampled, so their detailed wiring is not asserted.

Main entry points: [`src/static/app.js`](https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/static/app.js) (Browser interactions), [`src/app.py`](https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/app.py) (In-memory activities), [`src/static/index.html`](https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/static/index.html) (Activity page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Browser interface"]
  node_page["Activity page<br/>[index.html]"]
  node_browser["Browser interactions<br/>[app.js]"]
  node_styles["Page styling<br/>[styles.css]"]
end

subgraph group_service["Activity service"]
  node_root["Page redirect<br/>[app.py]"]
  node_listing["Activity listing API<br/>[app.py]"]
  node_signup["Activity signup<br/>[app.py]"]
  node_unregister["Activity unregister<br/>[app.py]"]
end

subgraph group_state["Activity state"]
  node_activities[("In-memory activities<br/>[app.py]")]
end

node_student(("Student"))

node_student -.->|"uses"| node_page
node_root -->|"redirects to"| node_page
node_browser -->|"fetches"| node_listing
node_browser -->|"submits signup"| node_signup
node_browser -->|"submits removal"| node_unregister
node_listing -->|"reads"| node_activities
node_signup -->|"adds participant"| node_activities
node_unregister -->|"removes participant"| node_activities

click node_page "https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/static/index.html"
click node_browser "https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/static/app.js"
click node_styles "https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/static/styles.css"
click node_root "https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/app.py"
click node_listing "https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/app.py"
click node_signup "https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/app.py"
click node_unregister "https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/app.py"
click node_activities "https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/app.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_page,node_browser,node_styles toneBlue
class node_root,node_listing,node_signup,node_unregister toneAmber
class node_activities toneMint
class node_student toneIndigo
```

## Components

### Browser interface

- [Activity page](https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/static/index.html): `src/static/index.html`
- [Browser interactions](https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/static/app.js): `src/static/app.js`
- [Page styling](https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/static/styles.css): `src/static/styles.css`

### Activity service

- [Page redirect](https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/app.py): `src/app.py`
- [Activity listing API](https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/app.py): `src/app.py`
- [Activity signup](https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/app.py): `src/app.py`
- [Activity unregister](https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/app.py): `src/app.py`

### Activity state

- [In-memory activities](https://github.com/niranjanorit-hue/skills-integrate-mcp-with-copilot/blob/main/src/app.py): `src/app.py`

### Other components

- **Student**

## Connections

- Student → Activity page: uses
- Page redirect → Activity page: redirects to (evidence: `src/app.py`)
- Browser interactions → Activity listing API: fetches (evidence: `src/static/app.js`)
- Browser interactions → Activity signup: submits signup (evidence: `src/static/app.js`)
- Browser interactions → Activity unregister: submits removal (evidence: `src/static/app.js`)
- Activity listing API → In-memory activities: reads (evidence: `src/app.py`)
- Activity signup → In-memory activities: adds participant (evidence: `src/app.py`)
- Activity unregister → In-memory activities: removes participant (evidence: `src/app.py`)
