This Turbo repo contains both the client and server components for the socket chat application. The client is a basic UI written in Next.js with shadcn components and deployed on Vercel. The backend is a simple Socket IO server which handles bidirectional communication and is deployed on a DigitalOcean droplet. The database is deployed on NeonDB and the app is using Prisma ORM to communicate with the DB. The app uses next-auth for authentication.
socket-chat.mov
This Turborepo includes the following packages/apps:
socket-server
: a socket.io backend serverweb
: another Next.js app@repo/db
: a prisma client package to interact with the database@repo/eslint-config
:eslint
configurations (includeseslint-config-next
andeslint-config-prettier
)@repo/typescript-config
:tsconfig.json
s used throughout the monorepo
Each package/app is 100% TypeScript.
This Turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
To build all apps and packages, run the following command:
cd my-turborepo
yarn build
To develop all apps and packages, run the following command:
cd my-turborepo
yarn dev
- Nextjs
- Shadcn
- Socket.io
- PrismaORM
- Postgres