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.
CodeClash supports studies involving:
- Source code
- Bug reports
- UML diagrams
- Requirements
- Documentation
- Test cases
- 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
.
├── 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
| 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 |
- Node.js 20+
- Docker and Docker Compose
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:5173Email notifications and AI-assisted quiz generation require the corresponding SMTP and OpenAI environment variables. Never commit real credentials.
docker compose up --build- Frontend:
http://localhost:5173 - Backend API:
http://localhost:4000 - Health check:
http://localhost:4000/health
Start MySQL, then run:
cd backend
npm install
npm run devIn another terminal:
cd frontend
npm install
npm run devcd backend
npm testMy 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
The deliverables/ directory contains the requirements, design documentation, final report, user manual, and developer manual produced during the project.
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.