Archive for March, 2008

UCF Life

posted on March 24th, 2008 by Greg in Freelance Projects

This site was originally created by a freelance web developer and I have helped in a few areas to improve load/execution time and added a few sections. The site is written in PHP and uses a MySQL database.

I developed a section to allow users to sell books to each other. It used an API to Amazon’s book database to get accurate and up-to-date information regarding book details. At first, the section would charge a percentage of the expected sale before listing a user’s books. The fee was later removed to encourage more use of the section.

Another section of the site that I developed was the Nightlife section. For unknown reasons, this section was never made live. Businesses had their own interface in which they could change information about their weekly promotions. Users could use a simple search to browse through nightclubs, or browse by night, as well as indicate that they were attending a specific nightclub on a specific night.

I have also mentored another developer in PHP and MySQL to allow him to be able to complete additions to the site.

Valhalla

posted on March 24th, 2008 by Greg in CDWS Projects

Valhalla, which is implemented with PHP and a MySQL database, powers the Techranger Web site. It provides the Techranger team with the ability to manage all aspects of the site including: image galleries, user biographies, job applications, XHTML templates, multiple cascading style sheets and other site features.

For this project I created the data access classes as well as designing the database itself. I also wrote the job application, image gallery, project showcase, and user biography features.

Python and Django

posted on March 24th, 2008 by Greg in Personal Projects

I’ve gone through part of the Django tutorial. I installed the latest copy of Django, Python, and MySQL on my desktop (windows environment) and followed the tutorial through the first three sections. I’ve started to become familiar with the data models and the admin interface.

At the moment I am liking Django’s admin interface that is created by default a little bit more than the scaffolding that can be used with Ruby on Rails. As far as comparing Ruby and Python I still don’t know enough about either language to make a decision.

Update 7/24/8

Going outside of the tutorial, I created a few views and templates to get the basic idea. Using the Django Authentication module’s User model, I displayed a few things and plowed through a few of my own mistakes. I’m enjoying learning this.

Update 7/30/8

Finished the tutorial and moved on to create my own interface for Django’s Authentication. The app can create users, log them in and out, and list them. Simple enough, but I got the hang of the templates and form helpers.

More in this later post.

Techstream (aka To Be Done)

posted on March 20th, 2008 by Greg in CDWS Projects

To Be Done is a Web-based workflow tool that manages the collection, tracking, and processing of work requests. It is written in PHP and uses a MySQL database. It facilitates the collaboration between teams by enabling team members to create requests for other teams’ members to complete. Time-to-completion data is stored when a user completes a request and can be used to display totals, percentages, and averages of requests and hours in a report that can be generated automatically. The report that is generated can also display specific information per user and per course.

Similar to the request functionality, there is a tech support tracker which uses the same process with the addition of client information being stored.

I joined the project to develop the 2.0 version, which was a complete re-write since the original developer didn’t give us any comments or documentation before leaving.

My initial role in the project was to design the database and create the data access classes. After the interface developer left, I started fixing bugs as well as developing new features, such as the report generator. I also began broadening the scope of the project to allow for any team to assign tech support incidents or requests to any team.

CyTE

posted on March 20th, 2008 by Greg in Personal Projects

The Cyberia Template Engine is a project that was developed after Thomas Welfley and I wanted to expand upon the basic template engine used in Valhalla. We expanded on the idea of content slots to instead use keys which could return content as well as additional keys. This would allow the site to be broken into small reusable pieces and reduce the amount of duplicated code. There is also a post handler aspect that will help with error checking and collecting form data.

For this project I have created the database abstraction layer, the authorization system, and added the ability to package modules easily for future developers that may use the platform.

I have used this template engine on a few sites and in the process I have gathered an abundant repository of useful functions that will be packed with the release.

OpenID Provider

posted on March 20th, 2008 by Greg in CDWS Projects

I created an OpenID provider for CDWS. It connected to our LDAP server to authenticate users and provided them with an OpenID in the form of http://username.cdws.us

I used the Jan Rain PEAR library for the OpenID connections and followed the code they provided in an example. I modified the example code heavily to fit it into the CyTE framework for easier future development and maintenance.

UCF Programming Team Log Manager

posted on March 19th, 2008 by Greg in Class Projects

As an independent study project I created a dynamic web site for the University of Central Florida’s programming team. The director of the computer science department was the main coach of the team and also the client for this website.

The system is able to keep track of programming competitions, practice problems used, and team rankings. Another feature of the system is it is able to relate categories and techniques with each problem.

A goal in this project was to be able to browse to desired pages from multiple directions (when there is a join table involved) and to be able to find things quickly without even needing to search.

This was another great application for CyTE, however this is an older version that is an upgrade from SSS by adding the newer version of the data access classes. The newer version of CyTE requires php5 which couldn’t be installed on the server at the time.

This was also presented at a conference in Las Vegas.