An open API service indexing awesome lists of open source software.

https://github.com/georges034302/advanced-software-wil

This guide provides a week-by-week overview of the Advanced Software WIL - IATD course, focusing on core software development skills, automation, project management, team collaboration, DevOps, and Azure cloud skills. Each week includes hands-on lab guides, automation scripts, and software development best practices.
https://github.com/georges034302/advanced-software-wil

azure azure-acr azure-aks azure-app-service bash-script cicd copilot devops devsecops docker git github-actions github-pages github-projects helm-charts microservices unix-shell

Last synced: 2 months ago
JSON representation

This guide provides a week-by-week overview of the Advanced Software WIL - IATD course, focusing on core software development skills, automation, project management, team collaboration, DevOps, and Azure cloud skills. Each week includes hands-on lab guides, automation scripts, and software development best practices.

Awesome Lists containing this project

README

          

# 🔁 Advanced Software Development
This guide provides a week-by-week overview of the Advanced Software WIL - IATD course, focusing on core software development skills, automation, project management, team collaboration, DevOps, and Azure cloud skills. Each week includes hands-on lab guides, automation scripts, and software development best practices.

---

---

## 📚 Course Overview

Week 1: GitHub, Projects, Pages, Codespaces + Copilot Onboarding

Environment setup, GitHub practices, GitHub Codespaces, GitHub Projects, GitHub Pages Copilot onboarding:

**Labs:**
- Environment setup (Codespaces, azure cli, copilot) ([lab_1_a_environment_setup.md](week1/lab_1_a_environment_setup.md))
- GitHub practices (commits, PR, branching and merging) ([lab_1_b_github_practices.md](week1/lab_1_b_github_practices.md))
- GitHub projects (setup team project, pages, custom README) ([lab_1_c_github_projects.md](week1/lab_1_c_github_projects.md))
- Copilot onboarding (prompt engineering for copilot) ([lab_1_d_copilot_onboarding.md](week1/lab_1_d_copilot_onboarding.md))
- Capstone project collaboration template ([group_project_template.md](week1/group_project_template.md))

Week 2: Unix CLI and Bash Scripting

Unix CLI and Bash Scripting with Copilot - Automate development tasks using Unix CLI and Bash scripting with Copilot assistance:

**Labs:**
- Filesystem navigation and permissions ([lab_2_a_filesystem_navigation.md](week2/lab_2_a_filesystem_navigation.md))
- Data processing with pipes and redirection ([lab_2_b_data_processing.md](week2/lab_2_b_data_processing.md))
- Basic scripting with I/O, arguments, and control flow ([lab_2_c_bash_scripting.md](week2/lab_2_c_bash_scripting.md))
- Build automation and development environment setup ([lab_2_d_automation_scripts.md](week2/lab_2_d_automation_scripts.md))
- **Group Project:** Submit formal idea proposal

Week 3: Docker, YAML & Docker Compose

Docker containerization and orchestration with Copilot - Build and deploy containerized applications using Docker and Docker Compose with Copilot assistance:

**Labs:**
- Frontend containerization with nginx ([lab_3_a_frontend_containerization.md](week3/lab_3_a_frontend_containerization.md))
- Backend API development with Flask ([lab_3_b_backend_api_development.md](week3/lab_3_b_backend_api_development.md))
- Full-stack integration with Docker Compose ([lab_3_c_fullstack_integration.md](week3/lab_3_c_fullstack_integration.md))
- **Group Project:** Sprint 1 - Initial development and containerization

Week 4: CI/CD with GitHub Actions

CI/CD automation with GitHub Actions and Copilot - Build automated deployment pipelines using GitHub Actions with multi-service architectures and testing strategies:

**Labs:**
- Node.js Composite Actions for file analysis and web publishing ([lab_4_a_cicd_composite_actions.md](week4/lab_4_a_cicd_composite_actions.md))
- .NET 8 Web API with Copilot, Bogus testing, and CI pipeline ([lab_4_b_dotnet_test_ci.md](week4/lab_4_b_dotnet_test_ci.md))
- Multi-Container Python APIs + Frontend with Docker orchestration ([lab_4_c_python_docker_fullstack.md](week4/lab_4_c_python_docker_fullstack.md))
- **Group Project:** Sprint 1 completion and app release v1 [tracking: app-release-v1]

Week 5: Azure Dev Tools I: ACR + Container Deployment

Azure Container Registry and container deployment with Copilot - Build, store, and deploy containerized applications using Azure Container Registry, Container Instances, and Container Apps (Integrated with GitHub Actions):

**Labs:**
- Azure Container Registry setup with GitHub Actions automation ([lab_5_a_azure_container_registry.md](week5/lab_5_a_azure_container_registry.md))
- Deploy to Azure Container Instances with CI/CD ([lab_5_b_azure_container_instances.md](week5/lab_5_b_azure_container_instances.md))
- Scale with Azure Container Apps and auto-scaling ([lab_5_c_azure_container_apps.md](week5/lab_5_c_azure_container_apps.md))
- Microservices with Azure Container Apps ([lab_5_d_microservices_container_apps.md](week5/lab_5_d_microservices_container_apps.md))
- ARM template deployment to Azure Container Apps ([lab_5_e_arm_template_deployment.md](week5/lab_5_e_arm_template_deployment.md))
- **Group Project:** Sprint 2 - Azure cloud deployment and scaling
- **📋 Important:** Keep GitHub Projects updated with sprint progress and task completion

