Help with my idea, which stack?

Hello everyone, english isn’t my native, but I hope I explained it well.

Story
So last week I saw this app in the cafe near my home. It’s a browser app, like cashier things where you have to login, input menu, make a transaction, calculate, and print. They use html, css, js, php, sql, and xampp (I ask the owner).

Since it use xampp, I believe you don’t have connect to the internet to use it. Just type localhost:something/app in the browser I assume.

The owner said “I just set the xampp on startup to start automatically whenever the computer is on, and I make a shortcut for this localhost in the desktop and voila! Everyone with basic computer knowledge can use it”

My own similiar app?
And then I decide to make my own cashier app, with the ability just one click and you’re ready to go.

I have some knowledge on React, Express, REST API, xampp and Sequelize for sql, so I decide to use javascript since I don’t know php.

But my question is, how to make this app “just one click and ready to go?” since you have to type npm start (for React) and node server (for Express) to run it.

Then I was thinking “Well, I deploy the React to netlify or similiar, set the xampp to autostart, and maybe there’s a package to make node server run whenever the app is on and voila!”

Seems easy until I have a thought:

  • Could it run without the internet? cause this is a priority!
  • Could it run with just Single Click?
  • What if the backend don’t connect with the front?
  • And more nested what if

So I assume you guys understand with my idea, a browser app similliar to that restaurant but with better stack I guess.

Please help, what should I do? Suggestion, critize, or anything would help :smiley:

Thanks for spend your time on my post

This sounds like a custom web app that is setup to be ran by a local web-server which obviously requires the web-server to be setup on startup of the local machine.

The alternative I’d suggest is using something like Electron to make it a desktop app. Examples would be Discord, VSCode, Atom. You can basically make any desktop app using it, while still relying on web technologies.

You’d end up still using React, and can use Sequalize for a locally bundled/installed database. I personally would “simplify” the stack for the needs of the project, rather than forcing the needs of the project onto the stack your most familiar with. Its possible you could just use SQLITE to keep track of the transactions, or even just a raw JSON file (!) due to the fact there isn’t any need to scale. I’d understand what is being kept track of first before considering which database would meet the current and future requirements.

Going further the entire “web stack” isn’t really needed for the same reason, you don’t need to scale. Keep it simple, easier to use and maintain.

Finally, leveraging Electron means you don’t need to deal with hosting and can provide a “single executable” application to work with, while still being able to leverage web technologies to actually build the app. This means upkeep is essentially a 0 cost factor, permitting this really is a fully local application without any online components.

You have a point, this app doesn’t have a high scale.

I heard electron before, I think I should use it.

Btw, thank you for your help. I think this is really a good simple but effective stack.

Better to keep things simple yet effective!

Sounds like a fun and interesting project, let us know how it goes if you do end up doing it!

Good luck, keep learning, and keep building!

1 Like