Skip to content

New-Joiner Learning Path — 4-Week Onboarding Roadmap

A structured, self-paced ramp for a new engineer joining uEngage Prism (uengage-crm monolith + prism-services serverless). 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)

  1. ../01-Business/Product-Overview.md — what Prism is, revenue model, module map, the data spine.
  2. ../01-Business/Business-Flow.md — client & guest lifecycles, order lifecycle, RFM ladder.
  3. ../01-Business/Terminologies.md — glossary (RFM, LTV/LTO/AOV, WABA, DLT, ROI attribution). Keep this open all week.
  4. ../00-Getting-Started/System-Overview.md — the 10-minute technical model.
  5. ../02-Architecture/High-Level-Architecture.md — topology, Kafka topics, datastore responsibilities, the "why".
  6. ../02-Architecture/Request-LifeCycle.md — sync HTTP vs async cron/queue.
  7. ../02-Architecture/Folder-Structure.md + Module-Architecture.md — where code lives.
  8. ../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.js for 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/uengage with a sample payload, then db.crm_queue.find().sort({insertedAt:-1}).limit(1) — see your doc land with status: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

  1. ../03-Modules/Order-Ingestion/README.md — POS sources, crm_queue, source ids, dual-writer note.
  2. ../03-Modules/Customer-CRM/README.md — Customer 360, dedup, LTV/LTO/AOV.
  3. ../03-Modules/Campaigns/README.md — 3 pipelines, wallet debit, ROI attribution.
  4. ../03-Modules/Loyalty/README.md + ../03-Modules/Wallet/README.md — points earn/burn, tiers, ledger.
  5. ../06-Queues/README.md + ../06-Queues/Cron-Catalog.md — queue collections, cron cadences.
  6. ../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_queuecrmPointsAllocationQueueCron.jshandleWalletPointsFlow.js in code. Note the 5-retry / 15-min backoff.
  • Read campaignController.js, automatedCampaignController.js, campaignControllerDynamic.js headers; 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

  1. ../03-Modules/Customer-Intelligence-RFM/README.md — RFM nightly job, 37 filters, segment→action.
  2. ../03-Modules/Automated-Journeys/README.md — 8 journeys, backtracking cap.
  3. ../03-Modules/Dashboard-Analytics/README.md — MIS/aggregation, dual dashboards.
  4. ../03-Modules/WhatsApp/README.md + ../03-Modules/SMS-Push/README.md — channels, providers, receipts.
  5. ../11-Debugging/README.md — logs, trace_id, pool stats.
  6. ../13-CommonIssues/Known-Bugs-From-Roadmap.md — the "E" bugs (E1.3, E1.9, E1.10).
  7. ../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 with customerInsightsCron.js and segments_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/Redemptions show 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 (webPool vs jobsPool).
  • 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%