For girls around the world, period can come at unexpected times. When it does come unexpectedly, these female might not have the means-- such as tampons and menstrual pads--necessary to take care of it. We wanted to focus on a problem that people know exist, but reluctant to talk about. The female developer in our team explains that this problem is not only very common among the female populations, it is also a problem that people don't want to talk about. Most girls are embarrassed to approach other people asking for these personal hygiene product, and we wanted to create a platform that will eliminate these awkward conversations.
What it does
We create an android app that allows people to request for these personal hygiene product such as Tampons, Pads, Condoms and Bandaid in the case of emergency. Then we would notify the people that are in the vicinity, in this case people connected to the same wifi if they have these products. We would send a notification If they do and they choose to share it, we will share the location of the person who has the product with the person who needs it using GPS and Google MAP API.
How I built it
The prototype we made utilized a private server, which in this case is the phone hot-spot. The way we do this is by TCP connections, and socket listener. Once different -phones connect to this private server, then we can send a notification to each of the phone connected. The person who needs any particular object will upload a request to the server into the queue, then the other users app would refresh the connection to the server every few minutes in order to see if people have a request that they can help fulfill. Once the user agree to give the product, we would share the location of the two people so that they can meet.
Challenges I ran into
The most challenging that we ran into is we didn't quite figure out how to send notifications to people based on geofence using Microsoft Azure. The notifications don't show when the app is closed, and when the app is open, the notifications is only shown as a toast. Since we couldn't quite figure out how to use Microsoft Azure, we turned to Amazon EC2 server to implement our server, but this service takes 24 hours to set up and we simply don't have the time to wait. So we decided to implement our own server in the mean time using TCP connection. We also don't really have any android programming background, and that was a challenge to pick up the basic of android programming.
Accomplishments that I'm proud of
In the span of 24 hours, we were able to pick up the basic of android programming, as well as learning how to utilize different APIs to create the app functionality that we want. We are also proud that one of our group member designed all the logos and icons from scratch. Lastly, we are also proud that we are able to create something that will positively affect the life of people around us.
What I learned
We learnt the basic of android programming, using different intents and listener method in order to accomplish our goal. In the process, we learnt how the front end part of android programming as well as the back end part of android programming. We learnt how to use various API in order to efficiently program our app's functionality in a short amount of time. We learnt the basic of utilizing TCP connections and how to push notifications to user's phone in a certain location.
What's next for ToGo
The next step for ToGo is to utilize cloud based server, such as Microsoft Azure or Amazon SC2, so that people in different location can use this app instead of just the people that are connected to the same wifi connection. We would also like to expand the products that can be shared.