I’m using Turborepo to build this project, and I’m keeping the backend server separate from the WebSocket server. Instead of using
Socket.io, I’m going with WebSockets library ( ws ) . This way, my HTTP backend handles authentication and all the non-real-time stuff, while the WebSocket server takes care of anything that needs to happen in real-time.
For the database, I’m using PostgreSQL with Prisma as the ORM. The app will let users create study rooms where they can join and mess around with an Excalidraw-like interface (basically a collaborative whiteboard).
This project’s gonna help me get a deeper understanding of Turborepo, WebSockets, Canvas (which I’ve been avoiding for a while), and some browser physics, since I need to track real-time interactions.
@selfmadecoder