Electron desktop application for an awesome open-hardware platform. Made with love 💜
This project is a reimplementation of the PSLab Desktop orginally developed using the python stack. As of now, we are working on replicating features of the android app one by one.
The goal of PSLab is to create an Open Source hardware device (open on all layers) that can be used for experiments by teachers, students and citizen scientists. Our tiny pocket lab provides an array of sensors for doing science and engineering experiments. It provides functions of numerous measurement devices including an oscilloscope, a waveform generator, a frequency counter, a programmable voltage, current source and as a data logger.
We are developing the experiments starting on the hardware to libraries and user interfaces for desktop PCs and Android apps for smartphones. The PSLab project is inspired by the work of the Open Science Hardware community and the ExpEYES project. Our website is at: https://pslab.io
Please join us on the following channels:
In order to contribute, we would recommend you to first read the community guidelines as stated by FOSSASIA.
- Fork the project to get a copy of the repository in your github profile.
- Clone the copied project from your profile ( Not the original repository from FOSSASIA ).
cd
into your project folder.git remote add upstream https://github.com/fossasia/pslab-desktop.git
This command will set up the upsteam link.
While in your project folder
npm install
This command will install all the necessary dependencies required by the electron app to run.
As this app uses the PSL library under the hood for device communication, you'll have to install it as well. The instructions to install it are provided here. After installation of PSL make sure you can property import it in Python3. Run the following command in your bash shell.
python3
>>> from PSL import sciencelab
If this command runs without throwing an error, then we are good to go.
Everything command to start and debug the app are writen in package.json. To simply get it running run the following command while in your project repository.
npm start
And wait for the electron shell to open. Happy coding! 🔥
Currently the build pipeline spits a debian and a snap file that can be installed on any debian based distro
While in the project root
npm run build-linux
While in the project root
npm run build-windows
This command will produce a build and a dist directory inside the project folder. The build folder contains the optimized react files, while the dist folder contains the final electron installers.
While in the project root
npm run build
This will generate installers both for linux and windows in one step.
To pulish the app on snap store, follow the steps mentioned in the link https://docs.snapcraft.io/releasing-your-app
The install branch of the PSLab-Desktop repository hosts all the installers that we support for different desktop platforms.
The stable installers are generated and updated on a weekly basis and are created from the master branch automatically.
The development installers are generated and updated on every PR merge on development branch. These installers are used for testing purpose.
Based on your preference, you can either install the app directly from the debian file produced in the previous step or from online servers.
The debian file thus produced can be installed from the command line using
sudo dpkg -i <deb-file-name>
For testing purpose, you can install the snap package generated by the above command using:
sudo snap install --dangerous --classic <snap-package-name>