A simple web application built with React and Chakra UI to generate QR codes easily. This project demonstrates two different deployment strategies: one using GitHub Actions (monolithic pipeline) and another using Jenkins (CI/CD with Docker and AWS ECS).
- Generate QR codes instantly
- Customize QR code colors
- Download QR codes as images
- Responsive UI with Chakra UI
This repository contains two branches, each showcasing a different deployment strategy:
- Deployment Strategy: CI/CD pipeline using GitHub Actions.
- Pipeline Steps:
- CI: Build and test the application.
- CD: Deploy to Amazon S3 and update Elastic Beanstalk.
- Tools Used:
- GitHub Actions for CI/CD
- AWS S3 for static hosting
- AWS Elastic Beanstalk for deployment
Branch Purpose: Ideal for users who prefer a straightforward, GitHub-native CI/CD pipeline.
- Deployment Strategy: CI/CD pipeline using Jenkins.
- Pipeline Steps:
- CI: Build and test the application.
- CD: Push the Docker image to Docker Hub and update AWS ECS (task and service).
- Tools Used:
- Jenkins for CI/CD
- Docker for containerization
- Docker Hub for image storage
- AWS ECS for container orchestration
Branch Purpose: Ideal for users who prefer a Jenkins-based CI/CD pipeline with Docker and AWS ECS.
-
Clone the Repository:
git clone https://github.com/your-repo/qr-code-generator.git cd qr-code-generator -
Switch to the Desired Branch:
- For the GitHub Actions deployment strategy:
git checkout monolithic
- For the Jenkins deployment strategy:
git checkout jenkins-deploy
- For the GitHub Actions deployment strategy:
-
Install Dependencies:
cd frontend npm install -
Run the Application Locally:
npm start
-
Build the Application:
npm run build
qr-code-generator/
├── frontend/ # Frontend code for the QR Code Generator
│ ├── src/ # Source files for the application
│ ├── Dockerfile # Dockerfile for building the frontend image
Contributions are welcome! If you find any issues or have suggestions for improvements, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
