Due to the Covid-19 pandemic, there has been an increase in domestic violence and abuse towards women. A large number of women have faced this situation even before the pandemic. Abuse could be anything verbal, mental or physical. When one goes through any such situation, they become helpless and have very little/no resource to help them cope up. This has been my inspiration to build this.
What it does
This is an app that helps women/non-binary people in distress or people suffering from domestic violence to find shelter homes or hospitals or legal advice. In case of emergency, the victim can directly make a call to the 24 hr helpline for women in distress. They can share their trauma, stories of coping up or how they survived this journey with others anonymously and learn about others stories, so that they know that they're not alone and this too shall pass. If anyone wants to help the community, then they can also volunteer or donate.
How I built it
1) Dart language and Flutter framework to build the frontend of the mobile app. Everything is a widget in flutter, so for all the styling I made custom widgets and used a lot of concepts of constuctors, parameter passing. All the images and icons were taken from various websites. 2)Found a dataset in the form of CSV, removed anomalies and converted it to JSON. 3)Created APIs using node.js, express.js from the JSON data. 4)Deployed it to Heroku. 5) Created model class in Flutter to use the api effectively. 6)Connected the frontend to backend. link better version of video
Challenges I ran into
Initially I thought of using Google Maps API but due to some restriction on international transaction I couldn't sign up with GCP billing details. Then I found out another way to get the data, finding open source APIS. But there were no such APIs proving proper info about USA hospitals, rehabilitation centres etc. So, I had to find a dataset, it was in CSV. Connecting localhost to Android emulator was another issue that I ran into. No quick fix seemed to work, so I had to use Heroku and deploy my Node.js, Express backend. Due to shortage of time I could not implement all the features.
Accomplishments that I'm proud of
Creating the backend - I'm very new to backend development. This is the first time that I've created REST APIs using node.js and express as well as used Heroku. And although I ran into a lot of problems, I resolved them as best as I could. Finishing the project all by myself in such less time! I did stretch my potential I guess. Also, my fellow hackers will be able to use the publicly hosted API that I created as dummy API in any of their project.
What I learned
I learned express.js, node.js and how to create REST APIs and deploy it to Heroku.
What's next for EmpowHer
Integrate the payment gateway, add some more features, deploy to AppStore.