Red Gregory

View Original

How To Build A Reading Bookshelf In Notion (2022)

Full template available to copy below article.

1. The Bookshelf Database

This is a Table database with seven different database properties to describe each book. The second database for Genres is connected to this database as well. Here are all the properties you’ll need:

Click to expand

  1. Author: select property for book’s author.

  2. Rating: select property with a 5-star dropdown menu.

  3. Started: date property for date reader started the book.

  4. Ended: date property for date reader finished the book.

  5. Cover: files and media property for book cover.

  6. Genre: relation property to Genres database to pick book’s genre(s).

  7. Active: formula property to classify books reader is actively reading.

    Active formula: not empty(prop("Started")) and empty(prop("Ended"))

2. The Genres Database

This database is a collection of genres that organize books into groups. These groups can show unique information for the books in each genre. For example, you can find the number of Active books or Finished books in the contemporary genre. Here are all the properties you’ll need:

  1. Books: relation property from connection to Bookshelf database.

  2. Number of Books: rollup property that communicates with the Bookshelf database to count all books in genre.

    Rollup: relation to Books, property to Name, calculate to Count All.

  3. Active Books: rollup property that communicates with the Bookshelf database to count all active books in genre.

    Rollup: relation to Books, property to Active, calculate to Checked.

  4. Covers: rollup property that communicate with the Bookshelf database to collect all covers from books in genre.

    Rollup: relation to Books, property to Cover, calculate to Show Original.

How To Collect books In Genre Pages

Inside each genre page, the Notion user can collect all books in a linked database from the Bookshelf database. This is made possible with the database template. Here’s how it works:

Step 1: create a database template via the arrow next to the blue “New” button at the top right hand corner of the database.

Step 2: create a linked database via the block menu in the body of the template page (trigger: “/”). Search for name of Bookshelf database.

Step 3: change view of database to desired type via the Add a view button. In my setup, it is a List.

Step 4: create a filter that connects the Genre relation property to the name of the template. This will ensure all books collected are connected to the title of the page (ie. fiction). Every time this template is selected, the connection will automatically switch to the new genres’ name.

Step 5: show properties in the linked database that are desired via the database menu > properties.

How To Collect Cover Images In Genre Cards

The Genres database is in a boardview view. Every boardview has an option to group data by any property in the database in a kanban style. Here is how I group my boardview:

Step 1: Find the grouping option view the database menu (see arrow below). Group by name > alphabetical > hide empty groups > (optional) color columns.

Step 2: navigate to properties in the database menu and show Covers.

See this content in the original post

Further Reading

See this gallery in the original post