/sms-server-template

SMS Server Template is a generic open-source sms server that has a simple yet powerful design to connect your business with third-party sms service providers (like Twilio, Amazon SNS).

Primary LanguageTypeScriptMIT LicenseMIT

Logo

Open Template Hub - SMS Server Template v5

License Issues PRCLosed LastCommit Release SonarCloud

SMS Server Template is a generic open-source sms server that has a simple yet powerful design to connect your business with third-party sms service providers (like Twilio, Amazon SNS).

Ways to Begin

1. Express Deploy

Deploy this template to Heroku

Deploy

2. Start with Server Generator

Create your server with Server Generator Package

NPM

3. GitHub Template

Use this repository as a Template

GitHubTemplate

Installations

Install nodejs and npm via nodejs.org.

Check installed versions of nodejs and npm via running following commands:

node -v
npm -v

Check project's current nodejs and npm version from package.json.

Environment Variables

If you don't give RESPONSE_ENCRYPTION_SECRET, response encryption mechanism will be disabled automatically.

PORT=4007

PROJECT=OTH
MODULE=SmsServer
ENVIRONMENT=Local

MONGODB_URI={Database Connection Url}
MONGODB_CONNECTION_LIMIT={MongoDB Connection Limit}
        
CLOUDAMQP_APIKEY={MQ Api Key}
CLOUDAMQP_URL={MQ Connection Url}

SMS_SERVER_QUEUE_CHANNEL=oth_sms_queue
ORCHESTRATION_SERVER_QUEUE_CHANNEL=oth_orchestration_queue

REDISCLOUD_URL={Redis Connection Url}
REDIS_CONNECTION_LIMIT={Redis Connection Limit}

ACCESS_TOKEN_SECRET={Access Token Secret}
RESPONSE_ENCRYPTION_SECRET={Response Encryption Secret}

DEFAULT_LANGUAGE={Language Code}

Example Preconfigured Message:

{
   "key": "2FACodeSend", 
   "messages": [
   {
      "language": "en", 
      "message": "Hello ${username}, here is your 2FA code ${twoFactorCode}"
   }
   ],
   "payload": {
      "twilio": {
         "from": "{Your Twillio Phone Number}"
         }
      }
   }

Service Provider Configurations

1. Twillio

   {
      "key": "TWILIO",
      "description": "Twilio SMS Provider",
      "payload": {
         "accountId": "{Your Twillio Account Id}",
         "authToken": "{Your Twillio Account Token}",
         "serviceId": "{Your Twillio Service Id}",
         "from": "{Your Twillio Phone Number}"
      }
   }

Http Requests

You can find list of available http request in the requests directory. You can run http requests directly via WebStorm, for more information check out: jetbrains.com/help/idea/http-client-in-product-code-editor.html

Contributors


Furkan Yavuz

💬 📖 👀

Fatih Turker

💬 📖 👀

Mert Sarac

💬 📖 👀

Contributing

Refer to CONTRIBUTING.md to see how to contribute to Open Template Hub.


Code of Conduct

Refer to CODE_OF_CONDUCT.md to see contributor covenant code of conduct.


LICENSE

The source code for this project is released under the MIT License.