GithubHelp home page GithubHelp logo

Rotting Research Logo

Introduction

A project devoted to helping academics and researchers provide robust citations and mitigate link rot. Visit rottingresearch.org to see it in action.

Mission

Link rot is an established phenomenon that affects everyone who uses the internet. Researchers looking at individual subjects have recently addressed the extent of link rot’s influence on scholarly publications. One recent study found that 36% of all links in research articles were broken. 37% of DOIs, once seen as a tool to prevent link rot, were broken (Miller, 2022).

Rotting Research allows academics and researchers to upload their work and check the reliability of their citations. It extracts all of the links from the document and then checks to see if the link is accessible to the public.

Check out our website at rottingresearch.org.

The status of our services can be observed at status.rottingresearch.org/status/rr.

Installation

Requirements

  • Python3 (3.10+)
  • Pip3
  • Redis

Docker Instructions

Local Development

  • Set the APP_SECRET_KEY="RANDOM_SECRET_KEY"
  • Run the docker container using docker-compose up --build. You can use the -d flag to run the containers in 'detached' mode.
  • Open 127.0.0.1:8080 in your browser.

As docker volume is used, any changes made are reflected immediately. To view the container logs you can use docker logs -f rottingresearch. The -f flag is used for following the logs.

Building Image

  • Build the docker image docker build --tag rottingresearch .
  • Run image docker run -d -p 8080:8080 rottingresearch

Linux/Mac

  • Clone Repository: git clone https://github.com/rottingresearch/rottingresearch
  • Change directory to rottingresearch - cd rottingresearch
  • Run source setup.sh - the script will automatically install the packages and setup the environment variables

Windows

  • Clone Repository: git clone https://github.com/rottingresearch/rottingresearch
  • Change directory to rottingresearch - cd rottingresearch
  • Install Python Packages: pip3 install -r requirements.txt
  • Edit app.py and set app.config['UPLOAD_FOLDER'] to a valid temporary folder.
  • Set APP_SECRET_KEY environment variable - setx APP_SECRET_KEY "random"
  • Set ENV running environment variable setx ENV "DEV"
  • Run redis redis-server
  • Set REDIS_URL environment setx REDIS_URL "redis://localhost:6379"
  • Run app python3 app.py
  • Run Celery worker celery -A app:celery_app worker -B
  • Open 127.0.0.1:8080 on your browser.

Code of Conduct

For our code of conduct, please visit our Code of Conduct page.

License

This program is licensed with a GPLv3 License.

Rotting Research's Projects

assets icon assets

public assets for the rotting research and linkrot projects.

linkrot icon linkrot

This Python program scans pdfs and websites for links and checks if the links are active or return an error code.

rottingresearch icon rottingresearch

A project devoted to helping academics and researchers provide robust citations and mitigate link rot.

validate-urls icon validate-urls

Validates URIs that pertain to the Rotting Research project and Linkrot.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.