New-Joiner Learning Path — 4-Week Onboarding Roadmap¶
A structured, self-paced ramp for a new engineer joining uEngage Prism (
uengage-crmmonolith +prism-servicesserverless). Each week has Goals, Read (exact KB pages), Hands-on tasks, and a Checkpoint that links to a graded assessment. By the end of Week 4 you can trace any order end-to-end, debug a production incident, and ship a small feature.Companion: the Interview & Self-Check bank for spot-checks; 15-Assessments for graded exams.
The path at a glance¶
flowchart TD
subgraph W1["Week 1 · Foundations"]
A1[Product + Business] --> A2[Architecture] --> A3[Local Setup] --> A4[Trace 1 order]
end
subgraph W2["Week 2 · Core Modules"]
B1[Order Ingestion] --> B2[Customer/CRM] --> B3[Campaigns] --> B4[Loyalty]
end
subgraph W3["Week 3 · Advanced + Debugging"]
C1[RFM/Intelligence] --> C2[Journeys] --> C3[Dashboard] --> C4[WhatsApp] --> C5[Prod debugging]
end
subgraph W4["Week 4 · Capstone"]
D1[Pick capstone] --> D2[Build + test] --> D3[Review] --> D4[Final assessment]
end
W1 -->|Checkpoint: Getting-Started + Business| W2
W2 -->|Checkpoint: Assignments trace| W3
W3 -->|Checkpoint: L4 + L5| W4
W4 -->|Final: L1–L5 mixed| DONE([Ready: on-call shadow])
gantt
title Prism Onboarding — 4 Weeks
dateFormat YYYY-MM-DD
axisFormat %b %d
section Week 1 Foundations
Product & Business :w1a, 2026-07-06, 1d
Architecture :w1b, after w1a, 2d
Local setup :w1c, after w1b, 1d
Trace one order + checkpoint :milestone, w1d, after w1c, 1d
section Week 2 Core Modules
Order Ingestion :w2a, 2026-07-13, 1d
Customer / CRM :w2b, after w2a, 1d
Campaigns :w2c, after w2b, 1d
Loyalty + checkpoint :milestone, w2d, after w2c, 2d
section Week 3 Advanced + Debug
RFM / Intelligence :w3a, 2026-07-20, 1d
Journeys + Dashboard :w3b, after w3a, 1d
WhatsApp :w3c, after w3b, 1d
Prod debugging + checkpoint :milestone, w3d, after w3c, 2d
section Week 4 Capstone
Capstone build :w4a, 2026-07-27, 3d
Review + final assessment :milestone, w4b, after w4a, 2d
Week 1 — Product, Architecture, Local Setup & Basics¶
Goal: Build the mental model. By Friday you can explain what Prism does, how it's built (two deployables, one DB), run it locally, and trace one order into crm_queue.
Read (in order)¶
- ../01-Business/Product-Overview.md — what Prism is, revenue model, module map, the data spine.
- ../01-Business/Business-Flow.md — client & guest lifecycles, order lifecycle, RFM ladder.
- ../01-Business/Terminologies.md — glossary (RFM, LTV/LTO/AOV, WABA, DLT, ROI attribution). Keep this open all week.
- ../00-Getting-Started/System-Overview.md — the 10-minute technical model.
- ../02-Architecture/High-Level-Architecture.md — topology, Kafka topics, datastore responsibilities, the "why".
- ../02-Architecture/Request-LifeCycle.md — sync HTTP vs async cron/queue.
- ../02-Architecture/Folder-Structure.md + Module-Architecture.md — where code lives.
- ../00-Getting-Started/Local-Setup.md — get it running.
Hands-on tasks¶
- Clone both repos (
uengage-crm,prism-services); start local MongoDB, MySQL, Redis. -
npm run start:dev; confirm boot log: config → crons registered → routes mounted → Socket.IO → listen → Mongo connected. - Comment out heavy crons in
index.jsfor local dev (there's a comment marking them). Never point local crons at prod DBs. - Draw the Product-Overview §5 data spine from memory; check it.
- Smoke test:
POST /injestion/uengagewith a sample payload, thendb.crm_queue.find().sort({insertedAt:-1}).limit(1)— see your doc land withstatus:0. - Find where the six auth middlewares are wired; identify which one guards the ingestion route.
Checkpoint 1¶
Take 00-Getting-Started-Assessment and 01-Business-Assessment. Target ≥ 80% on the L1 MCQs; attempt the L2 scenarios. Spot-check yourself with Interview bank §1–2.
Week 2 — Core Modules: Order Ingestion, Customer/CRM, Campaigns, Loyalty¶
Goal: Deeply understand the four modules that carry most of Prism's daily value, and the queues/crons behind them.
Read¶
- ../03-Modules/Order-Ingestion/README.md — POS sources,
crm_queue, source ids, dual-writer note. - ../03-Modules/Customer-CRM/README.md — Customer 360, dedup, LTV/LTO/AOV.
- ../03-Modules/Campaigns/README.md — 3 pipelines, wallet debit, ROI attribution.
- ../03-Modules/Loyalty/README.md + ../03-Modules/Wallet/README.md — points earn/burn, tiers, ledger.
- ../06-Queues/README.md + ../06-Queues/Cron-Catalog.md — queue collections, cron cadences.
- ../04-Database/README.md + MongoDB-Collections.md + MySQL-Tables.md — the stores you'll touch.
Hands-on tasks¶
- In your local DB, insert a fake order into
crm_queue, let (or manually invoke) the ingestion path, and watch a customer get upserted with recomputed LTV/LTO/AOV. - Follow
crm_points_allocation_queue→crmPointsAllocationQueueCron.js→handleWalletPointsFlow.jsin code. Note the 5-retry / 15-min backoff. - Read
campaignController.js,automatedCampaignController.js,campaignControllerDynamic.jsheaders; for one campaign type, map it to its channel queue. - Trace where the business wallet is debited on a send (
sendSms.js/ campaign builder) and where a send is blocked on low balance. - Write a one-page note: "the four core queues and their draining crons."
Checkpoint 2¶
Complete Assignments → "Get it running & trace one order" end-to-end and write up the trace. Self-quiz with Interview bank §4 & §6.1–6.8. Target: can name every cron in rapid-fire §7 R1–R10 from memory.
Week 3 — Advanced Modules + Production Debugging¶
Goal: Understand the intelligence/activation/presentation layers, then learn to debug real incidents.
Read¶
- ../03-Modules/Customer-Intelligence-RFM/README.md — RFM nightly job, 37 filters, segment→action.
- ../03-Modules/Automated-Journeys/README.md — 8 journeys, backtracking cap.
- ../03-Modules/Dashboard-Analytics/README.md — MIS/aggregation, dual dashboards.
- ../03-Modules/WhatsApp/README.md + ../03-Modules/SMS-Push/README.md — channels, providers, receipts.
- ../11-Debugging/README.md — logs,
trace_id, pool stats. - ../13-CommonIssues/Known-Bugs-From-Roadmap.md — the "E" bugs (E1.3, E1.9, E1.10).
- ../12-BestPractices/Technical-Debt.md — dual writers, non-atomic points, stubbed consumers.
Hands-on tasks¶
- Read
crons/rfmSegments.js; explain the 90-day window and the R×FM → segment mapping. Contrast withcustomerInsightsCron.jsandsegments_count.js. - Given a
trace_id, practice reconstructing a request from logs (Winston + logger-service). - For each "what to check when nothing happened" row in Request-LifeCycle §5, name the exact collection/cron you'd inspect.
- Reproduce E1.9 (AOV = ₹0) logic on paper: why does
Revenue/Redemptionsshow 0, and what's the fix? - Explain E1.3 (WhatsApp volume mismatch) in terms of the stubbed Kafka consumers vs monolith crons.
Checkpoint 3¶
Take Level-4-Architecture and Level-5-Production-Debugging. Target: full marks on L4 conceptual; on L5, produce a correct investigation path for at least 4 of 6 incidents.
Week 4 — Hands-on Capstone + Final Assessment¶
Goal: Prove end-to-end competence by shipping a small, reviewed change and passing a mixed-level final.
Capstone (pick ONE, or combine two small ones)¶
All are drawn from Assignments:
- Add an API endpoint (e.g. a read endpoint returning a customer's points ledger) — full request lifecycle incl. auth.
- Add a DB column/collection field and thread it through ingestion → model → controller.
- Fix a real bug: E1.9 (AOV = ₹0) in "Your Effective Offers".
- Optimize a query: add one index from the gaps list and measure before/after.
- Add a feature flag gating a new behavior via business_configs.
- Add a cron with overlap protection using the cron_stats lock pattern.
Task checklist¶
- Write a short design note (what, files to touch, acceptance criteria) before coding.
- Branch off
main; keep the change small and testable. - Respect multi-tenancy (
parent_business_id/child_business_id) and the correct pool (webPoolvsjobsPool). - Add/adjust logging with
trace_id; do not introduce new hardcoded secrets. - Self-review against ../12-BestPractices/ and open a PR for review.
- Demo the change and its verification (before/after, or the trace it produces).
Final assessment¶
Complete a mixed L1–L5 final drawn from all five assessment files: - L1/L2: 00-Getting-Started + 01-Business - L3: code-reading questions in the Interview bank §6–7 - L4: Level-4-Architecture - L5: Level-5-Production-Debugging
Graduation bar: ≥ 80% overall, a merged capstone PR, and the ability to whiteboard the order → WhatsApp win-back flow unaided. Then begin on-call shadowing.
Progress tracker¶
| Week | Checkpoint | Pass bar | Done |
|---|---|---|---|
| 1 | Getting-Started + Business assessments | ≥80% L1 | ☐ |
| 2 | Trace-one-order assignment write-up | reviewer-approved | ☐ |
| 3 | Level-4 + Level-5 assessments | L4 full / L5 ≥4/6 | ☐ |
| 4 | Capstone PR + mixed final | merged + ≥80% | ☐ |