DEV Community

Akshay090
Akshay090

Posted on

1 1

A cloud function to implement a counter

To add the counter we need to append the following code in the index.js, which we created in Part-2 post, please refer it before proceeding.

Code to implement the counter

exports.genderCountFxn = functions.database
.ref("/atEvent/{date}/{id}")
.onCreate((snapshot, context) => {
// Grab the current value of what was written to the Realtime Database.
const Visitor = snapshot.val();
console.log("Inside Visitor Fxn");
console.log(Visitor);
console.log(Visitor.name);
//---------------------------------------------------
//Working gender counter
const genderCountersRef = admin
.database()
.ref(`count/${Visitor.gender}`);
return genderCountersRef
.transaction(counter_value => {
return (counter_value || 0) + 1;
})
});
//To deploy firebase deploy --only functions:genderCountFxn
exports.overallCountFxn = functions.database
.ref("/atEvent/{date}/{id}")
.onCreate((snapshot, context) => {
const Visitor = snapshot.val();
const overallCountersRef = admin
.database()
.ref(`count/overAllTotal`);
return overallCountersRef
.transaction(counter_value => {
return (counter_value || 0) + 1;
})
});
//To deploy firebase deploy --only functions:overallCountFxn
view raw index.js hosted with ❤ by GitHub

We would be creating the atEvent node in the next blog, where it would be generated when we scan the QR with the android app.

To understand the path and the code in above gist, have a look at the Realtime database.

Understanding how to get this done took an effort, so if you don't get it they feel free to ask me in comments. This code is just of few lines, but it did it job perfectly to give me a bad time 😰

No lets us move to the next and the last part of this series here.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay