/bookrating

Gather some interesting information from a CSV file and populate your Notion database

Primary LanguageGoMIT LicenseMIT

notion

Has your book club been recording their favorite data for 10 years and have no way of reading it? Look no further! Bookrating will ingest a given CSV of book reviews and present it to you in a beautiful format using Notion .



Example

Table of Contents

Prerequisites

🚀 Getting Started

Environment Variables

Copy the contents of .env.example and create a .env file from the contents - Then, fill in credentials that got when you went through the Notion Integration Guide.

$ touch .env
$ cp .env.example .env
  ├── .env
  ├── .env.example
  ├── README.md
  ├── cmd
  ...

Env Example

# Notion
NOTION_INTEGRATION_KEY=89032ur3uhr238r923y08r
NOTION_DATABASE_ID=289yrh3ur3h9082r3y908r

Install

# go get :)
go get github.com/imthaghost/bookrating
# change to project directory using your GOPATH
cd $GOPATH/src/github.com/imthaghost/bookrating/cmd/bookrating
# build and install application
go install

Examples

# bookrating <file path>
bookrating data/ratings.csv

Example

Usage

Usage:
  bookrating <file path> [flags]

Flags:
  -h, --help                  help for bookrating

Improvements

Visit the Notion link here to go over improvements that can be made.

Questions

  • Was there anything you got stuck on, and if so what did you do to resolve it?
Had trouble creating nested maps were interesting had to read alot about them.
  • Do you have any suggestions for improving the API documentation to make it clearer or easier to use?
Nope I heavily relied on the documentation hahah.

🔨 Built With

go-notion - Go client for the Notion API.

godotenv - A Go port of Ruby's dotenv library (Loads environment variables from .env.)

📝 Sources

CSV Parsing

CSV Multithreading

Notion Docs