Thursday, February 27, 2014

Standing Meeting 2: Get Set.

Our second standing meeting started with good news! We went over our list of goals from last week:

  • Install Python3 on the server
  • Setup a MySQL database for the Django framework to access
  • Create a website which our potential users could access*
The last item has an asterisk because the "website" that the users can access is nothing more than a page that notifies that a web server is running, but there is no content on the site.

We then proceeded to set goals for next week. This included developing a user story which we plan to implement. This is our first user story:
Amber wants to log in to manage to our web service to manage her home. She navigates to the log in page, inputs her credentials, and is greeted by a welcome page.
Here is what we decided on.
  • Create a simple log in page for the website. 
  • Create a subversion repository for our project.
  • Implement tests to simulate Amber's success story.
  • Allow Amber to experience success in her user story.
  • Develop a mock-up of what we expect the user interface might look like.
In order to reach these goals, we will each independently walk through the Django tutorial so that we are at some level familiar with the framework that we are using. We plan on completing this by the start of the weekend so that we can work on actually building our website over the weekend and implementing our user success story. 

Tuesday, February 25, 2014

MySQL Server Remote Access

So, with any project with multiple computers involved, you will likely have to set up remote access rules for certain programs. In our case, we had to set up MySQL to accept connections from the outside. And not only that but allow any remote host to connect as we already know that the IP's of our client nodes (The Raspberry PI's) will change from time to time. To achieve this, we had to make two changes. I used the following site as a reference:

http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html

For the most part, everything worked except for one thing: When the tutorial gets to the command to save the new iptables firewall rule, the command from the site above didn't work for me. I used the following link to find the proper command to save my new iptables rule.

https://help.ubuntu.com/community/IptablesHowTo

and for the people who feel that article is too long, that command is:

 iptables-save

Again, make sure you have root access when you use this command either with sudo or sudo su.
Finally,  reboot your computer and you can connect to your MySQL database from any remote computer by using:

  mysql -u username -h ip_address -p

where username is your actual username to your database and ip_address is the address of the server you had to ssh into. The host of your MySQL database.
From here, we were able to connect to our MySQL database from our own laptops and Karl was even able to run a Django test from his laptop and it automatically populated our database.

Thursday, February 20, 2014

Server set up

We've spent the previous two nights setting up the server and our work environments.  This has consisted of downloading and installing Python 3, Django, and MySQL.  We also have a server setup with an initial database that we can begin to work with.

We had some initial difficulty installing Django onto our server because Python 2.7 was the default Python installation, and so Django automatically installed itself onto Python 2.7.  Instead we had to manually download Django and manually installed it into Python3.

We all have a lot of learning to do concerning Django, MySQL, and installing other packages that we will need.  This is all fairly new territory for us, and we are all trying to learn on the go.

We haven't yet started working on a website for users to access.

Tuesday, February 18, 2014

Standing Meeting 1: Initializing...

Hot dogs.

That was what was in front of us as we had our first standing meeting for Project HAM. We had previously decided that we would have our standing meeting over dinner, which was an interesting experience to say the least. Thankfully corndogs were being served for dinner, so it made standing and eating relatively easy.

We made a list of things that we wanted to accomplish before the week's end. This is what it included:
  • Install Python3 on the server
  • Setup a MySQL database for the django framework to access
  • Create a website which our potential users could access
We set up another meeting for Wednesday evening where we will make our first steps toward these goals. Arik is the only one in our group who has experience with databases, so setting up the MySQL database will probably be the main topic of Wednesday's meeting. 

We plan on using Django with the MySQL database, which will be a new interface for all of the members of our group. Karl found this resource which might come in handy as we reach that point in our project.

Stay tuned for more info on what exactly Project HAM is and what progress we are making towards our goals.

-Team PorkPI