Giter VIP home page Giter VIP logo

Rotting Research Logo

Introduction

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

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 https://rottingresearch.org.

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

Installation

  • Local development works best with Python 3.10+ versions.

  • Make sure you have Python and the latest version of pip installed.

    python3 -m pip install --upgrade pip

  • Download Project

    git clone https://github.com/rottingresearch/rottingresearch

  • Navigate to the root folder.

  • Install Requirements

    pip3 install -r requirements.txt

  • If using Windows, open app.py and set app.config['UPLOAD_FOLDER'] to a valid temporary folder.

  • Set APP_SECRET_KEY environment variable before running the python script.

    Linux: export APP_SECRET_KEY="random"

    Windows: setx APP_SECRET_KEY "random"

  • Set ENV environment variable

    Linux: export ENV="DEV"

    Windows: setx ENV "DEV"

  • Run redis

    redis-server

  • Set REDIS_URL environment variable before running the python script

    Linux: export REDIS_URL="redis://localhost:6379"

    Windows: setx REDIS_URL "redis://localhost:6379"

  • Run Flask App

    python3 app.py

  • Run Celery worker

    celery -A app:celery_app worker -B

  • Open 127.0.0.1:8080 on your browser.

Docker Instructions

Local Development

Docker-Compose is being used for local development mainly due to its ease of use and development.

  • Set the APP_SECRET_KEY
  • docker-compose up --build -d to run the container in detached mode.

The application is running on port 8080. Docker volume is used so whenever changes are made they 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

  • Clone repo git clone https://github.com/rottingresearch/rottingresearch.git
  • Build the docker image docker build --tag rottingresearch .
  • Run image docker run -d -p 8080:8080 rottingresearch

Features

  • Coming Soon

Demo Site

The App is hosted at https://rottingresearch.org/ during development.

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.