A. Setting Up the server -
- Install heroku-cli
- Install nodemon with
npm i -g nodemon
- Run
npm i
to install the server-side dependencies - Run
touch .env
then open it and fill it like the sample .env file. - Run
npm start
and make sure the mongo instance is also running.
B. Setting Up the client -
- Run
cd client
in separate terminal to change into client directory. - In client directory run
npm i
to install client-side dependencies. - In client directory run
touch .env
and fillstripePubKey=pk_test_--------------
in it . - In client directory run
npm start
. - Navigate to localhost:3000 in the browser.
NODE_ENV=development
port=5000
googleClientID=-------------.apps.googleusercontent.com
googleClientSecret=--------------
mongoURI=mongodb://localhost:27017/merndemodb
cookieKey=---------------
HOST_URL=http://localhost:5000
stripePubKey=pk_test_--------------
stripeSecretKey=sk_test_-------------
- Configure Express to work with React.js via Proxy.
- Google Oauth2.0 Api.
- Stripe payment Api.
- Setup production build to Heroku.
- Handle multiple env variables for both server and client.
- Use ES2017 syntax with async/await instead of promises.
- React with Redux architecture.
- Session Authentication with Passport.js and Cookies.
- Create Webhooks for Google and Stripe Apis.
- Database Management using MongoDB.
Note -