Coblox facilitates the buying and selling of programming code in an environment where buyers and sellers are anonymous and yet are held accountable for their actions.

Roles

Database Designer
System Architect
Web Developer

Technology

Active Server Pages (ASP)
Microsoft Visio 2000
DHTML
Microsoft Visual Basic 6.0 (VB)
JavaScript
Microsoft Visual Interdev
Microsoft SQL Server 7.0
Microsoft Visual SourceSafe (VSS)

Project Description

All that existed when I began working on the Coblox project was an idea to create an e-commerce site where users could sell pieces of programming code (code blocks). It was my job as a requirements analyst to flesh out the details of just how buyers and sellers would interact.

I explored many scenarios as part of my analysis. One such scenario identified during this phase involved a buyer registering and then posting a request for a code block. The request would specify items such as programming language, operating system, and functional requirements. A registered seller (likely a programmer) would, using the site's search facilities, find the request and then upload code that met the buyer's requirements. All uploaded code would then be screened and rated and the buyer would not obligated to buy the code.

Such scenarios led to a detailed description of the business which directly led to detailed descriptions of the functionality of the site. In this case a graphic designer was not available to begin work on the

entity-relationship diagram

look and feel of the application so my analysis also included screen descriptions that specified data fields and screen flow. This meant that the graphic treatment could be applied at a later date without impacting the current development process.

With my business analyst responsibilities coming to a close I began to work on the system architecture. Part of this work included the database design (right). The complexity of a site is sometimes apparent by the complexity of the database design. As with most of the projects I work on, this database design was based on the functions of each screen as well as on standard database design principles such as normalization.

After specifying the system architecture which included detailing the workings of several COM components and the creation of several page templates, I assembled a small team of web developers and we began to construct the site. At this time many of the pages started to take on their final form. I have described some of the pages in the following paragraphs.

upload code block

The heart of the system is the code blocks that are uploaded. To be of any value, the code blocks have to be categorized so that buyers can determine if the code meets their needs. The upload code block screen (right) shows the fields used to describe a code block. Clicking on the upload code block thumbnail will open a new browser window with the HTML page as the user would see it. Be sure to click the Basic, Functional, Platform, Performance, and Upload links near the top of the screen to see all the information that is captured.

Although not active, clicking on the menu options at the top-left of the screen provides some insight in to other sections of the site.

Critical to the success of the site is the idea of rating a code block (below, left). The ratings for each code block uploaded are used as part of the algorithm that assigns a rating to a user. A highly regarded seller will be able to sell more code blocks for more money. At the same time, a buyer can realize some protection from bug-ridden code.

The search for code block screen (below, right) is one of the more complicated search screens that a user will encounter. The flexibility provided here is important because without it, the user would be unable to find code blocks worth buying. A similar screen exists for sellers so that they can find outstanding code block requests.

rate code block
search for code block