OpenBarter: Case Study in Civic Web App Design (Part 1)



On May 31 – June 1, 2014, Middle Georgia citizens participated in the National Day of Civic Hacking(NDoCH), a fun weekend of community service using design, programming and technology.  In this national event, citizens across the nation explored challenges, created prototypes, and shared their solutions with their peers.

I had the opportunity to work with a great team at the Macon NDoCH event to help propose a barter market concept to help revitalize a city economy.   I think we all enjoyed pair programming since it enabled us to pump out code while teaching/learning the tools and technology.    Our team from Mercer Engineering Research Center really enjoyed the  opportunity to learn collaboratively with the students.   It was a blast!

What are  the benefits of our “OpenBarter” community exchange platform?

  • Encouraging Future Business Leaders: In our challenge statement that we selected, the Knight Foundation asked that we create an application “to help skilled individuals identify the opportunities they have as a fluid and independent working in their community.”   If you’re considering starting a career in freelancing or starting a small business, you face the problem of finding “start-up” capital.  By encouraging bartering in a community, freelancers can start offering their services in exchange for other resources, training, or skilled labor.  For example, I might build a website in exchange for lessons on writing a business plan.
  • Building the Community: According to Brian Redondo, the web application is only 50% of the impact.   The web site provides a marketing platform for a standing community barter market event.    According to Mr. Redondo’s vision, all barter exchanges are conducted “face to face” at a regularly scheduled community exchange event.    This will help foster positive relationships in the community.
  • Service Qualification through Gamification: Building on Mr. Redondo’s vision, students recommended adding gamification concepts into the website design.   As two community members conclude a exchange of services or goods, the community members rate each other on services provided.   With positive ratings or “karma,”  community members start to develop creative confidence.   Additionally, higher karma ratings will make the community member more qualified for future exchanges.   This also provides incentives for members to provide excellence in their goods and services.
  • Benefits of Open Source: As an open source platform, our solution can be scaled to communities across the world.   I don’t pretend to share that our software is perfect or production ready yet.   It, however, is a start.   Individual communities will need to decide how they want to manage the legal and marketing challenges connected to this concept.    It would be cool to see this solution used in farmers markets across the nation.  Additionally, I think the concept can be helpful in user groups, Makerspaces and Co-working Spaces.
  • Education: The source code can serve as a teaching tool for web application developers.  The source code can be found on my GitHub account here under an MIT public license :

Special Thanks To the Team



Team Open Barter


I especially want to thank John Robinson, Tyler Burnham, and my friend Harrell for their contributions.  I also thank the team from the Mercer Google Developer Group for their support.


Through our conversations with our college student team members, the students shared that they really appreciated the opportunity to see how web applications can be designed and prototyped using a MVC framework.   In our implementation, we used ASP.NET MVC.    While we had only two days to work together, we learned a lot and got stuff done.   In this blog post series, I wanted to outline some of the major ideas in the application design process.   I hope the content will be helpful to other college students interesting in civic hacking and learning web programming.

The Mercer students from our group enjoyed the opportunity to rapidly engineer a software solution.    In an agile fashion, we constructed user stories from a functional specification by Brian Redondo .    Based on the stories, the team collectively drafted an entity relationship diagram on a white board talking through the design and making trade-off’s to keep the solution small.  The following shows our second iteration of the database model.   While the design is not complete, you can observe how we analyzed the functional requirements from Brian Redondo and implemented the database structure.  Here’s a quick introduction to the major tables:

  • UserData: This table stories qualification information and contact information about the user.
  • ForTrade:  Users can offer many goods and services “for trade.”
  • Want: Users can offer many goods and services that they need.
  • OfferForTrade & OfferForWant: Members can place offers on trades and want items. It’s important to remember that barter exchanges are conducted in person at public, safe, and standing community event.   In future work, we will design data structure to rate services offered by community members.



Now that we have introductions out of the way, our next blog post will review the construction of the “model” layer of the application.  If you’re interested in learning more about ASP.NET MVC, check out this tutorial link:


We would love to hear your feedback on the OpenBarter concept.   How would you make the barter concept better?   Leave a comment below.  



Join The Middle Georgia Makers Facebook Group

Related Posts:


This entry was posted in Uncategorized. Bookmark the permalink.