Skip to content

A comprehensive DevOps project featuring a FastAPI-based QR Code generator API, a NextJS frontend, and an Azure-powered infrastructure provisioned with Terraform and deployed via Azure Kubernetes Services (AKS) with automated CI/CD Pipeline.

License

Notifications You must be signed in to change notification settings

Heeyaichen/azure-qr-code-devOps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QR Code DevOps Platform

This is the sample application for the DevOps Capstone Project. It generates QR Codes for the provided URL, the front-end is in NextJS and the API is written in Python using FastAPI.

This project is a modified version of the original work by Rishab Kumar, updated to use Azure cloud services.

Image

Application

Front-End - A web application where users can submit URLs.

API: API that receives URLs and generates QR codes. The API stores the QR codes in cloud storage.

Running locally

API

The API code exists in the api directory. You can run the API server locally:

  • Clone this repo
  • Make sure you are in the api directory
  • Create a virtualenv by typing in the following command: python -m venv .venv
  • Install the required packages: pip install -r requirements.txt
  • Create a .env file, and add you AWS Access and Secret key, check .env.example
  • Also, change the BUCKET_NAME to your S3 bucket name in main.py
  • Run the API server: uvicorn main:app --reload
  • Your API Server should be running on port http://localhost:8000

Front-end

The front-end code exits in the front-end-nextjs directory. You can run the front-end server locally:

  • Clone this repo
  • Make sure you are in the front-end-nextjs directory
  • Install the dependencies: npm install
  • Run the NextJS Server: npm run dev
  • Your Front-end Server should be running on http://localhost:3000

Goal

The goal is to get hands-on with DevOps practices like Containerization, CICD and monitoring.

Look at the capstone project for more detials.

Original Author

The base project was created by Rishab Kumar

Modifications

This version includes:

  • Migration from AWS S3 to Azure Blob Storage.
  • Updated instructions for local development with Azure integration.
  • CI/CD workflows for handling Docker image builds, infrastructure provisioning via Terraform, and application deployment to AKS.

Deployment Steps

  1. Backend (FastAPI)

    • For detailed instructions on running the API locally or deploying it, please refer to the API Module README.
  2. Frontend (Next.js)

  3. Infrastructure

    • Provision the necessary Azure resources (e.g., Storage Account, AKS) using Terraform by following the steps in the Infrastructure Module README.
  4. Kubernetes Deployment

    • After verifying your resource deployments in the Azure Portal, continue with the Kubernetes deployment as described in the K8s Module README.
  5. CI/CD

    • For detailed instructions on the automated pipelines—including Docker builds, Terraform provisioning, and Kubernetes deployments—please refer to the CI/CD GitHub Actions Workflows README.

License

MIT

About

A comprehensive DevOps project featuring a FastAPI-based QR Code generator API, a NextJS frontend, and an Azure-powered infrastructure provisioned with Terraform and deployed via Azure Kubernetes Services (AKS) with automated CI/CD Pipeline.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published