This app simplifies communication via sms when handling students in the remote classroom.
An instructor signs up and chooses a phone number to represent their class. From there they can invite students to the class via text, and communicate back and forth.
- Docker workflow
- Node.js web server using Express.js
- Basic web user interface using Handlebars for templating and Bootstrap for UI
- Unit tests using
mocha
andchai
- Linting and formatting using ESLint and Prettier
- Install Docker
- Change env.example to .env and fill in variables
- Run docker-compose up --build
- Docker
- A Twilio account - sign up
- A Pusher Account - sign up with Github
- Ngrok - to get messages in real time download here
- Mailtrap - sign up with Github
Config Value | Description |
---|---|
HOST | The ngrok url that you get after running ngrok http 3030 (use reg http, not https) |
TWILIO_ACCOUNT_SID | Your primary Twilio account identifier - find this in the Console. |
TWILIO_AUTH_TOKEN | Used to authenticate - just like the above, you'll find this here. |
PUSHER_APP_ID | Your pusher app id |
PUSHER_APP_KEY | Your pusher app App key (this also needs to be added into the assets/pusher.js file) |
PUSHER_APP_SECRET | Your pusher app secret |
PUSHER_CLUSTER | The cluster your app region is in |
MAIL_USER | mailtrap user - shown in dashboard |
MAIL_PASSWORD | mailtrap password - also shown in dashboard |
After the above requirements have been met:
- Clone this repository and
cd
into it
git clone ...
cd ...
- Set your environment variables
cp .env.example .env
See above to locate the necessary environment variables.
- Build and Run
docker-compose up --build
- Navigate to your Ngrok host and view the application.
That's it!
You can run the tests locally by typing:
npm test
TODO
No warranty expressed or implied. Software is as is.