-
Notifications
You must be signed in to change notification settings - Fork 1
Generate comprehensive README.md from workshop documentation #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,3 +1,266 @@ | ||||||||||
| GH workshop | ||||||||||
| # 🎬 GitHub Copilot Workshop | ||||||||||
|
|
||||||||||
| Start with [workshop](instructions/0-project-explanation.md). | ||||||||||
| Welcome to the **GitHub Copilot Workshop**! This hands-on project guides you through building a stylish, production-ready movie management application using the latest tools and best practices. Learn how to leverage GitHub Copilot to accelerate your development workflow while building a full-stack application. | ||||||||||
|
|
||||||||||
| ## 📋 Project Overview | ||||||||||
|
|
||||||||||
| This workshop demonstrates building a complete movie management system with: | ||||||||||
| - **Backend:** ASP.NET Core 9.0 Web API for managing movies and categories | ||||||||||
| - **Frontend:** Vue 3 + Vite for a modern, responsive user interface | ||||||||||
| - **MCP Server:** Model Context Protocol integration for advanced agent features | ||||||||||
| - **GitHub Copilot:** Extensive use of AI-assisted development throughout | ||||||||||
|
|
||||||||||
| ## ✨ Key Features | ||||||||||
|
|
||||||||||
| - 🎥 Movie and category management system | ||||||||||
| - 🗂️ Entity Framework Core with in-memory database | ||||||||||
| - 🎨 Modern Vue 3 UI with Tailwind CSS | ||||||||||
| - 🧪 NUnit-based backend testing | ||||||||||
| - 🔌 RESTful API endpoints | ||||||||||
| - 🤖 MCP server integration for external data sources | ||||||||||
| - 🛠️ GitHub Copilot customizations and agents | ||||||||||
| - 📝 Custom prompts and instructions for enhanced AI assistance | ||||||||||
|
|
||||||||||
| ## 🚀 Technology Stack | ||||||||||
|
|
||||||||||
| ### Backend | ||||||||||
| - **.NET 9.0** - Latest .NET framework | ||||||||||
| - **ASP.NET Core Web API** - RESTful API development | ||||||||||
| - **Entity Framework Core** - ORM for database operations | ||||||||||
| - **NUnit** - Unit testing framework | ||||||||||
| - **Bogus** - Fake data generation for testing | ||||||||||
|
|
||||||||||
| ### Frontend | ||||||||||
| - **Vue 3** (v3.5.22) - Progressive JavaScript framework | ||||||||||
| - **Vite** (v7.1.11) - Next-generation frontend tooling | ||||||||||
| - **Tailwind CSS** - Utility-first CSS framework | ||||||||||
| - **Heroicons** - Beautiful hand-crafted SVG icons | ||||||||||
|
|
||||||||||
| ### Tools & Extensions | ||||||||||
| - **GitHub Copilot** - AI pair programmer | ||||||||||
| - **Model Context Protocol (MCP)** - Agent customizations | ||||||||||
| - **VS Code** - Primary development environment | ||||||||||
|
|
||||||||||
| ## 📋 Prerequisites | ||||||||||
|
|
||||||||||
| Before starting the workshop, ensure you have the following installed: | ||||||||||
|
|
||||||||||
| - **GitHub account** with access to GitHub Copilot | ||||||||||
| - **[.NET SDK 9.0 or later](https://dotnet.microsoft.com/en-us/download/dotnet/9.0)** | ||||||||||
| - **[Node.js (v20.19.0+) and npm](https://nodejs.org/en/download/)** | ||||||||||
| - **[Git](https://git-scm.com/downloads)** | ||||||||||
| - **[Visual Studio Code](https://code.visualstudio.com/)** | ||||||||||
| - **[GitHub Copilot extension for VS Code](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)** | ||||||||||
|
|
||||||||||
| ## 🏗️ Project Architecture | ||||||||||
|
|
||||||||||
| The application follows a clean, separated architecture: | ||||||||||
|
|
||||||||||
| ``` | ||||||||||
| gh-workshop/ | ||||||||||
| ├── backend/ # ASP.NET Core Web API | ||||||||||
| │ ├── Models/ # Data models (Movie, Category, MovieUser) | ||||||||||
| │ ├── Data/ # DbContext and database configuration | ||||||||||
| │ ├── Properties/ # Application properties | ||||||||||
| │ └── Program.cs # Application entry point & API endpoints | ||||||||||
| ├── frontend/ # Vue 3 application | ||||||||||
| │ ├── src/ # Source code | ||||||||||
| │ │ ├── components/ # Vue components (MovieList, SeedMovies) | ||||||||||
| │ │ └── App.vue # Root component | ||||||||||
| │ └── public/ # Static assets | ||||||||||
| ├── instructions/ # Step-by-step workshop guides | ||||||||||
| ├── starters/ # Starter files and templates | ||||||||||
| │ ├── files/ # Template files | ||||||||||
| │ └── mcp/ # MCP server starter code | ||||||||||
| └── .github/ # GitHub configurations | ||||||||||
| ├── agents/ # Custom Copilot agents | ||||||||||
| ├── prompts/ # Custom Copilot prompts | ||||||||||
| └── instructions/ # Copilot instruction files | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| ## 🎯 Getting Started | ||||||||||
|
|
||||||||||
| ### Option 1: Clone the Repository | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| git clone <repository-url> | ||||||||||
| cd gh-workshop | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| ### Option 2: Create Projects from Scratch | ||||||||||
|
|
||||||||||
| **Backend:** | ||||||||||
| ```bash | ||||||||||
| dotnet new webapi -n backend --framework net9.0 | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| **Frontend:** | ||||||||||
| ```bash | ||||||||||
| npm create vue | ||||||||||
| # Name: frontend | ||||||||||
| # Select: "Skip all example code and start with a blank project" = Yes | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| ### Running the Application | ||||||||||
|
|
||||||||||
| **Backend:** | ||||||||||
| ```bash | ||||||||||
| cd backend | ||||||||||
| dotnet restore | ||||||||||
| dotnet build | ||||||||||
| dotnet run | ||||||||||
| ``` | ||||||||||
| Access at: `http://localhost:5065` (or port specified in console) | ||||||||||
|
|
||||||||||
| **Frontend:** | ||||||||||
| ```bash | ||||||||||
| cd frontend | ||||||||||
| npm install | ||||||||||
| npm run dev | ||||||||||
| ``` | ||||||||||
| Access at: `http://localhost:5173` | ||||||||||
|
|
||||||||||
| ## 📚 Workshop Structure | ||||||||||
|
|
||||||||||
| This workshop consists of progressive, hands-on lessons. Follow them in order for the best learning experience: | ||||||||||
|
|
||||||||||
| 1. **[Project Introduction](instructions/0-project-explanation.md)** - Overview and setup | ||||||||||
| 2. **[Clean Boilerplate](instructions/1-clean-boilerplate.md)** - Remove default code with Copilot | ||||||||||
| 3. **[Add Backend Code](instructions/2-add-code-for-backend.md)** - Create models with AI assistance | ||||||||||
| 4. **[Database Context](instructions/3-add-db-context.md)** - Set up Entity Framework Core | ||||||||||
| 5. **[Backend Tests](instructions/4-backend-tests.md)** - Write unit tests with NUnit | ||||||||||
| 6. **[Frontend Development](instructions/5-frontend.md)** - Build Vue 3 UI components | ||||||||||
| 7. **[Connect Frontend & Backend](instructions/6-connecting-frontend-backend.md)** - Wire up the API | ||||||||||
| 8. **[MCP Server](instructions/7-mcp-server.md)** - Integrate Model Context Protocol | ||||||||||
| 9. **[Customizations](instructions/8-customizations.md)** - Add Copilot instructions | ||||||||||
| 10. **[Debug Copilot](instructions/9-debug-copilot.md)** - Troubleshoot and optimize | ||||||||||
| 11. **[Custom Agent](instructions/11-custom-agent.md)** - Create custom Copilot agents | ||||||||||
| 12. **[Review Agent](instructions/12-review-agent.md)** - Code review automation | ||||||||||
| 13. **[Additional Workshops](instructions/10-additional-workshops.md)** - Extended learning | ||||||||||
| 14. **[Codespaces](instructions/13-spaces.md)** - Cloud development environment | ||||||||||
|
Comment on lines
+139
to
+140
|
||||||||||
| 13. **[Additional Workshops](instructions/10-additional-workshops.md)** - Extended learning | |
| 14. **[Codespaces](instructions/13-spaces.md)** - Cloud development environment | |
| 13. **[Codespaces](instructions/13-spaces.md)** - Cloud development environment | |
| 14. **[Additional Workshops](instructions/10-additional-workshops.md)** - Extended learning |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The placeholder
<repository-url>should be replaced with the actual repository URL (e.g.,https://github.com/username/gh-workshop) or updated to use a more specific placeholder pattern likehttps://github.com/YOUR_USERNAME/gh-workshopto guide users more clearly.