How volotdmitriy/chat-core works
chat-core is a browser-based chat application with a NestJS backend. The principal workflow is user authentication, chat discovery/creation and membership, then message sending and history retrieval; a chat gateway and client socket hook indicate a realtime capability. The README only names the product, and most client and domain-service implementations were not sampled, so their detailed wiring is intentionally left unspecified.
Main entry points: app/page.tsx Chat app page · prisma.service.ts Prisma service · login/page.tsx Login page · register/page.tsx Register page
Components 21
Web client
- Login page
client/app/(auth)/login/page.tsx - Register page
client/app/(auth)/register/page.tsx - Chat app page
client/app/page.tsx - Auth context
client/context/auth-context.tsx - API client
client/lib/api.ts - Chat hooks
client/hooks/use-chats.ts - Message hooks
client/hooks/use-messages.ts - Socket hook
client/hooks/use-socket.ts
Identity
- Auth controller
server/src/auth/auth.controller.ts - Auth service
server/src/auth/auth.service.ts - User controller
server/src/user/user.controller.ts - User service
server/src/user/user.service.ts
Chat domain
- Chat controller
server/src/chat/chat.controller.ts - Chat service
server/src/chat/chat.service.ts - Message controller
server/src/message/message.controller.ts - Message service
server/src/message/message.service.ts - Chat gateway
server/src/chat/chat.gateway.ts - Participant service
server/src/participant/participant.service.ts
Persistence
- Prisma service
server/src/prisma/prisma.service.ts
Other components
- User
- PostgreSQL
Connections 15
- User → Login page: enters credentials
- User → Register page: creates account
- User → Chat app page: uses chat
- Login page → Auth context: uses auth
- Register page → Auth context: uses auth
- Chat app page → Chat hooks: loads chats
- Chat app page → Message hooks: uses messages
- Chat app page → Socket hook: uses socket
- Auth controller → Auth service: calls
- Chat controller → Chat service: calls
- Message controller → Message service: calls
- User controller → User service: calls
- Auth service → Prisma service: reads and writes
- Participant service → Prisma service: checks membership
- Prisma service → PostgreSQL: queries