Barcode to PC server
Useful links
Downloads
- Server: https://barcodetopc.com/#download-server
- Android: https://play.google.com/store/apps/details?id=com.barcodetopc
- iOS: https://itunes.apple.com/app/id1180168368
Repositories
Build status
Setup
- Install the required dependencies:
- Node.js: https://nodejs.org
- RobotJS: https://github.com/octalmage/robotjs#building
- electron-builder: https://github.com/electron-userland/electron-builder/wiki/Multi-Platform-Build#linux
- node_mdns: https://github.com/agnat/node_mdns#installation
- Clone the repository
git clone https://github.com/fttx/barcode-to-pc-server/ cd barcode-to-pc-server npm install
- If you're building on Windows, you may need to install these packages:
- Bonjour SDK for Windows v3.0 (bonjoursdksetup.exe)
- Python 2.7 and Visual C++ Build Environment
- If you're building on macOS, you may need to install these packages:
brew install glib
- If you're building on Linux, you may need to install these packages:
sudo apt-get install -y libx11-dev libxtst-dev libpng-dev zlib1g-dev icnsutils graphicsmagick libavahi-compat-libdnssd-dev && sudo snap install snapcraft --classic
- If you're building on Windows, you may need to install these packages:
Release
npm run dist # build the angular project in prod mode and generate the app install files for the current platform, works with Windows/macOS/Linux. Out dir: dist/dist/
npm run publish # build the angular project in prod mode and generate the app installer for the current platform and uploads it to GitHub releases
npm run publish-l # build the angular project in prod mode, generate the app installer for linux and uploads them to GitHub releases
- To sign the installers follow the electron-builder code-signing tutorial. TL;DR: set
CSC_LINK
andCSC_KEY_PASSWORD
environment variables. - To enable the publishing to GitHub releases set
GH_TOKEN
environment variable and give all therepo
permissions - The installer will be put in the dist/dist/ folder.
- If you get sass errors run
cd ionic && npm rebuild node-sass --force
Run
- If you're working on the angular project (src):
# npm run build must be called at least once before executing the commands below:
npm start # run electron with dev tools and the webserver with livereload
# use cmd.exe on Windows
- If you're working on the electron/main.ts file:
npm run watch # run the webserver with livereload and also watch the electron/main.ts file
npm run electron:dev # run electron with dev tools or press F5 if you're using VSCode to start debugging
Simulate updates
- Install minio as explained here
- Run
./node_modules/.bin/electron-builder --project ./dist/ -c.compression=store --config.publish.provider=s3 --config.publish.endpoint=http://IP:9000 --config.publish.bucket=test-update
Publishing updates
The server implements electron-update.
To publish an update:
- Draft a new
release on GitHub
and name it
v<new version number>
- Increase the version number of the package.json
- Commit & push the changes
- Add a tag and name it
v<new version number>
- Push the tag
Note: for macOS delete the electron/electron-resources/*.rtf
folder and run: npm run publish
Upon the tag push, travis and appveyor will build and sign the new installers. At this point if all looks good the only thing left to do is to publish the Github release draft.