Skip to content

bconti123/WorkService

Repository files navigation

WorkService

WorkService is a production-ready ASP.NET Core Web API deployed to Azure Container Apps, backed by Azure SQL (serverless), and fully automated with Docker + GitHub Actions CI/CD.

This project demonstrates end-to-end ownership: local development, containerization, cloud deployment, database migrations, secrets management, and automated deployments.


🚀 Deployment (Previously Live)

  • Platform: Azure Container Apps (Consumption)
  • Ingress: External HTTPS
  • Database: Azure SQL Database (Serverless)
  • CI/CD: GitHub Actions (auto deploy on main + manual dispatch)
  • Status: Currently offline to avoid cloud costs

🧱 Tech Stack

  • Backend: ASP.NET Core (.NET)
  • ORM: Entity Framework Core
  • Database: Azure SQL Database (Serverless)
  • Containerization: Docker
  • Registry: Azure Container Registry (ACR)
  • Hosting: Azure Container Apps
  • CI/CD: GitHub Actions
  • Secrets: Azure Container Apps secret references

📁 Project Structure

WorkService/
├── WorkService.Api/
│   ├── Data/
│   │   └── AppDbContext.cs
│   ├── Models/
│   │   └── WorkItem.cs
│   ├── Program.cs
│   └── Dockerfile
├── .github/
│   └── workflows/
│       └── deploy-containerapp.yml
├── WorkService.sln
└── README.md

⚙️ API Endpoints

Health Check

GET /health

Work Items

GET /api/work-items

POST /api/work-items

PATCH /api/work-items/{id}/done

Example POST body:

{
  "title": "My first work item"
}

🔁 Redeploy Instructions

This service can be redeployed by:

  1. Re-enabling Azure resources (SQL + Container App)
  2. Updating secrets in Azure Container Apps
  3. Running the GitHub Actions workflow:
    • deploy-containerapp.yml
    • or pushing to main

The pipeline builds the Docker image, pushes to ACR, and deploys automatically.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors