Post

electron-media-compressor

Overview

A lightweight, desktop app built with Electron to compress media files (images, videos, etc). Multiple media files can be selected & compressed. Output files are currently stored in the local filesystem and the user can view the content via the app.

The application utilizes native desktop OS capabilities (file dialog, native file viewer). The frontend of the app is built using ReactJS. The main process handling is performed using NodeJS

Desktop View

Architecture

App flow

Packaging & Distribution

Electron Forge is the all-in-one tool used for packaging and distributing across multiple platforms.

Packaging

1
2
3
4
5
6
7
8
9
"scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "package-win": "electron-forge package --platform=win32",
    "make": "electron-forge make",
    "make-win": "electron-forge make --platform=win32",
    "publish": "electron-forge publish",
    "publish-win": "electron-forge publish --platform=win32"
}
1
$ npm run make

Publishing

1
$ npm run publish

Electron Showcase

https://www.electronjs.org/apps

This post is licensed under CC BY 4.0 by the author.