A full stack application built using react, redux, node, express and mongoDB that allows users to login via Google and send simple surveys to a list of recipients via sendgrid using credits paid for via stripe. A summary of survey responses can be viewed in the app. The application can be run in development or production mode according to the node.process.NODE_ENV
setting.
> git clone https://github.com/chrishodgson/ReactReduxNodeEmailSurvey.git && cd ReactReduxNodeEmailSurvey
> cp config/dev.keys.dist config/dev.keys
Replace REPLACE_ME with your values:
googleClientID
: Google OAuth Client IDgoogleClientSecret
: Google OAuth Client SecretmongoURI
: MongoDB Database connection iemongodb://USER:PASSWORD@HOST:PORT/DATABASE
cookieKey
: random string for a cookie key iekjhkfdhskjfhd
- stripePublishableKey: Stripe API Publishable Key
stripeSecretKey
: Stripe API Secret KeysendGridKey
: SendGrid API Key
Tips:
- Signup for mLab for the mongoDB database as service
https://mlab.com
- Signup for Stripe key
https://stripe.com
- Signup for Sendgrid key
https://app.sendgrid.com
- Signup for Google clientId and secret
https://console.developers.google.com
by enabling the Google+ Api in the google developers console
> cp client/env.dist client/.env.development
Replace REPLACE_ME with your values:
REACT_APP_STRIPE_KEY
: the same value asstripePublishableKey
above, but without the quotes
The following assumes that npm
is installed.
> npm install && npm install --prefix=client && npm run dev