codeforamerica / dev

Discuss general civic development topics here. Watch this repo to follow the conversation.
4 stars 3 forks source link

[GSoC 13] OpenCounter and Business Data API #15

Open ssfinney opened 11 years ago

ssfinney commented 11 years ago

I'm Stephen Finney, and I was a 2012 GSoC CfA intern. During that time, I learned a lot about Code for America and was given the awesome opportunity to help Team Santa Cruz in building OpenCounter, the app that walks a user through starting a business in the city.

I fell in love with this app when I saw the potential for streamlining the business-creation process for business owners and city government planning departments across the country. It's another example of bringing a city and its citizens together more closely. Today, the app is live and I've enjoyed every second of it.

Now, I want to make it more accessible for other cities to use. Most everyone that I've mentioned the app to have voiced interest in it, but as of right now it's difficult to reuse the app because of the differences in each city and county's regulations about starting a business. I want to rectify this problem and make the app reusable without lots of torturous data-collecting and re-purposing.

To this end, my proposal is to develop an API for a city's business data (and as much as possible, all relevant counties within the city). This includes information for business licenses, zoning requirements, parking regulations, permits, etc. This is no simple task, as the regulations and even format of this data changes for each city.

In helping to build OpenCounter, I've been acquainted with all the information necessary to start a business in that city. This gives me a good expectation of what is necessary to complete this project. In addition, I've done a series of Python web scrapers for city government RFPs and other bids (part of a project with Code for America and Social Coding 4 Good), found here: http://scraperwiki.com/profiles/stephenfinney/.

My plan for this project is as follows:

  1. Determine the underlying strategies for collecting and parsing the data (i.e. how to get the data and what methods will be used to parse it.
  2. Determine the platform for the API.
  3. Separate the data into categories, with subcategories as necessary, for the different data types.
  4. Finalize collection methods and begin coding
  5. Finish the base code
  6. Analyze and polish the results
  7. Project future improvements

Schedule for each step (rough estimates):

  1. 3-5 days
  2. 3-5 days
  3. 1-2 weeks
  4. 3-5 weeks
  5. 5 weeks
  6. All remaining time
  7. All remaining time