Information on our design approach


  • What's behind the scenes?
  • Which frameworks do we use and why?
  • I want to contribute! Where can I start?

We want to answer these questions and also the most important question in life: where to grab the next (irish) coffee :P



Client-Server Architecture

We've settled on the Client-Server Architecture for our whole project. Trying to do something cool, we've exchanged the roles of each other ... just kidding ;)

WebApp


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.

Server


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!

Buzzwords


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! ;)


Our Frontend

A WebApp thats so freacking state of the art and runs on every device!

super cool picture

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 ;)


Microservices

Cutting edge technology, cool programming language, frameworks that are worth a second glance and interesting functionalities

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.


You want to contribute?

Spend me a beer and some fries and your in ;) - just kiddding :P

Everything we do is hosted on Github. Regardless of whether you're intersted in how we've solved some tricky problems or you wanna fix all these (non existent :P) bugs: just have a look!

Even when your not one of those geeky programmers, you can have a look at all this interesting stuff like diagrams, a commit log, our wiki and our issure tracker

Let's go to Github

Since we're developing WebApps and WebServices, we always need someone who's interested in driving things further. Do you wanna extend our software, implement this super cool new concept or fix a bug? Don't by shy - we're not biting;)

We're always on the search for interested students that want to do their Bachelor's or Master's Thesis by contributing to our project. Don't hesitate to ask!
Send us an email

You've got a super cool idea on how to redesign a component or your interested in spreading the word? Perfect! We look forward to get suggestions, poster proposals, icons and much more =)

Well, I don't really know what to say in this case, so I'm answering the biggest question of all times: You can grab a nice irish coffee at our favored pub - the KilliWilly
KilliWilly

Persons of Contact

Ali Khalili

Frontend Service
Architecture Lead

Roy Meissner

Microservices
Continuous Lifecylce

Benjamin Wulff

Tetris Buddhist
Scrum Master