Week 6: Azure Dev Tools II: AKS + Helm Charts

Azure Kubernetes Service and Helm Charts with Copilot - Deploy and manage applications on AKS using Helm charts and Kubernetes best practices:

**Labs:**
- AKS cluster setup and basic deployments ([lab_6_a_aks_cluster_setup.md](week6/lab_6_a_aks_cluster_setup.md))
- Helm chart creation and application packaging ([lab_6_b_helm_chart_creation.md](week6/lab_6_b_helm_chart_creation.md))
- Production AKS with Helm and CI/CD ([lab_6_c_production_aks_helm_cicd.md](week6/lab_6_c_production_aks_helm_cicd.md))
- Bicep AKS provisioning with Helm deployment ([lab_6_d_bicep_aks_helm.md](week6/lab_6_d_bicep_aks_helm.md))
- **Group Project:** Sprint 2 - Kubernetes orchestration and Helm packaging [tracking: GitHub Projects]
- **📋 Important:** Update GitHub Projects with weekly progress, task completion, and sprint milestones

Week 7: Azure Dev Tools III: App Service Deployment

Azure App Service deployment with Copilot - Deploy web applications and APIs using Azure App Service with advanced features and production best practices:

**Labs:**
- Azure App Service code deployment with microservices ([lab_7_a_app_service_code_deployment.md](week7/lab_7_a_app_service_code_deployment.md))
- Azure App Service container deployment and ACR integration ([lab_7_b_app_service_container_deployment.md](week7/lab_7_b_app_service_container_deployment.md))
- Production App Service CI/CD pipeline with GitHub Actions ([lab_7_c_production_app_service_cicd.md](week7/lab_7_c_production_app_service_cicd.md))
- ARM template and CLI deployment to App Service ([lab_7_d_arm_template_cli_deployment.md](week7/lab_7_d_arm_template_cli_deployment.md))
- **Group Project:** Sprint 2 completion and app release v2 [tracking: app-release-v2]
- **📋 Important:** Finalize GitHub Projects with Sprint 2 deliverables and production readiness checklist

Week 8: Azure SQL Integration with CI/CD

Integrate and automate Azure SQL within CI/CD pipelines using secure app connections:

**Labs:**
- Azure SQL infrastructure provisioning with ARM templates and CLI ([lab_8_a_azure_sql_infrastructure.md](week8/lab_8_a_azure_sql_infrastructure.md))
- Secure application database connection with environment variables ([lab_8_b_secure_app_connection.md](week8/lab_8_b_secure_app_connection.md))
- CI/CD pipeline with automated database schema management ([lab_8_c_cicd_database_automation.md](week8/lab_8_c_cicd_database_automation.md))
- **Group Project:** Sprint 3 - Database integration and data persistence [tracking: sprint-3-data]
- **📋 Important:** Begin Sprint 3 with full-stack data persistence and automated deployments

Week 9: Security & DevOps Best Practices

Implement DevSecOps practices using Key Vault, Managed Identity, and secure pipelines:

**Labs:**
- Azure Key Vault setup and secret management with ARM templates ([lab_9_a_azure_key_vault_setup.md](week9/lab_9_a_azure_key_vault_setup.md))
- Managed Identity for secure app-to-database connection ([lab_9_b_managed_identity_integration.md](week9/lab_9_b_managed_identity_integration.md))
- CodeQL security analysis and Dependabot integration ([lab_9_c_codeql_dependabot_security.md](week9/lab_9_c_codeql_dependabot_security.md))
- ARM template security hardening and compliance ([lab_9_c_arm_security_hardening.md](week9/lab_9_c_arm_security_hardening.md))
- **Group Project:** Sprint 3 - Security implementation and DevSecOps automation [tracking: sprint-3-security]
- **📋 Important:** Harden application security and implement automated security scanning

Week 10: Capstone Project: Final Delivery & Presentation

Complete capstone project with full-stack application, security, and DevOps automation:

**Deliverables:**
- **Final Application:** Production-ready full-stack group application with indiviual service APIs + datbases
- **Application Stack:** `Your Choice of programming languages` to develop the application. (Group + Individual)
- **Deployment Platform:** Production-ready app deployed to App Service or AKS with Hlem
- **Infrastructure Provisioning**: Create Azure resources using CLI and ARM templates
- **Security Implementation:** Key Vault, Managed Identity, and secure pipelines
- **DevOps Automation:** Complete CI/CD with unit testing, continous deployment, security scanning (CodeQL + Dependabot)
- **Documentation:** Comprehensive README, API docs, copilot prompts, system architecture and deployment guides
- **Presentation:** Live demo and technical presentation
- **Group Project:** Sprint 3 completion and final app release v3 [tracking: final-release-v3]
- **📋 Important:** Final GitHub Projects showcase with complete development lifecycle

---

✅ Each lab folder contains `.md` walkthroughs with both Portal and CLI steps, supporting files, and validation instructions. Continue learning by customizing labs with your own workloads!