{"id":313,"date":"2014-04-18T15:09:13","date_gmt":"2014-04-18T15:09:13","guid":{"rendered":"http:\/\/jsndev.net\/?p=313"},"modified":"2014-04-18T15:09:13","modified_gmt":"2014-04-18T15:09:13","slug":"dig-south-hackathon-hackcharleston","status":"publish","type":"post","link":"https:\/\/2022.jasonrikard.com\/?p=313","title":{"rendered":"Dig South Hackathon #hackcharleston"},"content":{"rendered":"<p>Last weekend I participated in the <a href=\"http:\/\/digsouth.com\/\" target=\"_blank\" rel=\"noopener\">Dig South<\/a> Hackcharleston: Code for the\u00a0Cause event with my <a href=\"http:\/\/ajrikard.com\" target=\"_blank\" rel=\"noopener\">sister<\/a>\u00a0as team Apparctica. \u00a0The overnight\u00a0hackathon\u00a0was held\u00a0during a five\u00a0day\u00a0Interactive Festival out of Charleston, SC called Dig South and organized in partnership with <a href=\"http:\/\/theironyard.com\/\" target=\"_blank\" rel=\"noopener\">The Iron Yard<\/a>. \u00a0Ten\u00a0groups of one to three developers, designers and pitch men assimilated in the TD Arena downtown on Friday evening until Saturday afternoon to compete\u00a0for the $500 first place cash prize. \u00a0Groups where randomly assigned to one of six topics based around the needs of the Lowcountry Open Land Trust and were tasked with building a mobile application. \u00a0Food was provided to the participants in the form of snacks, sodas, energy drinks,\u00a0<a href=\"http:\/\/eatatverde.com\/\" target=\"_blank\" rel=\"noopener\">Verde<\/a> wraps, and a mix of PBR and <a href=\"http:\/\/www.palmettobrewery.com\/\" target=\"_blank\" rel=\"noopener\">Palmetto Brewing Company<\/a> lagers. \u00a0Repositories were managed on Github and are now\u00a0<a href=\"https:\/\/github.com\/HackCharleston\" target=\"_blank\" rel=\"noopener\">open-sourced<\/a>.<\/p>\n<p>The topics that were available:<\/p>\n<ol>\n<li>Historic Landscapes &#8211; Upload images and text of significant historic landscapes and identify what landscape is being reviewed based on location.<\/li>\n<li>Soul of the Lowcountry &#8211; Relate the four core values of SOL and upload photos for each.<\/li>\n<li>Yelp for the Outdoors &#8211; Search outdoor location to identify outdoor activities.<\/li>\n<li>Land StoryCorps &#8211; Tell the story of regional histories of protected properties.<\/li>\n<li>Merlin for Waterways (Citizen Science) &#8211; Maritime, aquatic animals, and flora. \u00a0Linking waterways with the land.<\/li>\n<li><strong>Local Food Sourcing<\/strong> &#8211; What is available where? Sources and buyers can post where local and organic produce is being sold.<\/li>\n<\/ol>\n<p>My team was assigned to #6, Local Food Sourcing. \u00a0Our vision for the idea was that the app would work primarily as an educational tool for lowcountry residents to learn where and when items would be available. \u00a0The app should list farms, farmers markets, and local groceries\u00a0with and show which\u00a0items are\u00a0season. \u00a0It should also allow information to submitted for updates.<\/p>\n<p>The USDA maintains a database of farmers markets that encourages market owners to submit updates. The\u00a0<a href=\"http:\/\/search.ams.usda.gov\/farmersmarkets\/\" target=\"_blank\" rel=\"noopener\">USDA farmers market\u00a0API<\/a>\u00a0would be the fastest way to a working dataset for our app while allowing people to update the information through the USDA website.<\/p>\n<p>The application we made was developed with an Angular framework called <a href=\"http:\/\/mobileangularui.com\/\" target=\"_blank\" rel=\"noopener\">Mobile Angular UI<\/a>. \u00a0It provides a boilerplate of basic yet stylish responsive UI elements made with Angular and a subset of Bootstrap.\u00a0All of the application logic was client side javascript with no backend. \u00a0The application was\u00a0built with grunt.js and deployed to Heroku with a basic node.js Express server.<\/p>\n<p>I spent\u00a0the first half of the hackathon figuring\u00a0out how to deploy the application which I should have sorted out beforehand. \u00a0I was focused on this first step because most hackathons won&#8217;t qualify your application for competition if it&#8217;s not deployable to it&#8217;s specifications. \u00a0Unfortunately\u00a0this restriction was lifted at the end\u00a0and became\u00a0an unnecessary requirement for competition.<\/p>\n<p>Come crunch time, I didn&#8217;t have enough time to sanitize the return data from the farmers market API. \u00a0You&#8217;ll notice that the dataset contains random HTML,\u00a0returns the distance to the location in the same parameter as the market name, and that the schedule returns a string of spaces when empty. \u00a0All of these API issues lead to some unusual user experiences.<\/p>\n<p>In the end, we didn&#8217;t win the\u00a0prize but we received all the other benefits of hackathons\u00a0like\u00a0friends, food, experience and booze. \u00a0Until next time, check out\u00a0what we came up with. \u00a0And if you&#8217;re curious how to deploy a site built with Grunt to Heroku, check out <a href=\"https:\/\/medium.com\/the-javascript-collection\/c227cb1ddc56\" target=\"_blank\" rel=\"noopener\">this tutorial<\/a> :).<\/p>\n<p><em>Best viewed on a mobile device. \u00a0<\/em><a href=\"http:\/\/lolt.herokuapp.com\" target=\"_blank\" rel=\"noopener\">lolt.herokuapp.com<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/jsndev.net\/wp-content\/uploads\/2014\/04\/IMG_2255.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-316\" src=\"http:\/\/jsndev.net\/wp-content\/uploads\/2014\/04\/IMG_2255-169x300.png\" alt=\"LOLT Home Screen\" width=\"169\" height=\"300\" \/><\/a>\u00a0 \u00a0<a href=\"http:\/\/jsndev.net\/wp-content\/uploads\/2014\/04\/IMG_2256.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-319\" src=\"http:\/\/jsndev.net\/wp-content\/uploads\/2014\/04\/IMG_2256-169x300.png\" alt=\"Menu Options\" width=\"169\" height=\"300\" \/><\/a>\u00a0\u00a0 <a href=\"http:\/\/jsndev.net\/wp-content\/uploads\/2014\/04\/IMG_2258.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-318\" src=\"http:\/\/jsndev.net\/wp-content\/uploads\/2014\/04\/IMG_2258-169x300.png\" alt=\"Seasonal education \" width=\"169\" height=\"300\" \/><\/a><\/p>\n<p><a href=\"http:\/\/jsndev.net\/wp-content\/uploads\/2014\/04\/IMG_2257.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-317\" src=\"http:\/\/jsndev.net\/wp-content\/uploads\/2014\/04\/IMG_2257-169x300.png\" alt=\"Locations from USDA API\" width=\"169\" height=\"300\" \/><\/a>\u00a0\u00a0\u00a0<a href=\"http:\/\/jsndev.net\/wp-content\/uploads\/2014\/04\/IMG_2259.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-325\" src=\"http:\/\/jsndev.net\/wp-content\/uploads\/2014\/04\/IMG_2259-169x300.png\" alt=\"LOLT Markets\" width=\"169\" height=\"300\" srcset=\"https:\/\/2022.jasonrikard.com\/wp-content\/uploads\/2014\/04\/IMG_2259-169x300.png 169w, https:\/\/2022.jasonrikard.com\/wp-content\/uploads\/2014\/04\/IMG_2259-577x1024.png 577w, https:\/\/2022.jasonrikard.com\/wp-content\/uploads\/2014\/04\/IMG_2259.png 640w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last weekend I participated in the Dig South Hackcharleston: Code for the\u00a0Cause event with my sister\u00a0as team Apparctica. \u00a0The overnight\u00a0hackathon\u00a0was held\u00a0during a five\u00a0day\u00a0Interactive Festival out of Charleston, SC called Dig South and organized in partnership with The Iron Yard. \u00a0Ten\u00a0groups of one to three developers, designers and pitch men assimilated in the TD Arena downtown [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[8,14,15,20],"class_list":["post-313","post","type-post","status-publish","format-standard","hentry","category-development","tag-angular-js","tag-hackathon","tag-heroku","tag-mobile"],"_links":{"self":[{"href":"https:\/\/2022.jasonrikard.com\/index.php?rest_route=\/wp\/v2\/posts\/313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2022.jasonrikard.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2022.jasonrikard.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2022.jasonrikard.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/2022.jasonrikard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=313"}],"version-history":[{"count":0,"href":"https:\/\/2022.jasonrikard.com\/index.php?rest_route=\/wp\/v2\/posts\/313\/revisions"}],"wp:attachment":[{"href":"https:\/\/2022.jasonrikard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2022.jasonrikard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2022.jasonrikard.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}