Contact us

Blog

The latest updates about Superdesk

BACK TO BLOG OVERVIEW

The Architecture of Superdesk

Photo by Flickr user Elvin (CC BY-NC 2.0)
Photo by Flickr user Elvin (CC BY-NC 2.0)

Our Superdesk open source software is built following the REST architectural style, the client is an Angular driven application and the backend is being built using Python 3 and the Flask-based Eve framework.

This post will do a deep dive into the backend side of the current architecture, the client side will be tackled by an upcoming post.

Tech stack

  • Elasticsearch - secondary data storage, enhanced search capabilities
  • Python 3 - provides all the goodies to make developers happy
  • Eve - easy way to define the REST-like API
  • Flask - besides being the backbone for Eve, we use it extensively for creating custom commands
  • MongoDB - main data storage
  • Celery - task distribution, workhorse for background data processing
  • Redis - mainly used for passing data to Celery workers and for task synchronization
  • Autobahn - WebSocket communication handling, main notification mechanism
  • Honcho - manage the running applications

Optional dependencies

  • Docker - custom built images for server and client, easy run&deploy scenarios
  • LogStash - centralised logging

The full list of development dependencies can be found here.

Overview

Overview

 

What's visible at a quick glance is that the current backend infrastructure is composed of three running apps:

  • Celery application sharing a lot of the internal infrastructure of the Eve application
  • Flask/Eve web application running on top of [Gunicorn]
  • WebSocket server to handle client notifications

On the storage side of things, we have:

  • Mongo as the main storage engine
  • Elastic as the main search engine
  • Redis for sending data to and from Celery workers
BACK TO TOP

Related Articles

Superdesk interface

News Tech Should be Open for Business

by Sarah Wilson 02.08.2018

Choosing which newsroom software to adopt is a key business decision - here's why open source, over proprietary software, makes the most sense

Superdesk Editor - Open Source Headless CMS

Superdesk Editor: Smart Tools to Spoil Journalists

by Vince Ryan 25.04.2018

The text editor is the journalist’s most-used newsroom tool, but it’s increasingly being pulled in different directions to do different jobs. Read on to find out how the Superdesk editor makes journalists’ life easier.

Sign up for free to our monthly newsletter to receive Software updates and news about Superdesk

Demo request

Before you go

See Superdesk in action with a no-obligation demo for your organisation.

Schedule a demo