Skip to content

pablo-schmeiser/Scholarizer-Mirror

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

Scholarizer

A webplatform for scholars to find other scholars in their field of expertice. The key difference to similar platforms, is Schloarizers differentiation between normal citations and self-citations aswell as the option to compare multiple scholars regarding multiple different metrics, as well as the feature to compare multiple scholars with each other.
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Roadmap
  3. Contributing
  4. Getting Started
  5. Built With
  6. License
  7. Contact

About The Project

A webplatform for scholars to find other scholars in their field of expertice. The key difference to similar platforms, is Schloarizers differentiation between normal citations and self-citations aswell as the option to compare multiple scholars regarding multiple different metrics, as well as the feature to compare multiple scholars with each other.

Usage

Roadmap

  • Planing
  • Design
  • Implementation
  • Quality Assurance
  • Presentation

Contributing

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

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

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

Getting Started

Here we can give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

Windows 10 or higher or a Linux System.

Java:

Ubuntu:

Install java 19:

sudo apt install openjdk-19-jre-headless

Verify:

java -version

Windows:

Install Java 19:

download the Java SE Development Kit 19.0.2: https://www.oracle.com/java/technologies/javase/jdk19-archive-downloads.html

  • install the Java SE Development Kit 19.0.2 by following the setup wizard
  • setup Java SE Development Kit 19.0.2:
    • add the "bin" folder inside of your Java installation to your "Path" (Default should be: "C:\Program Files\Java\jdk-19\bin")

      • open your start menu and type: "edit the system environment variables" or (if your OS is in german): "Systemumgebungsvariablen bearbeiten"
      • On the bottom right, click environment variables (ger: Umgebungsvariablen)
      • In the top field (User variables for User, select "Path")
      • cick on "edit"
      • in the newly opened window, click on "new"
      • paste the path to your PostgreSQL installations "bin" folder (Default: C:\Program Files\PostgreSQL\15\bin)
      • hit OK and exit the window
    • create a "JAVA_HOME" environment variable in the window under the one where you set the "Path", which holds the path to your Java installation (Default should be "C:\Program Files\Java\jdk-19")

Maven:

Ubuntu:

sudo apt install maven

Windows:

Install maven (from the apache website): https://maven.apache.org/download.cgi

Node.js:

Ubuntu:

curl -sL https://deb.nodesource.com/setup_18.x | sudo bash -

sudo apt install nodejs

Windows:

download Node.js (18.x): https://nodejs.org/en/download/

  • install Node.js by following the setup wizard
  • setup Node.js:
    • if not added already, add the "npm" folder found in "C:\Users\User\AppData\Roaming" to your "Path" (same process as before)

Postgres:

Ubuntu:

Install postgres:

sudo apt install postgresql postgresql-contrib

sudo systemctl start postgresql.service

Setup:

sudo -u postgres psql

In the postgresql console:

create database scholarizer;

\password		        //set password to "postgres"

Windows:

downlad PostgreSQL (15.x): https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

  • Follow the installation wizard until you are prompted to select a password for the default user (postgres)
  • set the password for the user postgres to "postgres"
  • once you are prompted, set the port for PostgreSQL to "5432" (should be the default)
  • continue following the installation wizard
  • once the installation is finished, you will need to add PostgreSQL to your PATH environment variable
  • open your terminal
  • type "psql -U postgres" to login to the postgres user account, you should be prompted to enter your password
  • type "postgres", you should now be logged in
  • type "CREATE DATABASE scholarizer;"
  • to test if the creation was successful, type "\c scholarizer" to connect to the database
  • you can now close your terminal

Installation

  1. Clone the repo
    git clone https://github.com/pablo-schmeiser/Scholarizer-Mirror.git
  2. Install NPM packages
    cd ./Scholarizer/reactapp/scholarizer
    npm install
  3. Install Maven packages
    cd ./Scholarizer
    mvn clean install -DskipTests=True

Compilation:

Do

cd ./Scholarizer
mvn clean install -DskipTests=True

to build the backend.
You can find the compiled .jar file in "./Scholarizer/target".


Do

cd ./Scholarizer/reactapp/scholarizer
npm run build

to build the frontend.

Running:

  1. Start serving frontend on your local network:

    npm install -g serve        //on Linux you might need to prefix with sudo
  2. Get an API Key from Semantic Scholar

  3. Start the backend on your local network:

    java -DEMAIL='your_mail' -DPASSWORD='smtp_password' -DSS_API_KEY='your_api_key' -jar ./scholarizer-0.0.1-SNAPSHOT.jar

    Replace "your_api_key" with your API Key for Semantic Scholar.

if the search does not work (error code 500 in the network analytics tab), you need to set an environment variable for the api key. You can set an environment variable for the api key via the following:

Linux:

export SS_API_KEY='your_api_key'"

Windows:

  • open your start menu and type: "edit the system environment variables" or (if your OS is in german): "Systemumgebungsvariablen bearbeiten"
  • On the bottom right, click environment variables (ger: Umgebungsvariablen)
  • In the top field (User variables for User, select "Path")
  • click on "edit"
  • in the newly opened window, click on "new"
  • paste the path to your PostgreSQL installations "bin" folder (Default: C:\Program Files\PostgreSQL\15\bin)
  • hit OK and exit the window

the adjusted run command will then be

java -DEMAIL='your_mail' -DPASSWORD='smtp_password' -jar ./scholarizer-0.0.1-SNAPSHOT.jar

(Same if sending the verification mail does not work i.e. you dont recieve an email. Note, depending on your email provider, recieving may take a couple minutes, please wait for a little bit before trying this fix)

(repeat for EMAIL and PASSWORD if the described scenario rearding the verification mail occurs)

So, if you set all values, i.e. EMAIL, PASSWORD and SS_API_KEY as global environment variables, the command to run the comiled backend will be:

java -jar ./scholarizer-0.0.1-SNAPSHOT.jar

Built With

React Java Material-UI Spring TypeScript SonarLint IntelliJ WebStorm

License

Distributed under the Apache License 2.0. See LICENSE.txt for more information.

Contact

Project Link: https://github.com/pablo-schmeiser/Scholarizer-Mirror

About

A webplatform for scholars to find other scholars and compare scholars regarding multiple different metrics.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •