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: