Under the hood of Baserow

Because Baserow is open source, we carefully considered everything what went into the technology stack. Under the hood of every docker container are two frameworks that made the cut: Django and Nuxt.js.

Why Django?

One reason for choosing Django is its established popularity. This popularity means a lower learning curve for creating plugins and extensions. Django Channels also played a role in the decision, as it simplifies WebSocket handling for collaboration. Additionally, Django’s app handling and reusable packages make it ideal for Baserow’s plugin system. Furthermore, Django has been proven on large sites like Instagram. With batteries included, there’s no need to reinvent the wheel.

Why Nuxt.js?

Nuxt.js is a progressive Vue.js framework that simplifies and empowers web development. Choosing Vue and Nuxt was not an easy decision, considering other front-end frameworks like Angular and React. However, Vue was chosen for its simplicity, in-house experience, and popularity. Vue.js is the best choice because it is a fully featured framework without unnecessary complexity, especially when combined with Nuxt.

Plugins

Making it easy to create plugins doesn’t mean they will be any less powerful. Creating a plugin is as simple as checking out a standard boilerplate, running through a small CLI wizard, and adding a single configuration line in the Baserow settings. That’s it! The plugin is developed. In the future, Baserow plans to introduce a marketplace where users can easily download and install plugins created by third-party developers.

Everything else

The tech stack of Baserow extends beyond Django and Nuxt.js. It includes other packages such as SASS, Webpack, Django Rest Framework, stylelint, ESLint, PostgreSQL, and more. Baserow fully embraces well-written open source software.

What about the operations?

Baserow’s managed SaaS platform is hosted on Digital Ocean, which offers the best value for money in terms of where Baserow is as a company. Kubernetes is used to manage their infrastructure at Digital Ocean, allowing easy definition of everything as code and making changes. To deploy the entire platform, a combination of Ansible and Packer is used to create a base image that can be easily deployed to their servers.