Spring Boot web app for exploring academic publication data.
For: MYE030 / ΠΛΕ045 — Προχ. Θέματα Τεχνολογίας & Εφαρμογών Βάσεων Δεδομένων
University of Ioannina — 2025-2026
By George Papidis
Spring Boot 4.0.6, Java 17 (Maven) Thymeleaf, Bootstrap 4.5.2, Chart.js 4.4.3, Spring JDBC (JdbcTemplate) Database: MySQL 8
Raw source files, modified ready_to_load files and full database backup are uploaded here:
Google Drive – PaperHub Data
| Source | Content |
|---|---|
| DBLP | Papers |
| ICORE26 | Conference rankings |
| Kaggle | Journal rankings |
- Conference profiles
- Journal profiles
- Author profiles
- Year profiles
- Line charts
- Bar charts
- Scatter plots
src/ - Spring Boot application
pom.xml - project
data/
ready_to_load/ - tsv files for loading into db (in google drive)
dblp_dataset/ - dblp source data (in google drive)
icore26_data/ - icore source data (in google drive)
journal_ranking_data_raw/ - kaggle source data (in google drive)
paperhub_db_backup.sql - backedup database (in google drive)
schema.sql - DDL (database schema)
ETL.py - ETL
load.sql - ETL
test_queries.sql
deliverables/
Report.pdf
Demo.mp4
- Java 17
- MySQL 8
- Maven 3.x
First Clone the repository
git clone https://github.com/gpapid/paperhub_app.gitpython ETL.py
(to run ETL.py, raw source files must be in correct relavitve paths as set in the top of the script. Download from google drive)
CREATE DATABASE paperhub_db;(paths for files in load.sql need changing to match system directories.)
mysql -u root -p paperhub_db < files/schema.sql
mysql -u root -p paperhub_db < files/load.sqlEdit paperhub/src/main/resources/application.properties MySQL connection settings. default: username: root password: root):
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/paperhub_db?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=rootmvn spring-boot:run(or use IDE. I used Intellij to build and run the application)
Open http://localhost:8080 in a browser