Add initial sections/content on our technology stack

parent 29102d2e
+++
title = "Technology Stack"
weight = "10"
+++
Indienet Engine is an implementation of the ActivityPub [protocol](protocol/) written in the JavaScript (ES6) [language](language/). It runs on a Node.js [server](server/) and is built using the FeathersJS [framework](framework/) and a RethinkDB [database](database/). It exposes websocket and REST [interfaces](interfaces/) and implements publickey and JWT [authentication](authentication/).
The overriding design goal of Indienet Engine is to be a basic foundational component for creating federated apps and sites for individual use. As such, we want it to be as accessible and loosely-coupled as possible. Our technology choices attempt to reflect these goals.
{{% children %}}
+++
title = "Authentication"
weight = "30"
+++
## Publickey authentication
## JWT
+++
title = "Database"
weight = "70"
+++
## RethinkDB
+++
title = "Framework"
weight = "60"
+++
## FeathersJS
+++
title = "Interfaces"
weight = "20"
+++
## WebSocket
## REST
+++
title = "Language"
weight = "40"
+++
## JavaScript (ES6)
JavaScript is the language of the web.
Knowledge of JavaScript is a core skill that any modern developer should (and probably does) have in their toolset. We have chosen JavaScript as the language of our implementation of Engine.
However, since the goal of the Indienet Engine is to be as accessible as possible, we actively support ports to other languages.
+++
title = "Protocol"
weight = "10"
+++
## ActivityPub
[ActivityPub](https://www.w3.org/TR/activitypub/) is a W3C Proposed Recommendation as of 5 December, 2017:
“The ActivityPub protocol is a decentralized social networking protocol based upon the [ActivityStreams 2.0](https://www.w3.org/TR/activitystreams-core/) data format. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content.” – [W3C](https://www.w3.org/TR/activitypub/#abstract)
ActivityPub is already implemented in the popular federated microblogging platform Mastodon.
As of the time of this writing, Mastodon alone had over 1M active accounts spread across 1,000 active instances.
<iframe src="https://lou.lt/@mastodonusercount/99252518927131758/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="600"></iframe><script src="https://lou.lt/embed.js" async="async"></script>
A major goal of our project is to raise the number of ActivityPub instances by at least an order of magnitude as Indienet apps are, by definition, instances of one.
+++
title = "Server"
weight = "50"
+++
## Node.js (LTS)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment