An integrated platform to launch Maps4All instances (Spring 2017)
Technologies used: Heroku, Flask, Stripe, Namecheap, Docker
About the Project
Nonprofits need a way to effectively communicate where resources exist and how to get access to them. To address this issue, Maps4All was created for the Juvenile Law Center and was later reappropriated to be a generalized solution for displaying resources on a map. The issue was that members of Hack4Impact would need to manually set up an instance of Maps4All each time another nonprofit wanted access to the platform. This project aimed to solve that.
About the Client: Maps4All
Maps4All is a open source project created by Hack4Impact for the purpose of allowing nonprofits to easily display resources on a map.
This application formed the precursor to the official maps4all platform which is serving nonprofits to this day.
Spring 2017 Team members:
Ability to launch instances using Heroku’s API
Created a generalized version of Maps4All that could work on heroku without additional setup
Created a user payment process by which users could pay on a monthly basis for usage of the platform via Stripe
Administrator accounts could manage existing Maps4All instances
Each instance of Maps4All could get their own subdomain via namecheap’s API
Creating instances via Heroku was very involved and we needed to find a way to automate the process of launching an instance. After discovering the OAuth API, we were able to execute commands as a user and launch any instance of an application (and create addons for the user)
In order to create a means by which to allow users to pay for the project, we needed to find a payment platform that could integrate into our app. Fortunately, we came across the Stripe API which allowed us to automate this process on a monthly basis.
In order to avoid creating a URL that was nonsensical, we allowed users to create their own subdomain on the platform as opposed to heroku’s randomly generated name. This involved a lot of backend work on our end, but we eventually found a way to create subdomains with namecheap so that each user could have their own maps4all domain name.