Inspiration

With a growing epidemic of drug abuse, resources for overcoming abuse and addiction are becoming more abundant. But, these resources are scattered around the web, often difficult to reference and utilize when truly needed. While researching ideas for a project prior to this competition, we had a difficult time finding a centralized resource for gaining information on hotlines and other services offered to abuse and addiction victims. If you were to Google "help combating drug addiction," hundreds of different results would appear. This can be overwhelming for someone actually wanting to find help, let alone someone just trying to research the idea. An application programming interface (API) to gain the most relevant resources for combating abuse, in a structured and accessible format is needed for a growing epidemic of abuse and addiction.

What it does

It structures data from resources on abuse and addiction, including domestic violence hotlines, crisis centers, and local clinical treatment centers into one accessible API. The API can be filtered down to properly search for the resource or service a person is looking for. We also added an option for allowing users to add additional resources to the API to further add to the growing collection. The API can be used for accessing services that are available nationwide, and locally, like right here in Pittsburgh. All of the data is stored in a PostgreSQL database and anyone can utilize the API.

How we built it

We are utilizing python3.6 with flask and PostgreSQL to host an API service on Heroku. As for the demo application for utilizing the API, we are using CSS3, HTML5, Google-Maps, Bootstrap, and jQuery to GET and POST to the API on Heroku.

Challenges we ran into

Deploying our flask API onto Heroku proved to be much more time consuming than originally thought. There are virtually no up to date tutorials on how to utilized a database with a flask application on Heroku. We also tried to set up a domain, reachoutapi.com, to host our API on, however, the DNS server (domain.com) takes 24 hours to properly update the DNS and CNAME records.

Accomplishments that we're proud of

We are proud to publish a resource for people to utilize in their applications and websites to help educate others on the services available to those in need, whether it be on a national or local level.

What we learned

We learned how to properly make an API truly RESTful. We also learned how to properly set up a server for POST and GET requests. We learned a lot about deploying web applications on Heroku.

What's next for ReachOut API

We would want individuals to be able to upload their own resources in an easy way. A good way to get resources in the database that otherwise would not is small town activists sharing their own resources and meetings. With enough traction, every town in the country would have detailed resources at their fingertips.

Adding authentication for POST would be an immediate next step for security reasons.

Hopefully, other people would use the API to build their own applications centered around fighting abuse in their areas.

Share this project:

Updates