Server side source code

Will the server side source code be available too?
What language is being used for that part?

Not in the short time. However it will be available soon as a Docker container so anyone can deploy its own server on the cloud, a Raspberry Pi, etc.

Regarding the server characteristics, there is a short description here:

The server is built from scratch using state of the art C++ 11, and multi-threading asynchronous programming techniques to maximize performance of servers.

Some libraries used to build the server core:

  • Boost: Used mainly for the asynchronous features, shared pointers, etc.
  • Jemalloc: Used for improve the memory stability of the server on the long-time run.
  • Crypto++: Used for computing hash, hmac_sha_256, pbkdf2_sha256, etc.
  • OpenSSL: To provide HTTPS connections with the server, both for the HTTP and devices interfaces.
  • Maxmind: For geo-referencing connected devices

Do you have any documentation on what the server is doing?

I´m a c# programmer, and I was thinking in implementing the server in c#. Maybe there’s no need, if the current server allows accessing everything through webapi calls.

I would also like to build a custom website to configure and automate my devices. but for that I need access to the server, or to build one myself.

What are your thoughts on this?

Hi @nahueltaibo, the current server supports webapi calls. Moreover, the whole thinger.io console is sending REST API calls for the whole operation. It is like a client you can make in C#, as the server is not rendering any single page you see. It only provides the information through API Calls.

Although the REST API Calls are not documented yet, it is quite easy to get them through the Google Chrome (or similar) Javascript console. In the network side you can filter all the api calls that are made to “api.thinger.io” and see the whole process, from logging to token refreshing, accesing devices, websockets for real-time data, etc.

If you finally decide to build a client, let me know more details, so I can help you with the calls.

Building a server from scratch is a quite consuming task, and if you want to make it compatible with the current Arduino libraries, or the current console version, it will require too much effort as you must make the server for devices compatible with protoson, the REST server for API calls, handle websocket connections to drive real-time data, database connection to store any persistant information, and so on. There is too much work there!

I cant wait to host the server on my machine :slight_smile:

1 Like

Hope it is not further delayed more than the current month! It is hard to make the server configurable and ship everything in a single Docker container!

hola como va el tema de la nube ,mira esta plataforma por si te puede valer https://www.openshift.com/container-platform/index.html

I still look forward to host the Thinger on my server :slight_smile:

I have this quite advanced now. I am building debian packages so the server core can be installed using apt-get commands in ubuntu or debian. Also I am testing docker containers and everything seems to be working fine. However there is too much work I did not expected, like configuration files, debian repositories, logging features, default configuration, documentation, and so on! It should be available during September. I promise!

2 Likes

good ,good.:cold_sweat::scream:

looking forward to test the server thing in ra Pi , thanks

are the docket container released so that we can host the server on our data center…or RPi :slight_smile:

We are waiting till September - one day more you are in trouble :stuck_out_tongue:

Hi
I’m also interested in hosting a local server, how’s it coming along with the docker container?
Kind regards
Jimmy

Hey! still waiting for the server side docker. Its really one of the major thing why people are preferring other open source platforms over thinger.

Totally agree, I stopped using thinger just because of this.

You can be sure that I am doing my best to provide the server core as docker and snap packages for x64 and ARM (like Rpi). But it is not easy to migrate a server that is currently running in the Cloud to a standalone server. Anyway, people is always asking, but never contribute posting projects, improving docs, libraries, Android code… All of this takes time, so, please, be patience, it will arrive quite soon.

1 Like

I clearly see your point alvarolb :slight_smile:

This is a classic chicken or the egg situation, where you want people to contribute, but people are reluctant to do so because they have no guarantee the source code will be available.

I can only speak for myself of course, but I rather use a more poorly designed open source project than thinger at the moment, because I know that I can’t wait for a selected few developers to add new features to Thinger.

I think you would see much more activity in here, in regards to code as well as documentation and especially projects if source code were released.

Thats just my 2 cents :slight_smile: Hope no one was offended and I have to complement the work you have done so far!

Kristian

Any update to the release of the Server core on a docker container?

Take a look on that:

http://docs.thinger.io/deployment/

It has less than an hour!! :wink:

1 Like