In lots of places in the world, the Internet does not arrive due to the lack of infrastructure, leaving people in these areas disconnected. This is a big problem because it disallows them to access many important facilities in our present world. Still, the coverage area of SMS tends to be larger than the area of Internet coverage. That's why we came with the idea of GeoSMS. GeoSMS allows these people to perform some operations that they wouldn't be able to perform otherwise.
Additionally, GeoSMS can also be useful in urban areas. After all, have you ever been stuck in some sort of an emergency situation like being lost when you have no Wi-Fi and no data? Actually, I have been, and trust me when I say that it's not fun. To solve this, GeoSMS allows you to perform various emergency searches such as finding the directions to an address, which supports directions via transit data, and then we also added some mini-games to lighten up your mood while you wait.
First, the user sends an SMS text message to the Twilio number (currently, the number has to be authorized to be able to do this). Then, the backend arrives to the server which processes your request. Once processed, the backend will send a reply through another SMS text message with the corresponding reply for your request. Finally, the user receives the SMS text message with his message.
The server can process lots of different operations such as searching something on Google, defining words, finding directions or getting information about busses. There are also some fun options like being told a joke or generating a random piece of advice.
- Connect the flask server-side from your localhost to "ngrok" (do not change port number). You can find info about "ngrok" here.
- Input all the necessary API leys for the various providers used in the
features.pyfile. - Make sure to have Twilio set up with a number for receiving and sending SMS texts messages back to the client.
- Launch
app.pyand start invoking commands by sending them to the number you have assigned on Twilio andapp.pyas the number that will send and receive messages from and back to the client. - Look at the returning responses!
Thats it!😄
demo.MP4
All the code owned in this repository is under the MIT license.
Thanks to these wonderful people for making GeoSMS possible!
