Office Database, Post #3: Project in Action!!

Ah, the end of the freshman Monroe project saga.  As researchers prepare posterboards and oral presentations, it’s nice to look back at how much has been accomplished (or changed!) since that original project proposal.  Let’s take a look:

1.  Accomplished Objective: Consolidating data into one set

By far the most important thing about the PSA Records database is that it keeps all of the data it has been built to handle in one place.  All the scholarships and their basic information can be added to one system in a uniform manner, making it possible to sort, search, and return within the data set.  This is a vast improvement over the system of PDF documents previously used, which couldn’t be effectively browsed and were only efficient if you knew the exact name of what you were looking for.  The ability to compare records and return results = FANTASTIC!

2. Accomplished Objective: Search Functionality

The search script is really the core of this project.  It’s one thing to have a lovely set of data that can be clicked through and browsed; it is quite another to be able to narrow that set to a desired subset.  The search function is able to search scholarships by name, citizenship, academic field, academic year that students should apply, or any piece of these terms (for example, you can search “stu” and get a list of all scholarships for “study abroad”).  Results show up in a list if the search returns more than one record, and a scholarship profile otherwise.

3. Crucial Realization: Don’t Reinvent the Wheel

I started this project thinking that I would build off of Java code that I had written in the past, modifying it to form the foundation of the database and then expanding the functionality.  Was this possible?  Yes.  Efficient?  Not even close.  I realized very quickly that, though creating a database from scratch might work, it would take far longer than 2 weeks and wouldn’t work nearly as well as the product I have now.  There’s a reason that frames like FileMaker exist – structuring a complex database takes thousands of lines of code that need to be debugged and tested and debugged again.  One misplaced semicolon (in the case of Java) could corrupt a whole system if not found during error testing.  For the purposes of this project, which was meant to be an exercise in user functionality, it was far more rational to start with a robust frame and build the custom database on top.

4. Realization: I love working with user interfaces!!

Computer programming is a vast field with a number of different applications.  This research project has showed me that my niche lies on the side of user functionality.  I love working with the aesthetic details and layout scripts that make a program intuitive and elegant to the user, and as this project developed that become one of the guiding principles in my design.  As much as possible, I incorporated easy-to-use drop-down menus and checkbox sets to fill data fields.  I spent time considering the benefits of small additions to the layouts: hyperlinking URL addresses, formatting dates, and writing a script that drew a line through deadlines that had passed and needed to be updated.  I enjoy the kind of thought process and testing that goes into this sort of functionality; it involves putting yourself in the user’s places, clicking through the various screens and trying to perform actions without former knowledge of the code.  Ultimately, it leads to a more user-friendly and aesthetically pleasing design, a quality that often separates successful computer products from similarly functional programs that simply don’t accommodate the user as well.  I fully enjoyed working with this aspect of the database.

Looking forward…

Right now, the biggest task is data entry.  Over 80 scholarships are currently in the system, but there are dozens more to add.  As time passes, scholarships will also need to be updated, added, or deleted, and this sort of routine maintenance will help the database to grow and change.   Functionality to edit, add, or delete is built into the interface, so these actions can be performed by anyone at any time.

On the programming side, there are so many things that I still want to add!!  At the top of my list:

– the ability to attach documents to a scholarship record.  This will allow us to keep sample essays, paper applications, and brochures linked to a scholarship, all on one page!

– robust and secure student section.  The second half of the database is a table of student information.  I want to expand this so students can add academic information, essays, and resumes viewable by Peer Scholarship Advisors but not by other students.  This starts to get into access rights and security, and ties into the future goal of…

– going online!  Long-term, I see the scholarship database being available through the Charles Center website.  Students could search for grants and fellowships and upload personal information directly into the system from their home computers!  Proper security measures and access rights will be a huge part of this step, but a successful end result would be completely worth it!

In summary, this was a fantastic project.  I learned a great deal about the difference between the kinds of coding I’ve done in the past and the ‘superficial,’ real-world coding I did this summer.  I enjoyed seeing results from the work I put in and being able to continually improve my product.  Most of all, I’m excited for the future!  Until then….. =)