Built using the MEVN stack (MongoDB, Express.js, Vue.js, & Node.js), this web application allows unauthenticated users to suggest quotes via email. The email suggestion form is protected using Google reCAPTCHA. The owner of the email account can then set their favorite suggestion to be displayed.
-
Clone this repo
-
Install Node v12.6.0
- I recommend using Node Version Manager
-
Install dependencies:
npm run install
-
Create a
.env
file in theserver
directory and set the following properties:EMAIL_PASSWORD
- The password for your email accountEMAIL_PREFIX
- (Optional) a prefix that will prepend the subject of every message for easier inbox filteringEMAIL_USERNAME
- The email/username for your email accountRECAPTCHA_SECRET_KEY
- The secret key from the API key pair provided by Google
-
Sign up for a Google reCAPTCHA API key pair
-
Permit application to access the email account you are using
-
Install & start MongoDB: Install MongoDB Community Edition
- On macOS using Homebrew:
brew tap mongodb/brew
brew install [email protected]
brew services start [email protected]
- On macOS using Homebrew:
-
Start the application:
npm run start
-
Navigate to http://localhost:8080/
- Send a quote using the form under the Suggestions tab
- Check your email
- Click the link in the email to set that suggestion as the 'quote of the day'
-
Stop MongoDB:
brew services stop [email protected]
-
Stop the application with
Ctrl+C
/Cmd+C
in the terminal window where it is running