Skip to content

Commit

Permalink
docs(readme): readme file is updated.
Browse files Browse the repository at this point in the history
  • Loading branch information
Suraj-kumar00 committed Oct 9, 2024
1 parent 5195a9e commit 37d2a7f
Showing 1 changed file with 21 additions and 7 deletions.
28 changes: 21 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,32 @@
![DevOps-URL2QR Project](./Assets/DevOPs-url2qr.png)

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.
A web app that converts a **URL to a QR Code**. The app has three components: `Front-end`, `API` and `Storage`. All 3 components should be hosted in containers utilizing the cloud provider of your choice. The sample application code is provided, your goals is to apply `DevOps practices` like **containerization**, **CI/CD**, **observability** and **monitoring** for the application.

## Goal to implement
- `Front-End Container:` Hosts the website where users can input URLs.
- `API Container:` Handles the QR code generation for given URLs.
- `Storage Container:` Stores the generated QR codes.


## Project Workflow
## DevOps Practices

- **`Docker`**: Used for containerizing the front-end (Next.js) and API (FastAPI) to ensure consistent deployment across environments.

- **`GitHub Actions`**: Implements CI/CD pipelines to automate the deployment of containers when source code changes occur.

- **`Terraform`**: Manages and provisions cloud infrastructure, specifically creating a Kubernetes cluster using Infrastructure as Code (IaC).

- **`Kubernetes`**: Orchestrates the deployment and management of containerized applications, ensuring scalability and high availability.

## Application
- **`AWS S3`**: Provides secure storage for generated QR codes, allowing for persistent data storage and easy accessibility.

**Front-End** - A web application where users can submit URLs.
- **`Amazon CloudWatch`**: Monitors container metrics, providing insights for performance and operational monitoring.

- **`Grafana`**: Enhances observability by visualizing metrics collected from the application, aiding in performance monitoring and troubleshooting.


## Project Workflow
![CICD Pipeline]()

**API**: API that receives URLs and generates QR codes. The API stores the QR codes in cloud storage(AWS S3 Bucket).

## Running locally

Expand Down

0 comments on commit 37d2a7f

Please sign in to comment.