Skip to content
This repository has been archived by the owner on Jul 16, 2023. It is now read-only.

dipankardas011/PDF-Editor

Repository files navigation

Web-based PDF Editor 🥳

Website that can edit PDF's to give you a Merged or a Rotated version of it

Golang and Docker CI pages-build-deployment Artifact Hub CodeQL [Stable](Backend-merger) Docker Signed Image Release [Stable](Backend-rotate) Docker Signed Image Release [Stable](Frontend) Stable Docker Signed Image Release Datree-policy-Checks ImageScan [Aqua Trivy] Gitpod Ready-to-CodeCircleCI

Note it's no longer being maintained

Software Requirement Specification

Link for entire Documentation about this project

Project Board For Current Status

Jenkins server -> URL

Note

User: guest Pass: 77777

(Available till 15th Sep '22) Due to 💰 had to stop the instance

Stage Tags Links Status
Production 1.0 (Azure Web-Apps) https://pdf-web-editor.azurewebsites.net/, (Okteto) https://frontend-lb-dipankardas011.cloud.okteto.net/
Alpha latest ; 1.0 http://44.209.39.161/

A Humble request! 🙏 don't expoit the resources I have used here

Release Cycle of ~1 Month

Tech Stack

  • GO
  • Docker & Docker-Compose
  • HTML
  • K8s
  • Helm
  • ArgoCD
  • Terraform
  • Flux
  • Prometheus

Website

How to Run

Kustomize install

kubectl apply -k deploy/cluster/backend
kubectl apply -k deploy/cluster/frontend

Helm plugin

Usage

kubectl create ns pdf
helm repo add pdf-editor-web https://dipankardas011.github.io/PDF-Editor/
helm install my-pdf-editor-helm pdf-editor-web/pdf-editor-helm --version 0.1.0

To uninstall the chart:

helm delete my-pdf-editor-helm

From Source Code

cd deploy/cluster/
kubectl create ns pdf
helm install <Release Name> ./pdf-editor-helm
helm uninstall <Release Name> ./pdf-editor-helm

ArgoRollouts

# using Argo-CD to deploy
deploy the path deploy/rollouts
With namespace set to pdf-editor-ns

How to Run

make run

How to Dev

cd src/
skaffold dev

How to Test

# Integration testing
make unit-test
# Integration testing
make integration-test

To View the page visit

http://localhost

Production Cluster (demo)

Civo Dashboard

image

Youtube Video

IMAGE ALT TEXT

Blog Post on this project

Decission Tree

Trace

Frontend -> Backend-Merger

flowchart LR;
    XX[START]:::white--/merger-->web{Website};
    web{Website}-->B{Upload PDF1};
    web{Website}-->C{Upload PDF2};
    DD{Download Link}-->web{Website};

    classDef green color:#022e1f,fill:#00f500;
    classDef red color:#022e1f,fill:#f11111;
    classDef white color:#022e1f,fill:#fff;
    classDef black color:#fff,fill:#000;
    classDef BLUE color:#fff,fill:#00f;

    B--Upload PDF-1-->S[GO Server]:::green;
    C--Upload PDF-2-->S[GO Server]:::green;

    S[GO server]-->DD{Merged PDF available}
    web--/merger/download-->dd{Download};
    dd--->YY[END]:::BLUE;

Frontend -> Backend-Rotator

flowchart LR;
    XX[START]:::white--/rotator-->web{Website};
    web{Website}-->B{Upload PDF};
    web{Website}-->C{Additional Parameters};
    DD{Download Link}-->web{Website};

    classDef green color:#022e1f,fill:#00f500;
    classDef red color:#022e1f,fill:#f11111;
    classDef white color:#022e1f,fill:#fff;
    classDef black color:#fff,fill:#000;
    classDef BLUE color:#fff,fill:#00f;

    B--Upload PDF-->S[GO Server]:::green;
    C--upload Params-->S[GO Server]:::green;

    S[GO server]-->DD{Rotated PDF available}
    web--/rotator/download-->dd{Download};
    dd--->YY[END]:::BLUE;

Changelog link

Code Of Conduct

Contributing Guidelines

Happy Coding 👍🏼🥳

Made with contributors-img.