Skip to content

A Decentralized Academic Publishing System Using Smart Contracts

License

Notifications You must be signed in to change notification settings

ashikka/peer-review-chainlink

Repository files navigation


Logo

Peer Review

A Decentralized Academic Publishing System Using Smart Contracts
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

About The Project

The Problem

A rising issue observed in the world of academia and research is Predatory Publishing. This refers to the act of journals charging “publication fees” from researchers to publish papers, often those lacking quality to have any real academic relevance. Journals don’t check the legitimacy of the article, and most papers published in these journals are just derivatives of other works (plagiarism). No transparent peer-review process, even if the journal claims to do one. How do we trust if first reviews were conducted, and second, were they conducted by qualified peers? Journals are controlled by central authorities with financial motives, there is a lot of corruption. Preference is given to people willing to pay a higher sum of money.

Introducing PeerReview!

PeerReview is a project which aims to decentralize the process of peer reviewing research papers with the help of Ethereum, Smart Contracts, and Blockchain. Some features of PeerReview include:

  1. Completely anonymous users, we don't store any data to identify users on our blockchain
  2. Upload papers with ease, and in less than 2 minutes!
  3. Reviews are transparent, and honest. We integrate with Google Scholar to generate a "trust rating" for users, and then use this to evaluate a user's action on our network.
  4. Get feedback from reviewers, and accomodate changes to your paper.
  5. Reviewers are rewarded for their work in the form of Ether.
  6. Completely compatible with Metamask!

Demo

Checkout the Demo on Youtube!

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • npm
npm install npm@latest -g
  • Ganache

Download and install Ganache from its phome page. Make sure a local ethereum blockchain is running on ganache.

  • MongoDB

Make sure a MongoDB database is running either on your local network, or on a remote URL.

Installation

  1. Clone the repo
git clone https://github.com/ashikka/peer-review-chainlink.git
  1. Install the NPM dependencies
npm install

cd ./frontend
npm install

cd ../backend
npm install
  1. Setup .env files:

First, make a .env in the root folder of the project:

PRIVATE_KEY=<Private key of an account from ganache>
DEV_URL=<GanacheURL>
WALLET_ADDRESSES=<Optional list of wallet addresses to deposit amounts to. (comma seperated)>
MONGO_URL=<Mongo database URL>

Now run the reset.ts script using hardhat to generate the remaining .env files for the frontend and backend.

npx hardhat run scripts/reset.ts
  1. Finally startup the frontend and backend for the project:
cd frontend
npm start

# On another terminal
cd backend
npm start

Usage

Here are some screenshots demonstrating how to use this project:

Easy signup using Google Scholar

The first step to using PeerReview is to signup for an account. This can be done by linking your existing Gooogle Scholar Profile to create a user on our blockchain:

Signup Screen

Browse for Papers

After you are logged in, you can browse existing papers on our blockchain, and view them, or even review them!

Browse Screen

You can click on any paper on the browse screen to view more details, or leave a review about that paper:

Review Screen

Upload your Research Paper

You can also upload research papers of your own, using the upload screen:

Upload Screen Upload Screen Upload Screen

View your Profile

You can view your trust rating, and more details about your profile on the profile page screen:

Profile Screen

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'feat: Add some AmazingFeature')
  4. Push to the Branch (git push -u origin feature/AmazingFeature)
  5. Open a Pull Request

You are requested to follow the contribution guidelines specified in CONTRIBUTING.md while contributing to the project 😄.

License

Distributed under the MIT License. See LICENSE for more information.

About

A Decentralized Academic Publishing System Using Smart Contracts

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published