Heat is a real-time message wall built during Rocketseat NLW #7 Heat (October 2021): sign in with GitHub, post messages and watch the feed update live. Two-app monorepo in its original layout.
| App | Path | Description |
|---|---|---|
| API | backend-node |
Express + Prisma (SQLite) REST/Socket.IO API with GitHub OAuth and JWT |
| Web | web-react |
Vite + React SPA with live message feed |
- GitHub OAuth login (authorization code exchanged server-side for an access token)
- JWT sessions issued by the API
- Real-time message feed via Socket.IO
- Messages persisted through Prisma
| Layer | Tools |
|---|---|
| API | Node.js, Express 4, Prisma 3 + SQLite, Socket.IO 4, jsonwebtoken, axios |
| Web | React 17, Vite 2, TypeScript, Sass, socket.io-client |
Node.js 14-16 era runtime (see legacy note) plus a GitHub OAuth App (client id and secret).
cd backend-node
yarn install
cp .env.example .env # set DATABASE_URL, GITHUB_CLIENT_SECRET and related vars
npx prisma migrate deploy
yarn dev:server # http://localhost:4000cd web-react
yarn install
yarn dev # http://localhost:3000Event project from October 2021 with era-pinned dependencies (Next-free stack: Express 4, Prisma 3, Vite 2). Expect friction on current Node versions without upgrades. Estimated modernization effort if picked up later: small (half-day), bumping dependencies and refreshing the OAuth flow. No fixes are planned as part of this cleanup phase.
Built by Tiago Gonçalves de Castro · LinkedIn