Where and how to host my electron app online server for diffrent users

please i have an electron app and i would like to host an online server so that different users can use one database.my app is a school management system and i want all the the accountants in the school to store the records on one database not on a localhost…

So you likely want a database-backed application that allows HTTP requests. This is separate to your app, that is just a client that can make HTTP requests to the server.

You can build this yourself using any programming language, and every language provides frameworks (for example, Express + packages to talk to the DB for NodeJS, Ruby on Rails for Ruby, Flask or Django for Python, etc etc). But that involves quite a lot of knowledge and work.

The advantage is that you can do this for free, and if it is contained within the school network, it can just live there, it doesn’t need to talk to the outside world.

Without that knowledge, a hosted solution could be free-to-very-cheap if there isn’t a huge amount of data. This is still not completely simple if you’re coming at it with no experience. But it means that you just need to learn to set up and configure a service (normally via a web UI). Just to emphasise, if you use a service, it will probably have a free tier that will let you get everything up and running at no cost. But you need to be really careful about not exceeding the limits because the costs can spiral fast.

Examples:

Microsoft:

Google:

Amazon:

SQL as a service:

Multiple options, for example https://www.elephantsql.com/

PostgREST (application that wraps a Postgres instance into a REST API):

http://postgrest.org/en/v5.2/index.html

etc etc etc

To that list I would add Hasura that gives you a GraphQL server based on a Heroku Postgres instance.

Please can you give me some more tips and please stop using jargons .I am newbie in software development

You need a place to store data, and that place has to be accessible across a network. Your app should be able to make requests for data from that place.

The easiest way to do this is to put a database on a computer on the network, and have anyone on a computer on the network have access to it. In its basic form this is not very safe. So normally there is some layer over the top to stop people getting directly at the database.

A common way to do this is to have a webserver, and the clients make HTTP requests to that webserver, like http://my-db-service-i-built.com/getsomestuff. The application hosted on that server then talks to the database, gets what has been asked for, and sends it back.

You can write this yourself, but I don’t think you have the knowledge to do so.

So instead, you can use a database and server application that is already built for you. So you store the data on someone elses computer, and they have applications that sit in front of the database that you can make requests to to get that data. That “someone else” is commonly a company like Google or Amazon or Microsoft. You sign up to one of their data storage (database) services, and you can upload data. And then you can access that data by making HTTP requests to them from your app.

1 Like