How to make your website clean and maintainable with GraphQL

Ondřej Polesný
We’ve moved to freeCodeCamp.org/news
7 min readFeb 19, 2019

--

REST API services, SQL databases, markdown files, text files, SOAP services… can you think of yet another way to store and exchange data and content? Production websites usually work with several different services and ways to store data, so how can you keep the implementation clean and maintainable?

Every Node.js website, regardless if it is a single page application or a regular site, needs to connect to a third-party service or system. At the very least it needs to get content from markdown files or a headless CMS. But the need for other services quickly surfaces. First, it’s a contact form — you need to store its submissions. Then it’s a full-text search — you need to find a service that enables you to create indexes and search through them. And the list goes on and on depending on the size of your project.

What is the problem with that? Well, nothing at first. When you are motivated to finish a project you create a component for each of these functionalities. Communication is encapsulated within the respective components, and after a few quick tests, you are happy it all works. The customer is happy the project was delivered before the…

--

--

Ondřej Polesný
We’ve moved to freeCodeCamp.org/news

Full-stack developer, speaker and trainer with passion for anything new and intriguing. Dev evangelist at Kentico Kontent. Tell me what are your struggles.