Skip to content

Latest commit

 

History

History
82 lines (54 loc) · 2.56 KB

README.md

File metadata and controls

82 lines (54 loc) · 2.56 KB

Raco to Notion

drawing


Raco to Notion is a program made to be able to sync automatically Raco de la FIB's calendar events with your Notion Database.

Installation

1. Setup your local project

To clone and run this program, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:

# Clone this repository locally
git clone https://github.com/learningbizz/RacoToNotion.git

# Switch into this project
cd racoToNotion/

# Install the dependencies
npm install

2. Set your environment variables in a .env file

LINK_ICAL=<your-raco-calendar-ical-link>
NOTION_API_KEY=<your-notion-api-key>
NOTION_DATABASE_ID=<notion-database-id>

You can find your Raco calendar link here.

You can create your Notion API key here.

You can find out how to find your Notion database ID here.

3. Setup your Notion Database

For this program to work correctly in your Notion Database, there are 2 properties that MUST EXIST WITH THE SAME NAME AND FORMAT ⚠️

  • Date:
    • Property type: Date
    • Name of the property: Date
  • Id:
    • Property type: Text
    • Name of the property: Id

Like this:

Usage

In the racoToNotion directory, open a terminal and run:

npm start

Extra: Execute the program automatically

I wrote a small article on the wiki page, which you can access here


Reflection

My motivation

After using Notion for my university studies for a few months, I saw myself painfully adding exam and paper due dates to my main Notion calendar every few days. Therefore, I started investigating to see if this process could be automated using Notion's new API, and that's when the journey began! 🚢

What I learned

  • Javascript asynchronous programming (and how the Javascript event loop works).
  • How to use Notion's API (first time using it).
  • Node.js project development (as it's the first time using node, I learned about npm and how dependencies work).
  • How to use eslint and prettierrc.
  • How and why to use dotenv.
  • Improved my testing skills.