diff options
Diffstat (limited to '_posts/2014-04-28-forest-printer-management.markdown')
-rw-r--r-- | _posts/2014-04-28-forest-printer-management.markdown | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/_posts/2014-04-28-forest-printer-management.markdown b/_posts/2014-04-28-forest-printer-management.markdown index 45faf05..cf32e5c 100644 --- a/_posts/2014-04-28-forest-printer-management.markdown +++ b/_posts/2014-04-28-forest-printer-management.markdown @@ -7,6 +7,8 @@ date: 2014-04-28 00:00:00 In the Fall 2013 semester, I took a Software Engineering class. After a few weeks studying about development lifecycles, scheduling techniques, and such, we split the class into groups to propose and develop large software projects. I joined the team that was building a system that would track printer usage, display status, and collect statistics. Having previously created [a printer status project](http://mathcs.muhlenberg.edu/~bb246500/printers/), I found the idea intriguing. +<!--more--> + Several of the team members had experience using GitHub, so we decided to [create an organization](https://github.com/printerSystemCSI210) to store documents and provide version control. We had the school Math/CS department web server running Apache available for web hosting. Additionally, I had experience with [Node.js](http://nodejs.org) running on [Heroku](https://www.heroku.com/), so we had that technology in our arsenal as well. One of the first challenges we encountered that would have an impact on our architecture was the fact that most printers do not have public IP addresses and thus would need to be queried from inside the local network, while we wanted the public-facing site to be accessible regardless of physical location. This led us to developing the concept of an API which would enable a master database to be queried and updated by various components. In developing an API-central infrastructure, we were also looking down th line towards supporting client-developed applications and native applications for various platforms (iOS, Android, Windows, OS X). |