Node.js, Express.js and React.js app that allows you to send out emails to collect feedback

You can see the LIVE DEMO here.

Source Code

The source code is available at Github.

Tech Stack

Built with


This is a toy app that allows you to make fake payments with Stripe and send out simple email surveys with SendGrid.

The app was coded with the help of Stephen Grider’s Udemy course Node with React: FullStack Web Development.

Differences/enhancements over the course:

  • uses Passport-Next fork and Passport-Next Google OAuth 2.0 Strategy instead of the stale upstream repositories (and deprecated G+ auth)
  • additional error handling with try/catch for Redux actions
  • conditional rendering on the homepage depending on authentication
  • protected routes if user is not authenticated
  • credits validation (checks if user has credits in their account before showing a new survey form)
  • 404 page and client-side “catch-all” routing
  • ability to delete surveys
  • Metro UI color scheme
  • uses Ramda.js instead of Lodash.js

How to Use

Navigate to and log in with your Google Account.

You can add credits via Stripe with fake credentials. Click on the blue “ADD CREDITS” button and fill in the pop-up window. Insert a dummy email. The card number is:

4242 4242 4242 4242

Month/Year and CVS: add dummy numbers. Then “pay” \$5.

On the main page of the app, click on “Collect now” and create a fake survey.

The survey will be send via SendGrid and users can click on “yes” or “no”. You can see these in your dashboard.