From 045dcce3533a1b1dcfb6e7c7bdb4c2d9fbec5d8d Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 5 Dec 2025 00:53:31 +0000
Subject: [PATCH 1/2] Initial plan
From bd4badf5de4a81d16c92d6f61b7426392ca5a2ca Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 5 Dec 2025 00:56:15 +0000
Subject: [PATCH 2/2] Improve README.md with comprehensive project
documentation
Co-authored-by: cx-demo <30712871+cx-demo@users.noreply.github.com>
---
README.md | 145 +++++++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 134 insertions(+), 11 deletions(-)
diff --git a/README.md b/README.md
index 0036e64..8c6db83 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,141 @@
-
+# Mergington High School Activities API
+
+A FastAPI application for managing extracurricular activities at Mergington High School. Students can view available activities and sign up or unregister from them through a simple web interface or REST API.
+
+## Features
+
+- 📋 View all available extracurricular activities with details
+- ✍️ Sign up for activities using student email
+- ❌ Unregister from activities
+- 🔄 Prevent duplicate signups
+- 🖥️ Interactive web interface
+- 📚 Auto-generated API documentation (Swagger/ReDoc)
+
+## Prerequisites
+
+- Python 3.7 or higher
+- pip (Python package manager)
+
+## Installation
+
+1. Clone the repository:
+ ```bash
+ git clone https://github.com/cx-demo/skills-getting-started-with-github-copilot.git
+ cd skills-getting-started-with-github-copilot
+ ```
+
+2. Install the required dependencies:
+ ```bash
+ pip install -r requirements.txt
+ ```
+
+## Usage
+
+### Running the Application
+
+Start the FastAPI server:
+
+```bash
+uvicorn src.app:app --reload
+```
+
+The application will be available at:
+- **Web Interface**: http://localhost:8000/
+- **API Documentation (Swagger)**: http://localhost:8000/docs
+- **API Documentation (ReDoc)**: http://localhost:8000/redoc
+
+### API Endpoints
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `GET` | `/` | Redirect to the web interface |
+| `GET` | `/activities` | Get all activities with details and participants |
+| `POST` | `/activities/{activity_name}/signup?email=
` | Sign up a student for an activity |
+| `POST` | `/activities/{activity_name}/unregister?email=` | Remove a student from an activity |
+
+### Example API Usage
+
+**Get all activities:**
+```bash
+curl http://localhost:8000/activities
+```
+
+**Sign up for an activity:**
+```bash
+curl -X POST "http://localhost:8000/activities/Chess%20Club/signup?email=student@mergington.edu"
+```
+
+**Unregister from an activity:**
+```bash
+curl -X POST "http://localhost:8000/activities/Chess%20Club/unregister?email=student@mergington.edu"
+```
-# 🎉 Congratulations cx-demo! 🎉
+## Project Structure
-
+```
+skills-getting-started-with-github-copilot/
+├── src/
+│ ├── app.py # FastAPI application with API endpoints
+│ ├── static/
+│ │ ├── index.html # Web interface
+│ │ ├── app.js # Frontend JavaScript
+│ │ └── styles.css # Styling
+│ └── README.md # Additional documentation
+├── tests/
+│ └── test_app.py # Test suite
+├── requirements.txt # Python dependencies
+├── pytest.ini # Pytest configuration
+└── README.md # This file
+```
-### 🌟 You've successfully completed the exercise! 🌟
+## Available Activities
-## 🚀 Share Your Success!
+The application includes the following extracurricular activities:
-**Show off your new skills and inspire others!**
+- **Academic**: Chess Club, Programming Class, Math Olympiad, Science Club
+- **Sports**: Gym Class, Soccer Team, Basketball Club
+- **Arts**: Drama Club, Art Workshop
+
+Each activity has:
+- Description
+- Schedule
+- Maximum participant capacity
+- List of registered participants
+
+## Testing
+
+Run the test suite using pytest:
+
+```bash
+pytest
+```
+
+The test suite includes:
+- Activity listing tests
+- Signup and unregister flow tests
+- Duplicate signup prevention tests
+- Error handling tests
+- Redirect tests
+
+## Data Storage
+
+The application uses in-memory storage for simplicity. All data (activities and registrations) will be reset when the server restarts. This is suitable for development and learning purposes.
+
+## License
+
+This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
+
+---
+
+
+
+## 🎉 GitHub Skills Exercise Complete! 🎉
+
+

+
+**This project was created as part of the "Getting Started with GitHub Copilot" exercise.**
+
+### 🚀 Share Your Success!
@@ -20,15 +147,11 @@
-### 🎯 What's Next?
-
-**Keep the momentum going!**
+### 🎯 Continue Learning
[](https://github.com/cx-demo/skills-getting-started-with-github-copilot/issues/1)
[](https://learn.github.com/skills)
-*There's no better way to learn than building things!* 🚀
-
---