Skip to content

Introduction to Morgenbord

What is Morgenbord?

Morgenbord is a custom dashboard for any type of use. Here are a few ideas :

  • A set of notes, reminders and to-dos to organize your family activities
  • A set of graph to monitor your {insert relevant name}, ie: marketing campaign, e-reputation, servers, finances
  • Links and data to organize your day in a glance
  • Checklists and burn rates to monitor a long term project

It is a web page, you can add it anywhere :

  • Make it your homepage on your browser
  • Install it on your phone like an app to access it on your phone
  • Cast it to a screen in your office
  • Embed it in your usual tools : Nextcloud, Obsidian, Wordpress, ClickUp…

How does it work

This part is for tech savvies and geeks.

In a nutshell, Morgenbord is an app you need to develop at least a little. It's based on Symfony so it is PHP based. You create your project with a composer command, you add existing widget with composer and you can use the Symfony framework to add any feature to your app.

Architecture

Basics

To use Morgenbord, you need at least two things: the app and the core. The app is your own main frame of execution, based on Symfony. The core is a bundle, a dependency you manage through composer. The separation was made to ensure that the core is easily upgradable with dependency management. So you create, maintain and develop your app and you upgrade the core in the simplest way.

morgenbord-app

The base app, you need it to set your dashboard up and customize it. It is not a dependency you add to your composer.json file. It is a template to create your own project. You will probably want to version it with git. As any Symfony project, you will be able to build upon your own app, create your own widgets without having to create bundles. See more details on the App's documentation.

morgenbord-core-bundle

The core bundle, it contains the main features. It is made to be upgraded with composer commands. It offers a framework to build widgets, make them known to your app so the user can add the widget to a dashboard. It provides a user class and some routes. See more details on the Core's documentation.

Widgets

All widgets are bundles See more details on creating a Widget.

The official widgets

The Demo Widget

Not a real widget, it exists to help you create your own widget.

The Checklist Widget

The First one

The Wallabag Widget

Soon…

Soon…

Why Symfony bundles ?

As a Symfony developer I first wanted to create my own dashboard app. Then I felt the need to make the whole system very flexible. I wanted to create my own widgets and let other people create theirs and even make them public. As I started this project with Symfony I felt bundles were the way to go.

I heard you have a YouTube channel

Did you ? Really ? Well, I do ! It's totally in french, there is plenty of content in english all over the web and other languages still need to be reprensented. There are developers out there who are not that comfortable with foreign languages. My channel, PointPlus, for which this Github organization exists, is a place where I can share my knowledge and experience to anyone who speaks french, but only french. This is the choice I made for this media.

During the process, I created videos to explain all technical details and architecture subtelties. All this information is available on the actual documentation you're reading now. Morgenbord is intended to be a real open source project with its users and its community, it had to be coded and documented in english.

Where is this project going ?

I don't know. I am waiting to see if there is a community around it. I may start a second YouTube channel fully in english. I may open donations. I may start consulting or develop specific widgets for potential clients. I don't know. Let's put it out there first then we'll see.