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.
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.