Project Applications are open! Visit our nonprofits page to submit. Apps are due Aug 29 2019.

Maps4All Signup

Code

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.

Maps4All Signup 1 Maps4All Signup 2 Maps4All Signup 3 Maps4All Signup 4

Impact

This application formed the precursor to the official maps4all platform which is serving nonprofits to this day.


The Team

Spring 2017 Team members:

Features

  • 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

Technical Challenges

  • 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.