Mit Google Docs veröffentlicht
PDF Editor SE report
Automatisch alle 5 Minuten aktualisiert

Software Requirements

Specification

for

PDF-Editor

Version 1.0 approved, Production

Prepared by Dipankar Das

09-10-2022 (LAST UPDATED)

https://pdf-web-editor.azurewebsites.net/

Table of Contents

Changelog        3

Introduction        4

Purpose        4

Project Scope        4

Intended Audience and reading suggestions        4

Illustrations        4

Detailed Network traffic *        5

Control Flow diagram of the “Merger”        5

Control Flow diagram of the “Rotator”        6

CI/CD Workflow diagram        6

Functional Requirements        6

1. Merge 2 PDFs        6

1.1 Open your browser        6

1.2 Go to the Merger page        6

1.3 Attaches PDFs        7

2. Rotate PDF        7

2.1 Open your browser        7

2.2 Go to Rotator page        7

2.3 Select a PDF        7

Non-Functional Requirements        7

1. Platform        7

2. Web-Support        7

3. Security        8

4. Availability        8

Data Flow Diagram (DFD)        8

Constraints        9

Life Cycle Model used        9

Agile SDLC        9

Current Used Technologies        9


Changelog

Name

Date

Remarks

Status

Version

Init build

01/4/22

  • Ability to Merge 2 PDFs
  • can also download the Merged PDF for docker image: `dipugodocker/pdf-editor:0.1v`

0.1v

Simple web app with frontend and backend

26/4/22

  • Test cases, simple frontend provided
  • Added K8s, Terraform, ArgoCD, Helm, Kustomize, Docker-compose

0.5v

Microservice arch. achieved

7/6/22

  • Divided frontend and backend into separate docker container
  • Added monitoring tools

0.6v

New UI/UX for Frontend

21/7/22

  • Express js with bootstrap for Frontend
  • Unexposed the backend

0.7v

UX Overhaul

27/8/22

  • Added options for rotating the PDF
  • Minimum steps to merged pdf
  • Removed the need to manually clear data
  • Modern UX

0.8v

Observability Improvement

9/10/22

  • Added Skaffold for improved development velocity
  • Enhanced the source code
  • Metrics addition to all the containers

🚀

1.0v


Introduction

Purpose

PDF-Editor is meant to Edit PDFs* in a fast and easy way possible, bypassing any unnecessary steps that may delay the user’s experience.

* Currently only the Merge and Rotate feature is provided

Project Scope

To provide a web-based application having day-to-day pdf tools like merging, rotation, and more. It eliminates the need for installing applications on your computer, thus it works on any device be it mobile or laptop.

This project also helps in understanding microservice applications and how they communicate with each other in Docker and Kubernetes.

Github Repo link

Intended Audience and reading suggestions

It is useful for the analyst(s) and programmer(s) that will write and subsequently implement the requirements stated on this file, as well as to people that may happen to join the team midway development.

Illustrations

Detailed Network traffic *

* subjected to change

Control Flow diagram of the “Merger”

Control Flow diagram of the “Rotator”

CI/CD Workflow diagram

Functional Requirements

  1. Merge 2 PDFs

1.1 Open your browser

        1.2 Go to the Merger page

1.3 Attaches PDFs

  1. Rotate PDF

2.1 Open your browser

2.2 Go to Rotator page

        2.3 Select a PDF

Non-Functional Requirements

  1. Platform

  1. Web-Support

It is available in all modern web browsers (Chrome, Brave, Firefox)

  1. Security

No PDF(s) of one user be made available to another user (s)

  1. Availability

Cold starts can take time for the website to load, once up and running it should have < 1s response time

Data Flow Diagram (DFD)


Constraints

Life Cycle Model used

Agile SDLC

Code using Go and Javascript

Test using Jest and go standard library

Hosting Azure Web apps, AWS EC2 server

Continuous Testing, Integration, Staging and deployment using canary rollouts

Development Cycle = approx 1-month

Current Used Technologies