MCPcopy Index your code
hub / github.com/empz/my-karaoke-party

github.com/empz/my-karaoke-party @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
135 symbols 353 edges 62 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

My Karaoke Party

image

YouTube-based karaoke party web app with remote searching and queuing from QR code.

  • Host a party.
  • Join existing party via link or QR.
  • Search karaoke videos on YouTube and add them to the queue.
  • Queue is sorted by "fairness" to avoid mic hogs.

Stack

Based on T3 App (https://create.t3.gg/)

  • Next.js 14
  • Postgres
  • Prisma
  • Tailwind
  • PartyKit

Development

  1. Run pnpm install to install dependencies.
  2. Copy .env.example to .env and fill in the values.
  3. Run pnpm db:push to create the database.
  4. Run pnpm dev:pk to start the PartyKit development server.
  5. Run pnpm dev to start the development server.

Contribution

I don't have time to work on this at the moment but I'll happy take in PRs and deploy changes to the live site at https://www.mykaraoke.party.

Extension points exported contracts — how you extend this code

BorderBeamProps (Interface)
(no doc)
src/components/ui/ui/border-beam.tsx
FlowData (Interface)
(no doc)
src/utils/fair-queue.ts
ShimmerButtonProps (Interface)
(no doc)
src/components/ui/ui/shimmer-button.tsx
FairQueueOptions (Interface)
(no doc)
src/utils/fair-queue.ts
SpinnerContentProps (Interface)
(no doc)
src/components/ui/ui/spinner.tsx
Thumbnail (Interface)
(no doc)
src/utils/youtube-data-api.ts
ButtonProps (Interface)
(no doc)
src/components/ui/ui/button.tsx
Thumbnails (Interface)
(no doc)
src/utils/youtube-data-api.ts

Core symbols most depended-on inside this repo

cn
called by 38
src/lib/utils.ts
push
called by 12
src/utils/fair-queue.ts
shift
called by 5
src/utils/double-ended-queue.ts
savekaraokeParty
called by 4
party/index.ts
useFormField
called by 4
src/components/ui/ui/form.tsx
_checkCapacity
called by 4
src/utils/double-ended-queue.ts
markAsPlayed
called by 3
src/app/player/[hash]/player-scene.tsx
_processActiveFlow
called by 2
src/utils/fair-queue.ts

Shape

Function 74
Method 40
Interface 11
Class 10

Languages

TypeScript100%

Modules by API surface

src/utils/double-ended-queue.ts28 symbols
src/utils/fair-queue.ts13 symbols
party/index.ts11 symbols
src/utils/youtube-data-api.ts9 symbols
src/components/player.tsx6 symbols
src/app/player/[hash]/player-scene.tsx6 symbols
src/trpc/react.tsx4 symbols
src/app/party/[hash]/party-scene.tsx4 symbols
src/utils/url.ts3 symbols
src/components/ui/ui/drawer.tsx3 symbols
src/utils/string.ts2 symbols
src/utils/array.ts2 symbols

For agents

$ claude mcp add my-karaoke-party \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact