This is the repository for the backend of Bulk Messaging Web App - SwiftLink. The backend is built with Node.js, Express, MongoDB, and integrates with third-party services to send bulk messages via WhatsApp, SMS, and Email. Additionally, it provides functionality to import contacts from a CSV file.
Make this project for Provothon after getting shortlisted for initial rounds in the time span of 2 days. It was an online hackathon organized at Unstop and the experiance was really great as I've learned a lot of things.
- Send bulk messages via WhatsApp, SMS, and Email
- Import contacts manually or via uploading a CSV file
- Clean and modern User Interface
- User authentication and authorization using Google Auth
- Customizable message templates
- Error handling and logging
- Basic understanding of node i.e. ablility to use and understand npm/nvm commands
- Understanding of routes provided by router
- Ability to connect node.js server to database such as mongodb
- An account of Twilio and a Phone number linked with WhatsApp
Run the folliong command in sequence to setup this repo in your system
$ git clone https://github.com/LovedeepSingh19/Backend-BulkMessage_app
$ cd Backend-BulkMessage_app
$ npm install
$ nodemon
Create .env file in the root directory of as it is necessary to connect different API's
Format -
-
MONGODB_URI
-
SERVICE_SID
-
ACCOUNT_SID
-
AUTH_TOKEN
-
MY_PHONE
-
GOOGLE_APP_PASSWORD
-
GOOGLE_USERNAME
MONGODB_URI requires mongodb connection URL as a string, now SERVICE_SID, ACCOUNT_SID, AUTH_TOKEN, MY_PHONE requires twilio account and SMS service enabled (You will need add phones numbers manually in twilio account if your on Trail/free Account). The last two are from your google account, you'll need to add apps(mail/web-app/mac etc) to your google account by going into your account configurations and press generate app. It'll create GOOGLE_APP_PASSWORD and youe GOGGLE_USERNAME is your Email id.
Adding contacts manually to your twilio account can be very time consuming (You can always buy the premium account). Google App password also expires after a few days so, you have to change it manually. Most hosting service provider only allow 10-20sec response time for its API's so, it's not possible to use WhatsApp feature on slow or limited server (You can always use Premium Hosting Services)