mvdicarlo / postybirb-plus

Remake of PostyBirb using React and NestJS
BSD 3-Clause "New" or "Revised" License
100 stars 26 forks source link

PostyBirb+

A rewrite of the desktop application PostyBirb using TypeScript, NestJS, React, and Electron.

Commons

Shared interfaces, models, etc. between the UI and Backend

Electron-App (backend)

ElectronJS + NestJs that handles running the local server and the desktop application itself. This is where all posting magic happens.

UI

React code that handles UI of the application displayed in the desktop application.

Configuring for local development

To set up a local copy of PostyBirb for development:

  1. clone this repository and cd into it.
  2. npm run contribute to install dependencies in every folder

Please not that if you have node version 16 and above (you can check that by running node -v), you should use NODE_OPTIONS=--openssl-legacy-provider npm run contribute instead

INSTALL TROUBLESHOOTING ### Common If something does not work and you can't determine where error happened (since there is 3 parallel scripts) run `npm run contribute:debug` ### ERR_OSSL_EVP_UNSUPPORTED
Error ``` Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:71:19) at Object.createHash (node:crypto:133:10) at module.exports (ui\node_modules\webpack\lib\util\createHash.js:135:53) at NormalModule._initBuildHash (ui\node_modules\webpack\lib\NormalModule.js:417:16) at ui\node_modules\webpack\lib\NormalModule.js:452:10 at ui\node_modules\webpack\lib\NormalModule.js:323:13 at ui\node_modules\loader-runner\lib\LoaderRunner.js:367:11 at ui\node_modules\loader-runner\lib\LoaderRunner.js:233:18 at context.callback (ui\node_modules\loader-runner\lib\LoaderRunner.js:111:13) at ui\node_modules\babel-loader\lib\index.js:55:103 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' } ```
To fix this error, use `NODE_OPTIONS=--openssl-legacy-provider` before any npm command.

Start

npm run start

Building

To build production vesrion of the PostyBirb, use the following:

npm run build

Please not that if you have node version 16 and above (you can check that by running node -v), you should use NODE_OPTIONS=--openssl-legacy-provider npm run build instead

And then, depending on your build target, use this command:

cd electron-app && yarn run release:windows
cd electron-app && yarn run release:linux
cd electron-app && yarn run release:osx

Contribution Guide

Pending

If you are interested in adding features or websites to the application, please let me know.

PR branch is develop.

Dont forget to npm run test --prefix electron-app before pull

Also run npm run codestyle if you haven't installed eslint and prettier extensions!