Poller is MERN stack social media project to start your polls and also respond to some of others polls.
Poller uses following tech tack and tools :
- React
- Redux
- Redux Saga
- React router
- Node.js
- Express
- Sendgrid - For emails
- Mongoose - MongoDB ORM
- Morgan - Reqeust logging
- socket.io - Notificatons
- Firebase - file storage
- MongoDB - Database
- Frontend - Firebase Hosting
- Backend - Heroku
- Database - MongoDB Atlas
- Frontend
Since it's just a react project, just follow below steps:
- Clone the
poller-frontend
project. - Open terminal and navigate to the project folder
- Execute
npm i
to download dependencies - Execute
npm run build
to generate prod build. or - Execute
npm start
to start local server. - Deploy the build from
dist\
folder on your server.
- Clone the
Note - Frontend will rest endpoints which has base url starting with https://poller-backend.herokuapp.com
, so in case of your base url varies, make sure you update it in endpoints.js
file
-
Database Get the MongoDB URI. Make sure the DB user has proper privileges. Create the Database
poller
-
Backend Backend for poller is Node.js. So follow the below steps to execute it
- Clone the
poller-backend
project. - Open the terminal and navigate to the folder.
- Execute
npm i
. - Create a folder named
configs.js
in project root which exports a object as default. - Create a account on Sendgrid for mailing services and add your API key to the Object.
- Also populate Object with MONGODB uri and other details.
- Create a account on firebase (if you don't have one) and then create a new project.
- Create a
keys
folder in project root. - Get the admin key JSON and add it in
keys
folder.
- Clone the
And you are good to go!!!!
And if you like the project, make sure you star the project so others can also learn.