Giter VIP home page Giter VIP logo

d3bq's Introduction

d3bq

Welcome to d3bq, a companion app for anyone planning a BBQ tour in the Southeastern U.S.

Requirements

Running locally

$ git clone [email protected]:petergcutler/d3bq.git
$ cd d3bq
$ npm install
$ bower install
$ nodemon

BBQ Data

If you'd like to use or review the raw data used to power d3bq, it's stored in: bbq-best-of-south.geojson


Why BBQ?

I created d3bq as my final project for General Assembly's Web Development Immersive program. Each year, I take a bbq trip with a group of friends from Washington, D.C., to St. Simon's Island, GA. The year of the program, however, I couldn't attend due to my engagement with GA's WDI program. This inspired my vicarious bbq experience, the d3bq app.

The Problem

Once you cross the Mason-Dixon line driving south - especially on a long, highway road-trip - each lunch stop becomes a precious opportunity for local, regional BBQ. Each state has a different style and take on the classic food, but finding the best places to stop is a challenge. Whether you're taking 95 South or a web of backroads, you need to find the best BBQ within a reasonable distance of your route, and within a reasonable timeframe for hunger's sake.

d3bq as a Solution

d3bq is my response to this problem. As a first step, it maps eater.com's top-50 BBQ in the South (I don't fully endorse this list, but for dummy data, it's a very strong start) using D3.js's Voronoi methods.

A Voronoi diagram uses Delaunay triangulation to visualize multiple locations/coordinates. Please take a look at the linked Wikipedia articles for the mathematical evaluations involved, but put simply:

A Voronoi map shows a set of locations, and, around each location, it shows the area in which a given point is closer than any other in the set.

For d3bq, this visualization helps users to plan their trip and their pit stops wisely. With d3bq, you can evaluate your route against the presence of BBQ and make sure you're hitting the richest of BBQ regions.

Beyond d3bq 1.0

With only a week to develop the project, there's more work left to do! I'd like to expand d3bq to include user authentication, profiles, and functionality to support user creation and deletion of BBQ locations. This would allow users to participate in the interactivity further, seeing how their changes to the location set of points alters the Voronoi diagram itself. To make this a more useful tool for trip-planning, I'd then like to use Mapbox's directional methods to add routes and directions to the map.

In addition, I happen to have a personal connection to BBQ and interactive visulizations... That said, I'd like to boilerplate the d3bq code to share as a learning tool. Whether it visualizes hospitals, schools, fire stations, or another public or commercial service, the Voronoi map has amazing potential for depicting the relative sparsity or density of locations in a region. I'd like to package this as an open source template for anyone looking to build a d3 Voronoi map.

More to come here!

Credit

Much credit, as always, goes to Mike Bostock, who took the complex work of the OGs, Boris Delaunay and Georgy Voronoy, and immortalized them in such a useable d3 method.

Also, credit to Mapbox and Vladimir Agafonkin for connecting leaflet with d3 so effectively.

Finally, credit to Chris Zetter, who inspired me to attempt a d3 and mapping project in the first place.

Contact

Please contact me anytime with questions or suggestions!

d3bq's People

Contributors

petergcutler avatar

Watchers

James Cloos avatar Jared Arkin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.