A comprehensive reference guide documenting backend engineering concepts with working Express.js examples. Built as a personal learning repository.
| # | Topic | Description |
|---|---|---|
| 1 | Authentication | JWT, Cookies, Sessions, OAuth |
| 2 | REST API | RESTful design, status codes, versioning |
| 3 | WebSockets | Real-time bidirectional communication |
| 4 | Caching | In-memory & Redis caching strategies |
| 5 | Rate Limiting | Protecting APIs from abuse |
| 6 | Password Hashing | bcrypt, argon2, best practices |
| 7 | File Upload | Multer, validation, storage |
| 8 | Pagination | Offset, cursor, and keyset pagination |
| 9 | Error Handling | Centralized error middleware |
- Runtime: Node.js
- Framework: Express.js
- Auth: JWT, express-session, Passport.js
- Hashing: bcryptjs
- Uploads: Multer
- Rate Limiting: express-rate-limit
- WebSockets: ws / socket.io
git clone https://github.com/YOUR_USERNAME/backend-engineering.git
cd backend-engineering
# Install dependencies for any topic
cd authentication/jwt
npm install
node index.jsEach folder is self-contained with its own package.json and README.md.
backend-engineering/
βββ authentication/
β βββ jwt/
β βββ cookies/
β βββ sessions/
β βββ oauth/
βββ rest-api/
βββ websockets/
βββ caching/
βββ rate-limiting/
βββ password-hashing/
βββ file-upload/
βββ pagination/
βββ error-handling/
β Star this repo if you find it helpful!