Join the Agent Deck Discord Server!
Discord에서 Agent Deck 커뮤니티 확인, 357명과 자유 음성·텍스트 채팅 이용
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗The MIGwith website at migwith.vercel.app. It is a web version of the MIGwith Android app for chat rooms, gifts and games.
It uses the same Firebase project as the app. Web and app users share the same accounts, coins, rooms and messages. Nothing here keeps its own data.
Built with Next.js 15 (App Router), React 19, Tailwind CSS 4 and the Firebase JS SDK.
| Area | Pages | What it does |
|---|---|---|
| Account | /login, /register, /forgot-password | Sign in with MIG ID and password. Register with an email code. Reset a password by email code. |
| Rooms | /rooms, /room/[name] | Official country and game rooms plus user rooms. Live chat, who is in the room, entry and leave notices. |
| Room tools | inside a room | Photos 📷, voice messages 🎤, gifts 🎁. / social commands (/me, /hug, /roll, /pick …). |
| Room owners | inside a room | Create a room (Level 10+). Kick, ban, mute, lock, silence, entry level, mods and super mods. Rooms have a capacity limit. |
| Games | game rooms | Luxury Bot, MIG Royale, Teen Patti, Cricket, 29, LowCard and Ludo. |
| Private chat | /messages, /chat/[username] | 1:1 messages with read ticks, photos and gifts. |
| People | /profile/[username], /profile/edit, /friends | Profiles with follow, block and footprints. Profile editing with photo and cover upload. Friend requests. |
| Alerts | /alerts | Friend requests, invites and coin transfers, with a 🔔 badge. |
| Coins | /wallet, /security | Balance, activity history and coin transfer with a PIN. Change or reset the Security PIN. Recovery Email. |
| Leader Board | /leaderboard | Game boards, gifts sent and received, and top levels. |
| Phone | — | Bottom tab bar on phones. Installable to the home screen (PWA). |
asia-south1).
This covers gifts, transfers, PINs, game moves and sign-up. The website never writes a coin balance
itself.RoomPage.kt, MainActivity.kt …). When the app changes a
document shape, change it here too.profile_pictures/, cover_pictures/, room_images/,
room_audio/ and private_images/.Requirements: Node.js 20+.
Copy .env.example to .env.local and fill in the Firebase web app config. You find it in
Firebase console → Project settings → Your apps → Web app.
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=
.env.local is git-ignored. Never commit keys.
Install and start:
npm install
npm run dev
Open http://localhost:3000.
To check a production build:
npm run build
The site is hosted on Vercel and connected to this repository.
main deploys to production at migwith.vercel.app.NEXT_PUBLIC_FIREBASE_* variables are set in Vercel → Project → Settings → Environment
Variables, for both Production and Preview.Workflow: make the change on a branch, test its Preview link, then merge into main.
app/
layout.tsx root layout; <AppSession> provides the signed-in user and badge counts to the whole site
manifest.ts PWA manifest (install to home screen)
page.tsx landing page
login/ register/ forgot-password/
rooms/ room list and "Create Room"
room/[name]/ a chat room: chat, presence, moderation, media, gifts and the game for that room
messages/ chat/[username]/
profile/[username]/ profile/edit/ friends/ alerts/
wallet/ security/ leaderboard/
_components/
PageShell.tsx dark background, header and phone bottom bar
AuthControls.tsx header buttons and home-page actions
BottomNav.tsx phone tab bar
AppSession.tsx one shared sign-in listener and one set of badge listeners
GiftPanel.tsx send-a-gift sheet (rooms and private chat)
VoiceRecorder.tsx 🎤 record → review → send
InstallApp.tsx "Install MIGwith" button
Cards.tsx playing-card faces for the card games
LuxuryBot.tsx RoyaleGame.tsx TeenPatti.tsx CricketGame.tsx TwentyNine.tsx LowCard.tsx Ludo.tsx
lib/
firebase.ts Firebase app, Auth, Firestore, Storage, Functions (asia-south1)
useCurrentUser.ts signed-in user + MIG ID
rooms.ts official room names, presence timings, entry/leave texts
roomCommands.ts "/" social commands, /pick, /invite, /whois
roomModeration.ts room roles and kick / ban / mute / lock / silence / level / mods
privateChat.ts chat ids, friends, unread counts
friends.ts friend requests (send / accept / decline / cancel / remove)
alerts.ts useBadges.ts giftActivity.ts imageUpload.ts
public/ app icons
Each game component has a useX() hook, a xHandleCommand() function and a table component.
room_game/{room} and sends moves to that game's Cloud Functions.xHandleCommand() handles the ! chat commands.The server decides every result. The web only shows the game state and nudges the tick… function
once a timer has passed.
npm run build.main.