06. Clone the Repo (frontend)
By now we should already have a folder on our system that contains our backend/server project
(~/shSMS
). Now we're going to add the frontend client.
Navigate to the folder that's already got
shsms-backend
cd ~/shSMS
Clone the frontend repo
git clone https://github.com/pywkt/shsms-frontend.git
Navigate to the directory we just created
cd shsms-frontend
Install frontend dependencies
npm install
After everything is installed, navigate to
node_modules/cordova-plugin-advanced-background-mode/src/android
and open the file calledBackgroundModeExt.java
change line151
fromView view = webView.getEngine().getView();
toView view = webView.getView();
Save the file.Check to see if there's already an
android
folder in the main directory of the frontend, if so you can skip to step 8. Otherwise we need to add Android to the project.npx cap add android
Now we need to replace the default Capacitor logos/splash screens with the shSMS ones. The following one-liner will move the logo zip to the correct folder and replace the default logos and return your terminal back to the root of the frontend project. You could also manually extract the zip file and replace the contents of
shsms-frontend/android/app/src/main/res
with the contents of the zip, but that doesn't feel as cool imo.mv android-logos.zip android/app/src/main/res && cd android/app/src/main/res && unzip -o android-logos.zip && rm android-logos.zip && cd ../../../../../
Let's create a file to hold our environmental variables. These will be specific to your own personal build and will only be hosted on your machine.
touch .env
Open the
.env
file you just created and add the following, be sure to update these with your own information. We've done this before so it should be familiar, but I'll copy/paste the instructions to use nano again in case you forgot. Also, once we put this on our VPS, we won't have the luxury of a desktop environment so this is good practice!
Personally, I prefer to just do it all in the terminal because we're already in there, why bother with all that double-clicking 🤷♀
Using the terminal:
nano .env
Copy/Paste the sample below
Change the values to match your own info
Ctrl + O
(save changes)Enter
(confirm that you want to overwrite the file)Ctrl + X
(exit the Nano text editor)cat .env
(print the file to the screen and make sure your changes are correct and saved)clear
(clear the terminal in case some shady characters walk past you and want to peek at your screen)
Do not use any kind of quotes/spaces/parenthesis around the values after the equal (=) sign
Values to add to the .env
file:
REACT_APP_KEY_HASH
- Remember that secret key thing we did in the backend? Make sure you add it exactly the same here.
REACT_APP_SMS_SERVER_URL
- The URL to where you will be hosting your server. If using Heroku, add the root path to your app. If self hosting (personal server/raspberry pi/vps/etc), add the location and port. eg: https://281.23.98.102:4001
Your final .env
should look something like this:
REACT_APP_KEY_HASH=THIS_IS_YOUR_SECRET_KEY_IT_CAN_BE_ANYTHING
REACT_APP_SMS_SERVER_URL=https://shsms-heroku-server-01.herokuapp.com
Last updated