Survey Cookies 🍪 is a web-base application built with Node.js, Express, and MongoDB. It helps users to send surveys to their customers. Users can easily view the responses with a clear format
Visit at: https://surveycookies-67932.herokuapp.com/
- MaterializeCSS: a front-end framework to help create responsive websites
- Google Fonts: typographic assets for building customized front-end font style
- React: a JS library for building user interfaces
- ReactDOM: DOM handler for React application
- Redux: a predicatable state container for JavaScript applications
- passport: to add authentication mechanism, such as register and login functionalities
- Mongoose: the ODM package of MongoDB; serve as the website's database solution
- Stripe: to process online payment
- SendGrid: a cloud-based email delivery platform for transactional and marketing email
- cookie-session: a simple cookie-based session middleware
- react-router: to process navigational actions in the application
- axios: a promise based HTTP client for the browser and node.js
Clone this repository to your local machine
$ git clone https://github.com/weijchen/survey-cookies
-
Create SendGrid, MongoDB Atlas, Stripe & Google account
-
Create and get a SendGrid API Key
-
Create and get a MongoDB API Key
-
Create and get a Stripe API Key
-
Create an Google App and get the App ID & Secret
-
Enter the project folder
$ cd survey-cookies
- Install npm packages
$ npm install
- Create dev.js file
$ touch config/dev.js
- Store API Key under /config/dev.js file and save
module.exports = {
googleClientID: <YOUR GOOGLE_CLIENT_ID>,
googleClientSecret: <YOUR GOOGLE_CLIENT_SECRET>,
mongoURI: <YOUR MONGO_URI>,
cookieKey: <YOUR GOOGLE_CLIENT_ID>,
stripePublishableKey: <YOUR STRIPE_PUBLISHABLE_KEY>,
stripeSecretKey: <YOUR STRIPE_SECRET_KEY>,
sendGridKey: <YOUR SENDGRID_KEY>,
redirectDomain: http://localhost:3000
}
- Activate the server
$ npm run dev
- Find the message for successful activation
> Server start at http://localhost:5000
> Connected to DB!
You may visit the application on browser with the URL: http://localhost:3000