0
0
Node.jsframework~30 mins

Transaction handling in Node.js - Mini Project: Build & Apply

Choose your learning style9 modes available
Transaction Handling in Node.js
📖 Scenario: You are building a simple banking system where users can transfer money between accounts. To keep data safe, you need to handle transactions properly so that either the whole transfer happens or nothing happens at all.
🎯 Goal: Build a Node.js script that uses a transaction to transfer money between two accounts safely.
📋 What You'll Learn
Create an initial accounts object with two accounts and their balances
Add a variable to hold the transfer amount
Write a function that performs the transfer inside a transaction
Complete the transaction handling with commit and rollback logic
💡 Why This Matters
🌍 Real World
Handling transactions is crucial in banking and e-commerce to keep data consistent and avoid errors during money transfers or purchases.
💼 Career
Understanding transaction handling is important for backend developers working with databases and APIs to ensure data integrity.
Progress0 / 4 steps
1
Create initial accounts data
Create a constant called accounts as an object with two keys: alice with value 500 and bob with value 300.
Node.js
Need a hint?

Use const accounts = { alice: 500, bob: 300 }; to create the object.

2
Add transfer amount variable
Add a constant called transferAmount and set it to 200.
Node.js
Need a hint?

Use const transferAmount = 200; to set the amount to transfer.

3
Write transfer function with transaction logic
Write an async function called transfer that takes no parameters. Inside it, create a variable transactionActive set to true. Then subtract transferAmount from accounts.alice and add it to accounts.bob. If accounts.alice becomes negative, set transactionActive to false.
Node.js
Need a hint?

Define the function with async function transfer(). Use let transactionActive = true; and update balances. Check if accounts.alice is negative to set transactionActive to false.

4
Complete transaction with commit or rollback
Inside the transfer function, after the balance changes, add an if statement that checks transactionActive. If true, add a comment // Commit transaction. Else, add a comment // Rollback transaction and reset accounts.alice to 500 and accounts.bob to 300.
Node.js
Need a hint?

Use if (transactionActive) { /* commit */ } else { /* rollback */ } and reset balances on rollback.