Team:Michigan Software/Design

Michigan Software Team
ProtoCat 3.0 - Project Design


Overview

The design of ProtoCat this year maintains the same basic structure as last year's version but with a more dynamic underlying structure to support our new features. Therefore, in addition to the protocol and user tables, we have added many more (protocol steps, reagents, user info, instances of reagents, categories, comments, and ratings). Our software uses Django to combine all of this stored information and then return it to the user through the templating engine.

Frontend

For the frontend, our software uses the JavaScript library jQuery to manipulate the webpage to make it more dynamic. To make the HTML layout dynamic to the size of the user page, we use Bootstrap, which has the added benefit of cleaning up the design of our webpages.

Backend

On the backend, we used the Django framework and MySQL (SQLite on development computers) to respond to web requests and store the information. The reason we use Django is that it is very simple to do the basic features required of a website, such as authentication and storing to any major database software. It also has a built-in templating engine for sending the data we have stored to the user.