ddlidded / scinote

A personal bibliography manager and paper recommendation engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SciNote

SciNote is a personal bibliography manager and paper recommendation engine. It is a web based application which utilises several publicly available APIs for searching, indexing, and organizing collections of scientific papers.

Microsoft Academic Knowledge API key is required to run this project since both search and recommendation functionalities use the API. Microsoft offers a free quota of 10,000 requests per month which should be enough even for heavy personal use.

Features

  • Creating collections of scientific articles (Projects)
  • Advanced search capabilities. Fetching article metadata from the Internet based on arXiv ID, DOI, publication title, or URL.
  • A recommendation engine which suggests new articles for the collection. The algorithm is based on citation statistics - it recommends papers that are either referenced by, or reference articles that are already in the collection.
  • Exporting whole collection or specific paper to BibTeX.
  • Visualization of citation graph in the collection.
  • Possibility to add notes and tags to articles. Searching and filtering papers inside the collection.
  • Uploading PDF files and adding them to collection. This is an optional feature which uses Science-parse V2 server.

Getting started

SciNote standalone

1. Build docker image:

docker build --tag scinote .

2. Run docker:

docker run -d -e academic.search.secret=[YOUR_MICROSOFT_API_KEY] -v $(pwd)/data:/root/data -v $(pwd)/files:/root/files -p 8080:8080 --name scinote scinote

3. Open http://localhost:8080 in the browser.

SciNote with SPv2 (enables PDF parsing functionality)

1. Set ACADEMIC_SEARCH_SECRET environment variable to your Microsoft API key

2. Run docker-compose:

docker-compose up

3. Open http://localhost:8080 in the browser.

About

A personal bibliography manager and paper recommendation engine

License:GNU General Public License v3.0


Languages

Language:Java 73.0%Language:TypeScript 24.3%Language:CSS 2.3%Language:Dockerfile 0.2%Language:HTML 0.1%