Skip to content

Summary

Congratulations! You have completed this workshop

This workshop walked through a realistic, end‑to‑end migration of a small Python (FastAPI) HTTP service into a C# web service using ASP.NET Core Minimal APIs, using GitHub Copilot as an AI pair‑programmer across its three modes (Ask, Agent, Plan). The focus was on disciplined, incremental migration, test‑driven validation, and leveraging AI responsibly (small diffs, continuous feedback, explicit validation).

Story & Goal

You acted as an engineer at "Zava" migrating a temperature / seasonal lookup API from Python to C# to gain performance, type safety, and future scalability. The original Python service exposed multiple HTTP endpoints backed by static JSON data. The objective: reproduce equivalent behavior in C# while preserving API compatibility and strengthening test coverage and maintainability.

GitHub Copilot Usage Patterns

Mode Purpose in Workshop Examples
Ask Discovery, explanations, brainstorming without large code dumps Summarize codebase, identify missing tests
Plan Outlining tasks and breaking down complex work into manageable steps Analyzing endpoints, creating implementation roadmaps, suggesting project structures
Agent Multi-step orchestration: scaffolding, executing commands, iterative endpoint migration Creating C# project, running tests after each endpoint

Key prompting techniques included: scoping requests narrowly (“only add the root endpoint”), reinforcing partial generation, and iterative refinement rather than requesting monolithic files.

Outcomes Achieved

Area Result
Functional Parity All Python endpoints replicated in C# with matching responses
Test Coverage Python tests validate both implementations + optional C# MSTest tests for faster feedback
Reliability Compile-time type safety & clearer types via C# strongly-typed system
AI Leverage Demonstrated productive Copilot usage patterns across modes

Suggested Next Steps

Take a look at the Bonus Content Section! We have laid down some bonus challenges to take this project further.

Final Reflection

You practiced a pragmatic, test-driven, AI-augmented migration path. By constraining Copilot to precise, reviewable changes and validating continuously, you achieved reliable parity while improving the operational and performance posture of the service. This mirrors real-world modernization efforts where correctness, safety, and maintainability must advance together.

Happy shipping and keep iterating with purpose! 🚀