This very application, a CMS based on Neo4J

This very application, a CMS based on Neo4J

Publishing articles on a website can be as simple as uploading HTML files to a web server. However, writing articles in raw HTML can be time consuming. A content management system (CMS) is an application designed to solve this issue by providing a simple way to create and manage web content directly from the web browser. There are many CMSs available, namely Wordpress or Joomla but I decided to create my own as a form of practice and in order to have it highly customized to my needs.

I designed this CMS around TipTap, a what you see is what you get (WYSIWYG) editor for Vue.js, which allows the edition of articles through web interface.

Additionally, I wanted to use a tag system to sort articles in an intuitive way. Thus, I used a Neo4J graph database to store articles and tags since a graph representation fit the need quite well.

Here is a representation of how data is stored in the database. Red nodes are users, orange nodes are articles, blue nodes are tags and brown ones are comments:

Source code available on GitHub: