diff --git a/README.md b/README.md new file mode 100644 index 0000000..a0f8243 --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# TextBee - Android SMS Gateway + +A simple SMS gateway that allows users to send SMS messages from a web interface or +from their application via a REST API. It utilizes android phones as SMS gateways. + +- **Technology stack**: React, Next.js, Node.js, NestJs, MongoDB, Android, Java +- **Status**: MVP in development, not ready for production use yet +- **Link**: [https://textbee.vernu.dev](https://textbee.vernu.dev/) + +![](https://ik.imagekit.io/vernu/textbee/texbee-landing-light.png?updatedAt=1687076964687) + +## Usage + +1. Go to [textbee.vernu.dev](https://textbee.vernu.dev) and register or login with your account +2. Install the app on your android phone from [textbee.vernu.dev/android](https://textbee.vernu.dev/android) +3. Open the app and grant the permissions for SMS +4. Go to [textbee.vernu.dev/dashboard](https://textbee.vernu.dev/dashboard) and click register device/ generate API Key +5. Scan the QR code with the app or enter the API key manually +6. You are ready to send SMS messages from the dashboard or from your application via the REST API + +**Code Snippet**: Few lines of code showing how to send an SMS message via the REST API + +```javascript +const API_KEY = 'YOUR_API_KEY'; +const DEVICE_ID = 'YOUR_DEVICE_ID'; + +await axios.post(`https://api.textbee.vernu.dev/api/v1/devices/${DEVICE_ID}/sendSMS?apiKey=${API_KEY}`, { + receivers: [ '+251912345678' ], + smsBody: 'Hello World!', +}) + +``` + +## Contributing + +Contributions are welcome! + +1. Fork the project. +2. Create a feature or bugfix branch from `main` branch. +3. Make sure your commit messages and PR comment summaries are descriptive. +4. Create a pull request to the `main` branch. diff --git a/android/.idea/.name b/android/.idea/.name index 6c55949..a454675 100644 --- a/android/.idea/.name +++ b/android/.idea/.name @@ -1 +1 @@ -SMS Gateway \ No newline at end of file +TextBee \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle index 168b628..a9fa6c1 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "com.vernu.sms" minSdk 24 targetSdk 32 - versionCode 5 - versionName "1.3.0" + versionCode 7 + versionName "2.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/android/app/src/main/java/com/vernu/sms/activities/MainActivity.java b/android/app/src/main/java/com/vernu/sms/activities/MainActivity.java index 689382f..4bcdf42 100644 --- a/android/app/src/main/java/com/vernu/sms/activities/MainActivity.java +++ b/android/app/src/main/java/com/vernu/sms/activities/MainActivity.java @@ -54,7 +54,7 @@ public class MainActivity extends AppCompatActivity { private static final int SEND_SMS_PERMISSION_REQUEST_CODE = 0; private static final int SCAN_QR_REQUEST_CODE = 49374; - private static final String API_BASE_URL = "https://api.sms.vernu.dev/api/v1/"; + private static final String API_BASE_URL = "https://api.textbee.vernu.dev/api/v1/"; private String deviceId = null; @@ -89,6 +89,12 @@ public class MainActivity extends AppCompatActivity { deviceIdTxt.setText(deviceId); deviceBrandAndModelTxt.setText(Build.BRAND + " " + Build.MODEL); + if(deviceId == null || deviceId.isEmpty()) { + registerDeviceBtn.setText("Register"); + } else { + registerDeviceBtn.setText("Update"); + } + if (isSMSPermissionGranted(mContext)) { grantSMSPermissionBtn.setEnabled(false); grantSMSPermissionBtn.setText("SMS Permission Granted"); @@ -146,7 +152,7 @@ public class MainActivity extends AppCompatActivity { scanQRBtn.setOnClickListener(view -> { IntentIntegrator intentIntegrator = new IntentIntegrator(MainActivity.this); - intentIntegrator.setPrompt("Go to sms.vernu.dev/dashboard and click Register Device to generate QR Code"); + intentIntegrator.setPrompt("Go to textbee.vernu.dev/dashboard and click Register Device to generate QR Code"); intentIntegrator.setRequestCode(SCAN_QR_REQUEST_CODE); intentIntegrator.initiateScan(); }); diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml index 0de57c3..11c26d1 100644 --- a/android/app/src/main/res/layout/activity_main.xml +++ b/android/app/src/main/res/layout/activity_main.xml @@ -27,7 +27,7 @@ + android:text="Go to textbee.vernu.dev/dashboard and click register device, then copy and paste the api key generated or scan the QR code" />