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.
- Frontend: React, Vite, TypeScript
- Backend: Spring Boot (Java 17+), PostgreSQL
- Database: PostgreSQL
Ensure you have the following installed:
- Node.js: (Latest LTS recommended)
- Java: JDK 17 or higher
- PostgreSQL: Version 16+
The easiest way to run the application locally is using the combined dev script.
Before running the application, you must set up your local PostgreSQL database.
- Create a database named
cs319. - Create a user
mockuserwith passwordmockpasswordand 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.
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- Frontend Access: http://localhost:5173
- Backend API: http://localhost:8080/api
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/migrationfor schema changes. - Documentation: See app/backend/README.md for detailed backend instructions, including email config and API endpoints.
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.
- 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.
- Hasan Tufan
- Elif Ercan
- Ayşe Tayyibe Zehra Özkan
- Melike Feyza Bahadırlı
- Doğa Ertürk
- Aypars Ateş Hazantekin
- https://github.com/CS319-25-FA/S2-T3-Ragdoll/blob/main/deliverables/CS_319_Deliverable1_Revised.pdf
- https://drive.google.com/file/d/1AQPtR_xuESGCu6W0m04REyG-qTBXgvFG/view?usp=drive_link
- https://github.com/CS319-25-FA/S2-T3-Ragdoll/blob/main/deliverables/CS_319_Deliverable_3.pdf
- https://www.figma.com/design/BXEFIN3ml5tFvdqUp6lVwL/Untitled?node-id=0-1&t=CF45IvU8ZRW8BhBN-1
- https://github.com/CS319-25-FA/S2-T3-Ragdoll/blob/main/deliverables/CS319_Deliverable4.pdf
- https://github.com/CS319-25-FA/S2-T3-Ragdoll/blob/main/deliverables/CS_319_Deliverable_5.pdf
- https://www.figma.com/design/aMJv09li7XDpCNRtKwUwkD/Untitled?t=Y4D0dwWMaixCJoEg-1
- https://github.com/CS319-25-FA/S2-T3-Ragdoll/blob/main/deliverables/CS_319_Deliverable_6.pdf