eklem / life-index

Your digital life - searchable. Proof of concept
http://lab.klemespen.com
Other
2 stars 0 forks source link

Table of Contents generated with DocToc

Intro

Life-Index is a personal search engine based on Norch and Search-index, making my digital life searchable. Proof of concept.

Life-Index is a forked version of Norch-bootstrap. It uses iftt-norch-tools for document processing and Life-Indexer for indexing.

The data comes from several IFTTT IF-recipes, storing it in several Google Drive Spreadsheets. Life-Indexer pulls this information from Google Drive and index it.

Clone repositories

$ cd node_modules
$ git clone git@github.com:eklem/life-index.git
$ git clone git@github.com:eklem/life-indexer.git
$ git clone git@github.com:eklem/iftt-norch-tools.git

Install dependencies

... todo

Setup

IFTTT IF-recipes

Activate the recipes you want to make searchable

Spreadsheet column headers

The IFTTT IF recipes stores content in spreadshees on Google Drive. Each recipe gets it's own spreadsheet, and you need to manually add a row with column headers. These will be the key in our key/value pair when we use the Life-indexer to pull JSON from those spreadsheets.

Gmail

date email title text file fileurlprivate fileurlpublic
[date] [email address] [email title] [body text] [Filename on first attachment] [URL to private file] [URL to public file]

Twitter tweets

date user text link
[date] [username] [tweet text] [link to tweet]

Flickr uploads

date dateuploaded title text url image urlimage tags
[date] [date uploaded] [photo title] [photo text] [URL to photo page] [resizeable image URL] [full size image URL] [tags list, comma separated]

GitHub issues

date repository title text issue-type url user user-img
[date] [repository name] [issue title] [issue text] [issue type] [url to issue page] [username] [user photo]

Switch frontend

Life-index is based on Norch. Norch has a generic frontend called Norch-bootstrap. You'll have to switch the frontend from Norch-bootstrap to Life-index. It's done by changing one line of code in node_modules/norch/lib/norch.js from:

  this.app.use(this.express.static(this.path.join(__dirname,
                                   '../node_modules/norch-bootstrap')));

to:

  this.app.use(this.express.static(this.path.join(__dirname,
                                   '../../life-index')));

Index content

... todo

Run

$ node node_modules/.bin/norch

Example

A quick screenshot on how the search will look: Life-index - An example on personal searh

Credits