Chess Chat is a chess app built using Next.js 13, React, Socket.io, Tailwind, Prisma, and Supabase. This app will enable the below functionality for users of the SSUChess app
-
Real-time messaging using Socket.io
- Create Text, Audio and Video call Channels
- 1:1 video calls and conversation between members
- Delete & Edit messages in real time
- Websocket fallback: Polling with alerts
- Unique invite link generation
-
Ability to manage members in a club as Admin of club
-
Authentication with Clerk ClerkDocs
-
Send attachments as messages using uploadthing
-
ORM (Object-Realtional Model) using (Prisma)[https://www.prisma.io/docs/orm/overview/databases/postgresql]
-
POSTGRES database using (supabase)[https://supabase.com/docs]
-
Tanstack is awesome for async/server-side state management!
- Tanstack Query Github
- Loading messages using tanstack
-
Using Cursor for fetching messages in batches
- Run the development server:
npm run dev
Open http://localhost:3000 with your browser to see the result.
- Next.js Documentation - Next.js features and API.
- Learn Next.js - Interactive Next.js tutorial.
- Deploy Next.js app using the Vercel Platform
-
Prisma:
npx prisma init
npx prisma generate
: To update schema in node modules upon each changenpx prisma db push
: Create the collections in the database (supabase for me)npx prisma studio
: Loads the prisma studionpx prisma migrate reset
: Reset the db
-
Other
zustand
is great for state-management and is being used as a store to create my modals- using zod for form submition hooks/handeling
@hookform/resolvers/zod
- using lucid react and shadcn for ton of components
lucide-react
&npx shadcn-ui@latest init
and install components into dir.