In this exercise you are requested to develop MySMS Messenger.
MySMS Messenger is a full stack web app allowing the end users to send SMS messages as well as displaying them.
- The frontend of the app should be written in Angular's latest stable version.
- The backend (API) of the app should be written in Ruby on Rails with a database of your choice.
- Sending an SMS should be done through Twilio API with a free account you've opened on your own (note they have a limit of a single phone number for free account, that's OK)
- You're able to send a message by talking to the backend API
- The messages sent so far are stored in a DB that the backend manages
- You're able to see the messages that were previously sent - the app should talk to the backend through a messages listing API endpoint
- Only messages sent by the user's session ID cookie should be visible when calling the listing API
Bonus 1 - Add basic user authentication
Instead of using a session ID - add a user model to the backend.
Users should be able to provide a user name + password through the app to login and then also log out
Messages should be stored per user rather than session ID.
Note - use built in / well known GEMs to add support for that rather than implementing your own authentication (Always a bad practice).
In this part of the exercise, you are requested to deploy MySMS Messenger.
End result would be a live demo of app that is fully functional.
Add a reflection to the message cards showing that twilio successfully delivered the message:
https://www.twilio.com/docs/usage/webhooks/sms-webhooks?code-sample=code-send-an-sms-with-a-statuscallback-url&code-language=Ruby&code-sdk-version=5.x
Once done, please push your code to a public GitHub repo along with a link to the live demo of the app.