Skip to content

iprincegautam/AV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

126 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Birha

AI training data collection platform. Contributors earn money by capturing dashcam video, home environment images, and voice recordings that feed into autonomous vehicle, robotics, and voice AI training pipelines.

Repository Map

Workspace Path Stack Port
Backend API apps/api Next.js 15 + React 19 3000
Admin Workbench apps/admin Next.js 15 + React 19 3001
Contributor App apps/mobile Expo 55 + RN 0.83 Metro
BullMQ Worker apps/worker Node.js + BullMQ
Annotation Service apps/annotation FastAPI + Python 8000
Marketing apps/web Static HTML 4173
Static Pages apps/landing Static HTML
Database packages/db Prisma 6 + PostgreSQL
Queue Contracts packages/queue BullMQ type defs
Shared Types packages/types TypeScript
Shared Utils packages/utils TypeScript
Shared Config packages/config tsconfig + tailwind

Prerequisites

  • Node.js ≥ 20 (node -v)
  • pnpm ≥ 9 (npm i -g pnpm)
  • Docker Desktop (PostgreSQL + Redis + MinIO)
  • Expo CLI (npm i -g @expo/cli)
  • EAS CLI (npm i -g eas-cli)

Quick Start

git clone https://github.com/loxerxxxx/AV && cd AV
pnpm install
npx prisma generate --schema=prisma/schema.prisma   # Required after install — see Prisma note below
cp .env.example .env.local
# Fill: DATABASE_URL, REDIS_URL, SUPABASE_*, S3/MINIO_*, CLERK_*, RAZORPAY_*

docker-compose up -d                                # Start Postgres + Redis + MinIO
npx prisma migrate deploy --schema=prisma/schema.prisma
npx prisma db seed --schema=prisma/schema.prisma    # Seed 15 tasks
pnpm dev                                            # Start all apps in parallel

Key Commands

Command Description
pnpm dev Start all apps in parallel via Turborepo
pnpm build Build all apps (respects dep order)
pnpm turbo typecheck tsc --noEmit across all 11 workspaces
pnpm db:generate Regenerate Prisma client after schema changes
pnpm db:seed Re-seed 15 task definitions
pnpm --filter @birha/api dev Start only Next.js API (port 3000)
pnpm --filter @birha/admin dev Start only Admin Workbench (port 3001)
pnpm --filter @birha/worker dev Start only BullMQ worker
pnpm --filter @birha/mobile dev Start only Expo Metro
pnpm --filter @birha/annotation dev Start only FastAPI (port 8000)

Job Pipeline (BullMQ)

apps/api  →  enqueue job  →  Redis  →  apps/worker  →  process

Queue names (from packages/queue/src/index.ts):

Queue Purpose
birha-process-upload Post-upload pipeline (validation, S3, metadata)
birha-run-qc Automated quality control (pHash, GPS, frame analysis)
birha-auto-label Send batches to FastAPI / Label Studio
fraud-signals pHash dedup, velocity spike, GPS anomaly checks
payout-processor Trigger Razorpay payouts
birha-send-notification Push notifications to contributors

Prisma Note (pnpm + shamefully-hoist)

The root .npmrc sets shamefully-hoist=true. The root prisma/schema.prisma has an explicit output = "../node_modules/@prisma/client/.prisma/client" so TypeScript resolves Prisma generated types correctly.

Required after every pnpm install:

npx prisma generate --schema=prisma/schema.prisma

Health Checks

  • GET /api/health — platform health (DB, Redis, queues, auth env, S3, Label Studio)
  • bash scripts/smoke-test-e2e.ts — E2E smoke tests
  • See docs/AUTH_RUNBOOK.md for auth setup

Store Submission Checklist

  • EXPO_PUBLIC_API_URL → production Vercel URL in apps/mobile/eas.json
  • EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY = pk_live_* in all EAS production profiles
  • prisma migrate deploy against production DB
  • prisma db seed against production DB
  • Enroll 12 closed testers for Play Store 14-day review period
  • GET /api/health returns 200 on production with all checks green
  • Google Play service account key at apps/mobile/google-play-service-account.json

Verticals

Code Domain Media Type Typical Task
AV Autonomous Vehicles video/mp4, video/quicktime 10-min dashcam loop
ROBOTICS Home Robotics image/jpeg, image/png Object images
VOICE Voice AI audio/wav, audio/m4a Hindi phrase recordings

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors