An open API service indexing awesome lists of open source software.

https://github.com/snykk/pymark-frontend

PyMark Watermarking is a web-based application developed to streamline the watermarking process and facilitate automated publishing of watermarked images on Instagram
https://github.com/snykk/pymark-frontend

Last synced: 7 months ago
JSON representation

PyMark Watermarking is a web-based application developed to streamline the watermarking process and facilitate automated publishing of watermarked images on Instagram

Awesome Lists containing this project

README

          

# PyMark Watermarking Frontend

PyMark Watermarking is a web-based application developed to streamline the watermarking process and facilitate automated publishing of watermarked images on Instagram. This project comprises two main features: **File-Sharing** and **Instagram-Publisher**.

## Key Features

### 1. File-Sharing

This feature uses Google Drive as a storage platform for watermarked images and includes the following sub-features:

- **Embedding**: Embeds a watermark image into a host image, producing a watermarked image (BMP), watermark position image (BMP), key matrix (NPY), and a compressed public image (JPG). The system also provides imperceptibility analysis using Peak Signal to Noise Ration and Structural similarity Index Measurement metrics.
- **Extraction**: Extracts the watermark from a watermarked image using the watermark position image (BMP), key matrix (NPY), and optionally conducts robustness analysis using Bit Error Rate and Normalized Cross Correlation metrics.
- **Image Processing**: Provides various image manipulation options such as blurring, Gaussian noise, sharpening, cropping, scaling, and more.
- **Analysis**: Performs imperceptibility analysis using Peak Signal to Noise Ration and Structural similarity Index Measurement, as well as robustness evaluation with Bit Error Rate and Normalized Cross Correlation.
- **My Drive**: Displays watermarked folders stored in Google Drive without requiring users to open the Google Drive application.

### 2. Instagram-Publisher

This feature integrates with the Meta Graph API to allow users to upload watermarked images directly to Instagram.

- **Post Now**: Embeds a watermark into a host image and publishes it on Instagram with a caption, mentions, and hashtags. The embedding result is stored on Google Drive.
- **My Post**: Displays watermarked image folders generated by the "Post Now" feature and stored in Google Drive.

## Technologies

### Frontend Framework and Integration

The PyMark frontend is developed using **Nuxt.js**, a Vue.js-based framework that enables the creation of dynamic, SEO-friendly, and responsive web applications. Nuxt.js supports reusable component structures, streamlining UI development and maintenance.

For backend integration, the frontend utilizes Nuxt.js’s `$fetch` function to securely communicate with the `pymark-backend`, facilitating essential operations such as user authentication, file upload, watermark embedding, and Instagram publishing via API endpoints.

### Authentication

Authentication ensures that only authorized users can access application features:

- **File-Sharing**: JWT tokens are stored in cookies for secure access.
- **Instagram-Publisher**: Authentication is handled through **Facebook Login**, which generates an access token using the Facebook SDK.

## Getting Started

### Setup

Make sure to install the dependencies:

```bash
yarn install
```

### Development Server

Start the development server on `http://localhost:3000`:

```bash
yarn dev
```

### Production

Build the application for production:

```bash
yarn build
```

Locally preview production build:

```bash
yarn preview
```

## License

This project is licensed under the [MIT License](https://github.com/snykk/pymark-frontend/blob/master/LICENSE)

## User Interface

!["Landing Page"](/assets/readme/1.%20Landing%20page.png)

File Sharing

##### File Sharing Index

!["File Sharing Index"](/assets/readme/2.%20File%20sharing%20index.png)

##### File Sharing Registration Form

!["File Sharing Registration Form"](/assets/readme/3.%20File%20sharing%20auth%20regis%20form.png)

##### OTP Verification Form

!["OTP Verification Form"](/assets/readme/4.%20Form%20verifikasi%20OTP.png)

##### File Sharing Login Form

!["File Sharing Login Form"](/assets/readme/5.%20File%20sharing%20auth%20login%20form.png)

##### File Sharing Embedding

!["File Sharing Embedding"](/assets/readme/6.%20File%20sharing%20embedding.png)

##### File Sharing Extraction

!["File Sharing Extraction"](/assets/readme/7.%20File%20sharing%20extraction.png)

##### File Sharing Analysis - Imperceptibility

!["File Sharing Analysis - Imperceptibility"](/assets/readme/8.%20File%20sharing%20analysis%20-%20imperceptibility.png)

##### File Sharing Analysis - Robustness

!["File Sharing Analysis - Robustness"](/assets/readme/9.%20File%20sharing%20analysis%20-%20robustness.png)

##### Image Processing - Salt and Pepper Noise

!["Image Processing - Salt and Pepper Noise"](/assets/readme/10.%20Image%20processing%20-%20salt%20and%20pepper%20noise.png)

##### My Drive Folder List

!["My Drive Folder List"](/assets/readme/11.%20My%20Drive%20folder%20list.png)

##### My Drive Folder Detail (zoom browser 80%)

!["My Drive Folder Detail"](/assets/readme/12.%20My%20Drive%20folder%20detail%20(zoom%20browser%2080%25).png)

Instagram Publisher

##### Instagram Publisher Index

!["Instagram Publisher Index"](/assets/readme/13.%20Instagram%20publisher%20index.png)

##### Instagram Publisher Facebook Dialog

!["Instagram Publisher Facebook Dialog"](/assets/readme/14.%20Instagram%20publisher%20facebook%20dialog.png)

##### Instagram Publisher Post Now

!["Instagram Publisher Post Now"](/assets/readme/15.%20Instagram%20publisher%20post%20now.png)

##### Instagram Publisher My Post Folder List

!["Instagram Publisher My Post Folder List"](/assets/readme/16.%20Instagram%20publisher%20my%20post%20folder%20list.png)

##### Instagram Publisher My Post Folder Detail

!["Instagram Publisher My Post Folder Detail"](/assets/readme/17.%20Instagram%20publisher%20my%20post%20folder%20detail.png)

Additional Features

##### Theme Switcher

!["Theme Switcher"](/assets/readme/18.%20Addition%20feature%20-%20theme%20switcher.png)

##### User Guide in PyMark

!["User Guide in PyMark"](/assets/readme/19.%20Additional%20feature%20-%20There%20is%20user%20guide%20in%20every%20pymark%20feature.png)

##### Loading Animation for Watermarking Process

!["Loading Animation"](/assets/readme/20.%20Additional%20feature%20-%20Loading%20animation%20when%20process%20is%20running%20in%20every%20watermarking%20process.png)

##### Process Result (zoom browser 33%)

!["Process Result Display"](/assets/readme/21.%20Result%20of%20every%20process%20is%20on%20below%20of%20the%20form%20(zoom%20browser%2033%25).png)

##### Toast Popup for Notifications

!["Toast Popup for Notifications"](/assets/readme/22.%20Additional%20feature%20-%20Toast%20popup%20to%20inform%20about%20everything%20that%20happens.png)

##### SweetAlert Dialog for Confirmations

!["SweetAlert Dialog for Confirmations"](/assets/readme/23.%20Additional%20feature%20-%20Sweetaleart%20dialog%20to%20confirm%20about%20every%20crucial%20action.png)