Welcome to the GitHub MicroHack! This hands-on workshop explores modern software development practices using GitHub's comprehensive development platform. Learn how to leverage AI assistance, implement robust DevSecOps practices, and build scalable microservices architectures.
This MicroHack guides you through a comprehensive journey of modern development practices, from basic GitHub concepts to advanced AI-assisted development and enterprise-scale DevSecOps implementation.
This repozitory provides two branches:
- main - this is complete repository with solutions
- student - starting point for student, this is base for repo template you will be using in a lab
Instructors please read Teacher README
- Master GitHub's collaborative development features and workflows
- Experience AI-assisted development with GitHub Copilot
- Implement modern CI/CD pipelines with advanced security integration
- Build and deploy microservices using cloud-native technologies
- Understand enterprise-scale development governance and best practices
The workshop uses a fictious PetPal application, a playful microservicesβbased application that helps users manage their pets, track activities, and explore accessories.
- πΎ Pet Service (Port 8010) - Core pet management with CRUD operations
- π Activity Service (Port 8020) - Pet activity tracking and analytics
- ποΈ Accessory Service (Port 8030) - Inventory management for pet accessories (TO BE IMPLEMENTED)
Each service demonstrates modern development practices including:
- RESTful API design with FastAPI
- Azure CosmosDB integration
- Containerization with Docker
- Comprehensive testing strategies
- OpenAPI documentation
- Health monitoring and observability
This workshop consists of 11 progressive challenges designed to build comprehensive GitHub and modern development expertise:
| Challenge | Title | Focus Area | Duration |
|---|---|---|---|
| 01 | Access and Identity | GitHub organization setup, identity management strategies | 30 min |
| 02 | GitHub Copilot Introduction | AI-assisted development fundamentals | 45 min |
| 03 | GitHub Codespaces | Cloud development environments | 45 min |
| Challenge | Title | Focus Area | Duration |
|---|---|---|---|
| 04 | Brainstorming with AI, project management | Requirements gathering, constitution and standards, project management | 20 min |
| 05 | GitHub Copilot β From Enabled to Effective | Copilot best practices, customization and guidance | 30 min |
| Challenge | Title | Focus Area | Duration |
|---|---|---|---|
| 06 | Design a new microservice with Copilot | AI-assisted architecture design, specs | 20 min |
| 07 | Implementation and testing | Specs-drive development, local testing and integration | 45 min |
| Challenge | Title | Focus Area | Duration |
|---|---|---|---|
| 08 | Infrastructure as Code | Azure deployment, security patterns | 45 min |
| 09 | CI/CD with GitHub Actions | Automated pipelines, deployment strategies | 45 min |
| Challenge | Title | Focus Area | Duration |
|---|---|---|---|
| 10 | DevSecOps and Governance | Security integration, compliance automation | 30 min |
| 11 | AI Agent Automation | Advanced Copilot agents, task delegation | 20 min |
| Challenge | Title | Focus Area | Duration |
|---|---|---|---|
| 12 | SRE with AI Agents | Operational automation, monitoring, troubleshooting | - min |
- GitHub account with Copilot access
- Azure subscription (will be provided)
- Basic understanding of software development
- Familiarity with containerization concepts
- Access Azure environment (credentials will be provided, you will have to enroll your account to Microsoft Authenticator)
- Login to GitHub Organization (using your Azure federated identity, details will be provided)
No need to set up a local environment; this workshop leverages GitHub Codespaces for a cloud-based development environment (instructions part of challenges).
- Begin with Challenge 01
- Complete challenges sequentially
- Use provided solutions as reference when needed
- Ask instructors for help when stuck
- Focus on fundamentals first: Challenges 1-5 establish core GitHub and Copilot skills
- Build progressively: Each challenge builds on previous knowledge
- Practice extensively: Use provided sample application for hands-on experience
- Collaborate actively: Work with peers, discuss approaches, share learnings
- Leverage AI assistance: Use Copilot throughout the workshop for faster learning
- Don't skip testing: Quality practices are essential for real-world success
- Understand the 'why': Focus on understanding principles, not just completing tasks
- Document your journey: Keep notes on learnings and best practices
- Ask questions: Instructors and peers are valuable resources
- GitHub Skills - Interactive learning courses
- GitHub Docs - Comprehensive documentation
- GitHub Community - Community support and discussions
Ready to transform your development workflow? Start with Challenge 01: Access and Identity and begin your GitHub mastery journey! π
