Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

228 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeClash

CodeClash is a research-oriented web platform for collecting, organizing, and comparing human- and AI-generated software artifacts through standardized studies and evaluation workflows.

Researchers can create studies, import or upload artifacts, assign participants and reviewers, run competency quizzes, collect structured evaluations, and analyze results from role-specific dashboards.

Supported Workflows

CodeClash supports studies involving:

  • Source code
  • Bug reports
  • UML diagrams
  • Requirements
  • Documentation
  • Test cases

Highlights

  • Researcher, participant, reviewer, and administrator roles
  • Study creation, scheduling, assignment, and deadline management
  • Artifact upload and metadata import
  • GitHub, Jira, SourceForge, and Google dataset parsers
  • Structured reviews and human-versus-AI comparisons
  • Competency quizzes and participant gating
  • Dashboards, charts, notifications, streaks, and dark mode
  • Automated study and deadline reminders
  • Role- and permission-based authorization
  • Docker-based local environment and Render deployment configuration

Architecture

.
├── backend/          Express REST API and MySQL integration
├── frontend/         React single-page application
├── scripts/          Dataset and artifact utilities
├── deliverables/     Requirements, design, and project reports
├── docker-compose.yml
└── render.yaml

Tech Stack

Layer Technologies
Backend Node.js, Express
Frontend React, Vite, React Router
Database MySQL
Authentication JWT, bcrypt
Visualization Chart.js
Notifications Nodemailer, scheduled jobs
AI integration OpenAI API
Infrastructure Docker, Docker Compose, Render

Getting Started

Prerequisites

  • Node.js 20+
  • Docker and Docker Compose

Environment

Create backend/.env and configure at least:

PORT=4000
DB_HOST=db
DB_PORT=3306
DB_USER=root
DB_PASSWORD=root
DB_NAME=helloworld
JWT_SECRET=replace-with-a-long-random-value
CORS_ORIGIN=http://localhost:5173

Email notifications and AI-assisted quiz generation require the corresponding SMTP and OpenAI environment variables. Never commit real credentials.

Run with Docker

docker compose up --build
  • Frontend: http://localhost:5173
  • Backend API: http://localhost:4000
  • Health check: http://localhost:4000/health

Run Locally

Start MySQL, then run:

cd backend
npm install
npm run dev

In another terminal:

cd frontend
npm install
npm run dev

Testing

cd backend
npm test

My Contributions

My work on this team project included:

  • Study routes, evaluation logic, and database-schema synchronization
  • Reviewer flows and post-evaluation read-only views
  • Participant and clone-type study experiences
  • Researcher and reviewer dashboard improvements
  • Deadline reminders and scheduled email jobs
  • Streak and competency-gate functionality
  • UI refinement, integration fixes, and release documentation

Documentation

The deliverables/ directory contains the requirements, design documentation, final report, user manual, and developer manual produced during the project.

Project Background

CodeClash was developed collaboratively by a five-person team for Bilkent University's CS 319 course. This repository preserves the original commit history and contributor attribution.

About

A full-stack platform for comparing and evaluating human- and AI-generated software artifacts.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages