Team:Michigan Software/Protocat


Michigan Software



Live Software

These links will work at least for the remainder of 2014. If you'd like to set up your own server, check out the downloads section. Click here to go to ProtoCat!


You can download our project from our github or download the wiki freeze version here. We HIGHLY recommend downloading from GitHub, as it will be a more recent, and undoubtedly better, version.



1. If you're on a PC install Python. We recommend Python 3.4 for compatibility with our package.

2. Install Django.

3. Download and Unzip Protocat through Github or download the wiki freeze version here.

4. In the Command Prompt or Terminal, access the ProtoDB folder.

5. Enter "python syncdb".

6. Enter "python runserver".

7. Go to in your web browser to begin!

N.B. When installing Django, don't forget to make sure the path is correct.

User Guide

Unzipping the folder will result in the following file structure:


The first ProtoDB file contains, along with all the other folders, You need to be in this folder to run "runserver" or "syncdb".

In order to create the database for first-time use, check in the "databasemodels" folder. If you make alterations to this file, or just want run our implementation, navigate to Michigan14-branch1\ProtoDB in your command-line terminal and type "python syncdb". This will create/update the SQLite database.

"ProtoDB" (the second one) contains the settings files and the URL file. houses all the url definitions. is where you can change settings, add plugins or "installed_apps", and do some general tweaking. Please see Django documentation for more information.

"databasemodels" contains the bulk of the Protocat. contains the database model definitions. houses admin settings. contains most of the code that makes Django run. It contains functions, like the functions that allow protocol deletion and creation. It is linked to contains HTML form class definitions. It allows Django to create HTML forms and use their data, linking HTML forms with the functions in Technically, the class definition can be anywhere, but it is convention to keep the in

"templates" contains just that. HTML templates. Each page has its own templates. Modify HTML here.

Here are some screenshots for guidance.

contact info: