Skip to content

hasantfn/ArtifactLab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

498 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArtifactLab

ArtifactLab is a comprehensive web-based platform designed to support researchers in conducting human-subject studies for systematic artifact evaluation. It facilitates artifact management, blinded comparisons, annotation, and feedback collection, integrating with analysis tools for qualitative and quantitative insights.

Tech Stack

  • Frontend: React, Vite, TypeScript
  • Backend: Spring Boot (Java 17+), PostgreSQL
  • Database: PostgreSQL

Prerequisites

Ensure you have the following installed:

  • Node.js: (Latest LTS recommended)
  • Java: JDK 17 or higher
  • PostgreSQL: Version 16+

Quick Start

The easiest way to run the application locally is using the combined dev script.

1. Database Setup

Before running the application, you must set up your local PostgreSQL database.

  1. Create a database named cs319.
  2. Create a user mockuser with password mockpassword and grant it all privileges.

Manual SQL commands:

CREATE DATABASE cs319;
CREATE ROLE mockuser WITH LOGIN PASSWORD 'mockpassword';
GRANT ALL PRIVILEGES ON DATABASE cs319 TO mockuser;
\c cs319
GRANT ALL PRIVILEGES ON SCHEMA public TO mockuser;

Note: For more detailed setup options (including macOS scripts), refer to app/backend/README.md.

2. Run the Application

Navigate to the app directory and run the development script. This will start both the frontend (Vite) and backend (Spring Boot) concurrently.

cd app
npm install  # Install dependencies (only needed first time)
npm run dev

Detailed Setup & Configuration

Backend

The backend is located in app/backend.

  • Configuration: src/main/resources/application.properties
  • Migrations: Flyway is used for DB migrations. Add new SQL files to src/main/resources/db/migration for schema changes.
  • Documentation: See app/backend/README.md for detailed backend instructions, including email config and API endpoints.

Frontend

The frontend is located in app/frontend.

  • Scripts:
    • npm run start:frontend: Runs only the frontend.
    • npm run build: Builds the production bundle.
    • npm run lint: Runs type checking and linting.

Features

  • User Management: Roles for Researchers, Participants, Admins, and Reviewers.
  • Artifact Management: Upload, tag, and organize diverse artifacts (code, diagrams, etc.).
  • Blinded Evaluation: Hides artifact origin to ensure neutral evaluation.
  • Comparisons: Side-by-side artifact comparison with annotations and rating.
  • Study Management: Create studies, manage participants, and track progress via dashboards.

Team

  • Hasan Tufan
  • Elif Ercan
  • Ayşe Tayyibe Zehra Özkan
  • Melike Feyza Bahadırlı
  • Doğa Ertürk
  • Aypars Ateş Hazantekin

Deliverable links

Teaser Video link

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors