Temperature Monitoring Project

Ryan Golden Christian Mesh



Being a Freshmen at Clarkson University, I thought it would intelligent to work with the cosi lab to gain knowledge of the new computer science world that I recently just entered. I jumped into this beginner level project to grasp onto the basic knowledge of python django, and evetually php. I did this project with guidance from Michael Tarsel (one of the students responsible for setting up the old server).

Goals:

-Create a new website with a working database using the Django web framework

-Learn the basics of Python, a well known and advancing language in the computer science world

-Set up the website to email the lab coordinators in case of an over heating server room

-Learn the importance of posting code to github

Using Django:

Django is an advancing web framework that many computer scientists are becoming intersted in. Django is known as a "Model-View-Controller" web framework which seperates the information from how the user interacts with the information viewed. Using Django gives the controller of the websites many advantages that I became aware of while doing this project.

First starting this project a database was already set up and data was being put into it. Normally you would have to create sql statements to access this data, but Django has a built in function that creates these statements, called models in Django, for you. Not only can Django create these statements, but if you have your models already created, it can create a table in the database for you. Meaning you can reverse the functionality of what it had done for me.

Another great thing about Django is the seperation of the "code monkeys" from the designers. When writing a website a computer scientist doesn't want to worry about the design and a designer doesn't want to wory about the code. Django does a great job of seperating these two things for these two seperate groups of people.

Lastly, one of the greatest things about Django, that I didn't have to use, is the administration of websites. Django comes with preset admin functionality making the protection of certain data and account very easy for the controller of the website, hence the "Model-View-Controller".

If you would like to read about Django and how to use it this is a great source www.djangprjoject.com


ReportLab:

While viewing the last site, I saw the use of graphs to show the temperature information over time. This made me feel inclined to use graphs again, so i researched the use of graphs with Django. When researching, it seemed like a largely used method to create graphs was the python reportlab library. To me it didn't seem like a common use of reportlab, but the graphs look great and it worked well for my implimentation. Along with it looking great the graphs are speedy and easily modified if needed. Source code on reportlab can be seen here

Source Code on GitHub/Current Site:

The old sites code is here.

My site redone in php is up on github done with Christian Mesh and is the site we are currently using. After doing the Django implimentation of the website, Christian came up with some ideas to improve my website in php. After he came to me with these improvements we reimplimented the site again and we currently run this version instead of my outdated one.

The current php version of the site that me and my partener Christian Mesh wrote is here.