Avatar of subz390

subz390

Developer
Developer ·
Needs advice
on
ElectronElectronNode.jsNode.js
and
Raspberry PiRaspberry Pi

Kiosk App on Raspberry Pi

  • I have a personal project that I'm developing into a Kiosk app and am considering deploying it on a RaspberryPi as a semi-portable controller user interface.
  • I'm new to RaspberryPi, I know my way around Debian though, and so I've researched a few Electron tutorials on using Electron on a RaspberryPI and they seem to be what I'm looking for.
  • However, I'd love to hear your comments and suggestions in working with Electron on the RaspberryPi, in particular in Kiosk with a touchscreen for user input.
  • What's the performance like, are there memory constraints, any reliability issues I should be aware of?
  • Once the project is at a working stage I plan to open source it on my GitHub for further input and development.
  • I'm a long term JavaScript developer (since the late 90's for real I was there when JS was first released, unashamed Vanilla.JS fanboi)
  • I write for the browser and server backend environments using Web technologies and Node.js.
READ MORE
7 upvotes·49.4K views
Replies (2)
Owner at dreizehnelf - IT Beratung·

Hey subz390,

I think the Raspberry will fit your bill just fine. What I'm not really clear about is why you'd want to use Electron for the Kiosk App. Electron itself bundles a browser which then executes a web application - so in essence I do think you should be able to totally ditch Electron and just load up your web application in a browser (i.e. Firefox) in Kiosk mode. That could save you some complexity in your stack and maybe even some resources.

READ MORE
8 upvotes·1 comment·15.1K views
subz390
subz390
·
January 12th 2022 at 12:23PM

thanks for the feedback, it would be possible to do what I'm doing in a web page and bundle it in a PWA with `display: standalone` and then run the nodejs server as a separate process.

·
Reply
Developer ·
Recommends
on
JavaScriptJavaScript
in

I think with anything related to personal development is about comfort zone management. Being too comfortable one can feel bored, too outside ones comfort zone one may feel out of their depth. I'm sure there's more to this down the rabbit hole of psychology. However I found learning about motivation and striking the right balance of extending myself has truly helped keep me pushing forward at a steady pace. In the end do projects that are motivate you whilst incorporating learning as you go. So pick a project that you know is possible, that you can achieve if you put the work and effort in, and that the outcome of it will be as you expect. I think even the perfectionist in you will find that satisfying.

READ MORE
6 upvotes·42.2K views
Developer ·

The way I'd approach this is to carry out a survey. Prioritise a list of important criteria, such as performance, functionality, and cost. For example with MongoDB you can archive documents if the data not immediately required to save on costs at the expense of instant access, but if that fits your use case model then you can use that feature. So create a use case test project that actually uses both services as per your use case and see for yourself the results of the tests. Along the way you'll encounter issues perculiar to each platform that you can factor into your final decision, such as comparing how easy it is to use their API, or that the documentation is sparce or confusing. From there you'll have an informed decision and you'll be confident investing further resources into it.

READ MORE
5 upvotes·1 comment·26.1K views
reidmorrison
reidmorrison
·
January 9th 2022 at 5:20PM

If you use Amazon DocumentDB instead of DynamoDB, it is compatible with the MongoDB API. That will keep your code cloud agnostic and you have option of switching between DynamoDB and MongoDB in the future based on whichever ends up being cheapest to run.

·
Reply
Developer ·

I don't think there's a decision to be made, aren't they different products and services? GitHub is traditionally an online repository based around Git versioning. GitHub have expanded into other things since Microsoft came in though. Nevertheless I recommend seriously taking the time to work through the very steep learning curve of setting up a local development environment. You could start by using Visual Studio Code and get a free GitHub account to push your private projects onto. If anything it'll be a free offsite backup of your work. You'll need to install Git to take care of your local repository as well as NPM and also look at Yarn. Have this on your priority list, do some research, gather links, tutorials, downloads etc and take a week out to get it done when you feel you're at the stage where you'd like to be more organised. You could start by trying VSCode see whether you like the features and using it as an editor. Look at other editors and so on.

READ MORE
4 upvotes·558 views