Skip to content

AnirudhMKumar/codeharbor

Repository files navigation

 ██████╗ ██████╗ ██████╗ ███████╗    ██╗  ██╗██████╗ ██████╗ ██████╗  ██████╗ ██████╗ 
██╔════╝██╔═══██╗██╔══██╗██╔════╝    ██║  ██║██╔══██╗██╔══██╗██╔══██╗██╔═══██╗██╔══██╗
██║     ██║   ██║██║  ██║█████╗      ███████║███████║██████╔╝██████╔╝██║   ██║██████╔╝
██║     ██║   ██║██║  ██║██╔══╝      ██╔══██║██╔══██║██╔══██╗██╔══██╗██║   ██║██╔══██╗
╚██████╗╚██████╔╝██████╔╝███████╗    ██║  ██║██║  ██║██║  ██║██████╔╝╚██████╔╝██║  ██║
 ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝    ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═╝╚═════╝  ╚═════╝ ╚═╝  ╚═╝

Peer Code Review. No dashboard. No bureaucracy. Just code.

React 19 TypeScript Vite Supabase Tests License


CodeHarbor is a peer code review matching engine. Login with GitHub, find repos that match your stack and skill level, submit reviews, earn karma. No project management. No bureaucracy. Just code review.


Features

  • Smart matching — repos filtered by language + difficulty, sorted by relevance
  • Karma system — transaction-logged reputation (not a counter), fully auditable
  • GitHub OAuth — one-click login, zero password management
  • Dual-mode — localStorage for offline dev, Supabase for production. No code changes, just .env
  • Terminal aesthetic — OKLch color system, monospace accents, GSAP rain
  • Interactive ASCII — hover-scramble artwork on the login screen

Preview

          ╔══════════════════════════════════╗
          ║          Screenshot here         ║
          ║   (add one after deployment)     ║
          ╚══════════════════════════════════╝

Quick Start

npm install
npm run dev              # → localhost:5173
npm run build            # Production build (83 modules, ~263ms)
npm test                 # 23 unit tests
npm run test:e2e         # Playwright E2E (4 pass, 1 skipped)

Two Modes

Mode Persistence Auth Setup
VITE_AUTH_MOCK=true localStorage Instant login (4 mock users) Zero — works out of the box
VITE_AUTH_MOCK=false Supabase (Postgres) GitHub OAuth (PKCE) Create Supabase project, set .env

Architecture

src/
├── App.tsx               View routing + data orchestration
├── context/AuthContext   Auth state (mock ↔ Supabase)
├── services/             Dual persistence layer + matcher + types
├── components/           18 components, terminal-themed
├── styles/               OKLch tokens + BEM component CSS
├── data/                 Mock repos (8), activity (6), checklist (6)
└── types.ts              All TypeScript interfaces

supabase/
├── schema.sql            4 tables + RLS + triggers
└── SETUP.md              Setup guide

Stack

React 19 · TypeScript · Vite 8 · Supabase (Auth + Postgres)
Playwright · Vitest · GSAP · OKLch color space

Project Status

  • ✅ Phase 1 — Vite + TypeScript migration, 18 components
  • ✅ Phase 2 — Auth, karma, matcher algorithm, preferences UI
  • ✅ Phase 3 — Supabase backend, GitHub OAuth, dual-mode persistence
  • ✅ Phase 4 — 23 unit tests, 4 E2E tests
  • ⏳ Phase 5 — Vercel deployment

Why

Every code review tool is a project management suite with a review feature bolted on.
CodeHarbor flips it: review first, nothing else.


If this is useful, star the repo. It's the only karma that matters.

About

Peer code review matching engine with dual-mode persistence, GitHub OAuth, and a dark terminal aesthetic.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors