Open source web app built with React/Material-UI/Next/Express/Mongoose/MongoDB.
This app allows anyone with a Gmail account to receive payments for sending advice via email.
You can learn:
- React/Material-UI/Next/Express/Mongoose/MongoDB boilerplate (up-to-date boilerplate)
- Google OAuth API,
- Stripe connected accounts, Stripe payments, Stripe invoices API,
- Gmail API
Clone the project and run
yarnto add packages.Before you start the app, create a
.envfile at the app's root. This file must have at least three env variables:MONGO_URL_TEST,Google_clientID,Google_clientSecret. We recommend free MongoDB at mLab.To use all features and third-party integrations (such as Stripe, Google OAuth), add values to all env variables in
.envfile:.env:MONGO_URL="XXXXXX" MONGO_URL_TEST="XXXXXX" Google_clientID="XXXXXX" Google_clientSecret="XXXXXX" Amazon_accessKeyId="XXXXXX" Amazon_secretAccessKey="XXXXXX" Stripe_Test_ClientID="ca_XXXXXX" Stripe_Live_ClientID="ca_XXXXXX" Stripe_Test_SecretKey="sk_test_XXXXXX" Stripe_Live_SecretKey="sk_live_XXXXXX" Stripe_Live_PublishableKey="pk_live_XXXXXX" Stripe_Test_PublishableKey="pk_test_XXXXXX"Before you start the app, create a
env-config.jsfile at the app's root. This file makes Stripe's public keys (keys that start withpk) available on client. Content of this file:env-config.js:const dev = process.env.NODE_ENV !== 'production'; module.exports = { StripePublishableKey: dev ? 'pk_test_XXXXXX' : 'pk_live_XXXXXX', };Start the app with
yarn dev.
Follow these steps to deploy Harbor app with Zeit's now.
Install now:
npm install -g nowPoint your domain to Zeit world nameservers: three steps
Check the
now.jsonfile. If you are usingdotenvand.envfor env variables, no need to changenow.json. If you make changes to the app, check up how to configure now.Make sure you updated
ROOT_URLinpackage.jsonandlib/getRootURL.jsfiles.Check that you have all production-level env variable in
.env.In your terminal, deploy the app by running
now.Now outputs your deployment's URL, for example:
harbor-zomcvzgtvc.now.sh.Point successful deployment to your domain, for example:
now ln harbor-zomcvzgtvc.now.sh builderbook.org.
You are done.


