Week 4 — Platform, craft & capstone
Judge when to use Redis, files, RabbitMQ, Docker, and WebSockets; then test, optimize, challenge, review, and finish Notes P4 as this week’s mini-project.
- 1. Caching with RedisOpen
No install is required this week. The goal is judgment: when caching solves a real, measured problem, and when it just adds a second source of truth to babysit.
- 2. File uploads / blob / S3Open
The judgment call is not how to call a storage SDK. It is why a file never belongs as a database BLOB column here.
- 3. Background work with RabbitMQOpen
The same conceptual lens as Redis and file storage: recognize when work does not belong inside the request and response cycle, without installing anything today.
- 4. Docker & ComposeOpen
Judge Docker the same conceptual way as Redis or RabbitMQ: where it solves a real environment problem, and where it stops mattering for this course.
- 5. WebSockets / Socket.IOOpen
The judgment call: which features actually need a live push channel versus which just need a refetch or a short poll.
- 6. Postman + VS Code debuggingOpen
These are everyday tools for isolating whether a bug is frontend, backend, or a contract mismatch, before touching any code.
- 7. Nest testing (unit + e2e / Supertest)Open
Before shipping milestone P4, learn how graders and CI assert HTTP behavior without clicking a UI.
- 8. Performance (indexes, lean queries, pagination)Open
This connects directly to the challenge topics ahead. Recognize the patterns here so they are easy to diagnose in the challenges.
- 9. Lint, format, Nest pitfallsOpen
Beyond generic JavaScript and TypeScript lint rules, Nest has framework-specific pitfalls that lint rules alone will not catch.
- 10. Challenge: JWT + RBAC holeOpen
This challenge reuses the authentication and authorization habits from earlier weeks: the difference between not authenticated and not authorized, and the role guard pattern.
- 11. Challenge: missing index / slow listOpen
This reuses the performance judgment from earlier in this week: recognizing the missing-index smell on a slow, filtered, frequently used endpoint.
- 12. Challenge: broken pagination / soft-delete leakOpen
Combines pagination correctness with a realistic soft-delete pitfall.
- 13. Code review & feedbackOpen
Use the same checklist mindset from this week when reviewing a teammate Nest PR — migrations, guards, DTOs, and contracts.
- 14. Notes API — Ship slice milestoneOpen
Replaces the old all-in-one hands-on topic. Capstone coding, not a PLATFORM.md essay.
End-of-week mini-project · practice only
Notes API — Ship slice (P4)
Compose, index migration, attachment metadata, and a NotesEventsPublisher seam.
Definition. Week 4’s mini-project is Notes P4: a shippable ops + platform slice with automatic validation.
In simpler words. Finish Notes so a teammate could run Compose and hit attachments + events. Prove with the P4 grader.
Deliverables
- docker-compose.yml with Postgres
- Index migration for list filters/sorts
- Attachment upload + in-memory event publisher on create
Acceptance checklist
- [ ] Read nest-testing topic before final submit
- [ ] pnpm course:validate-milestone be-notes-p4 is green
- [ ] Open topic be-notes-p4 for full ship checklist
- [ ] Judgment notes for Redis/Rabbit stay short and tied to real featuresTips
- P4 is Compose + code seams — not a PLATFORM.md essay alone.