We started the Bolt project based on a “Block architecture” where each element is a JSON block containing consistent parameters. This is based on the “Notion” block data model explained in this .
This type of architecture has grown in popularity, mainly by doc creating apps like Notion or Coda.io; where you where creating web pages/docs in real time rather than using an editor in an admin.
This structure forces us to handle each element as a single element (block) at its source, which results in high scalability and allows us to expand different parts of the project with minimal effort.
Bolt is currently a test project, but the idea is that it should allow a user to create a website/app in real time, without the need for an editor or admin dashboard.
Short video introduction
There are 2 main files managing blocks. The data file, which contains the JSON data for all blocks on a page and the block settings file, where each block is defined as an object with information on how the block behaves.
Each block contains information about the block type, its unique id, its position, creation date etc...
Block settings data
Each block is defined as an object with information on how the block behaves.
"created_at": "8/14/2023 10:59:23 PM",
"updated_at": "8/14/2023 10:59:23 PM",
//... Unique to block
description: `A clickable link for easy browsing and moving around.`,
group: "navigation", // Block group
friendly_name: "Navigation item", // Name of block for display
// Custom parameters - These are shown to in the sidebar editor for each block
//... Unique parameters for this block
Detailed overview of blocks
Components and data sources