β
PSLab Desktop Electron desktop application for an awesome open-hardware platform. Made with love
![PSLab Banner](https://raw.githubusercontent.com/MaanasVohra/pslab-desktop/development/./docs/images/project_banner.jpg)
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
Communication
Please join us on the following channels:
How to contribute
In order to contribute, we would recommend you to first read the community guidelines as stated by FOSSASIA.
π€
Setup - 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.
βοΈ
Installing development dependencies 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.
β‘
Starting the app ( development ) 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!
Generating production build
Currently the build pipeline spits a debian and a snap file that can be installed on any debian based distro
π°
Build Step for Linux ( Debian bases OS ) While in the project root
npm run build-linux
π°
Build Step for Windows 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.
π°
Build Step for universal platforms 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
Installer files
The install branch of the PSLab-Desktop repository hosts all the installers that we support for different desktop platforms.
Stable
The stable installers are generated and updated on a weekly basis and are created from the master branch automatically.
Development
The development installers are generated and updated on every PR merge on development branch. These installers are used for testing purpose.
Installation
Based on your preference, you can either install the app directly from the debian file produced in the previous step or from online servers.
π§
Install from file ( Linux ) 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>