Slidewiki is basically a web-application built with HTML, CSS and Javascript. Because there are so many cool developers and frameworks out there, we were able to develop a userfriendly and modern UI that can be simply customized to the ground.
We're using React for our frontend, Fluxible as our programming paradigma and NodeJS as our base technology layer. Most jobs are executed at your machine - the client - and we're running a whole system of microservices to keep you consistent and up to date.
Several microservices are running on our distributed server system, all written in Javascript on top of NodeJS. We're using the Hapi Framework to build battle tested services in conjunction with state of the art software of the node community, like Joi and Swagger. All our services expose a HTTP-Rest API, that can deliver and consume JSON formatted data.
Our main server system is located in germany at the Fraunhofer Institute for Applied Information Technology (FIT). Thanks for that!
We're using an isomorphic programming paradigma that was developed at Facebook and called Fluxible to handle capable as well as not so capable (or lets call them dumb) clients. It's mainly a conjunction of Facebooks React framework and Facebooks Flux data flow paradigma, baked together into one Framework.
On the other side, we're using microservices that were developed on top of an agile process. These services are combined with Continuous Integration and Delivery/Deployment to focus our devs on what's important: coffee and beer! ;)
Like I said a little earlier, our frontend builds up on Fluxible and NodeJS. So it's basically a responsive Web-Application that runs in your browser, but can also be rendered on serverside. In conjunction to these base technolgies we're using a whole stack of third party libraries to enable our users to display and edit slides, to communicate with each other, to import different data types and much more.
The most computations are executed inside your browser, so we're able to use your computing power. More complex tasks are delegated to a system of microservices, that were enslaved by us. We've captured these in wilderness and trained them *that was hard work* to support you in each and every situation...well, at least when using our platform ;)
We're running a service that builds the latest version of our UI just for you! It's also the part where all the isomorphic stuff comes together. After your client (like your browser) has recieved the WebApp, your client will talk (gently!) to all these fantastic microservices that are running inside this ominous cloud (beware on rainy weather :P). All our services are backed by a capable Nginx Reverse-Proxy server, that imitates a central service API, composed of all these individual services.
We're using Docker for virtualisation, NewRelic as our monitoring solution and Snap-CI to perform Continouos Integration and Delivery/Deployment. Everythings running on virtual machines that are using tux super powers ;)
Since we're an Open-Source project, every little piece of code we've written is licensed by MPL 2.0 and is accessible at Github.