Portfolio

Internet Examples


Franco's Online


Objective
To integrate information for all three Edmonton locations including: Menu Details, Feedback Form, Application Form, Contact Information, Upcoming Events (not functional), and Interactive Forum.

Implementation
Designed with Dreamweaver as an Integrated Development Environment using HTML for basic page formating and Cascading Style Sheets for advanced display: Dropdown Menus (small JavaScript code involved also), Page Alignment, and all site-wide styles. Dynamic functionality achieved with ASP and VBScript for Email Confirmation, Form Submission, Account Information, and Upcoming Events (not functional). Database utilized is Microsoft Access with seven relational tables, completely normalized.

Comments
The server the site is hosted on only has PHP available for dynamic functionality, which is not part of my skillsets (nor do I wish it to be), so a mirror page was created on my own website where forms from the Franco's site are submitted and processed. This is a temporary solution in place only until the original hosting site is changed (or until I learn PHP, which is highly unlikely; no offense, PHP fans).




Literary Website


Objective
Developed for an author to share her writing with her overseas contemporaries in an interactive environment, with all tools available for the author to maintain her collection of writing.

Implementation
Designed with Dreamweaver as an Integrated Development Environment using HTML for basic page formating and Cascading Style Sheets for advanced display: Dropdown Menus (small JavaScript code involved also), Page Alignment, and all site-wide styles. Dynamic functionality achieved with ASP and VBScript for Poem Submission, Comment Submission, Account Information, Poem Display queries, and all Administrator modifications. Database utilized is Microsoft Access with six relational tables, completely normalized.

Comments
This project was originally designed to display poems only from one main page, using only one database table. The initial challenge was simply related to proofreading: I don't speak or write Russian, so spelling/grammical errors had to be double-checked from the author's side. Incorporating the Russian character set was simple enough, but of course each browser needs to be configured on the client side to display it properly. As time passed, the author requested additional functionality to include other categories of writing such as: short poems, stories, news articles, and poems from guest authors. Rather than change the database to include separate tables for each category, I simply assigned a new field that contained a Category ID. Each page submits a the Category ID in a query string which the database returns and displays the appropriate content on that page, with a list of all titles in that category on the right side for display of single entries.

The site allows the author to login with Administrator privileges to add, modify or delete any of the categories as she wishes. Once logged in with her username/password information, the User ID is stored in a session variable allowing access to the Administrator page only to her. The functionality is written in ASP using VBScript for all dynamic content and database updates. The Administrator interface is simple and fully functional. View interface




Online Movie Database


Objective
A test project developed to integrate my previous knowledge of design and development with an online shopping cart simulating a fully functional eCommerce experience.

Implementation
Designed with Dreamweaver as an Integrated Development Environment using HTML for basic page formating and Cascading Style Sheets for advanced display of Page Alignment and all site-wide styles. Dynamic functionality achieved with ASP and VBScript for Email Confirmation, Request Submission, Account Information & Creation, and database queries. Database utilized is Microsoft Access with four relational tables, completely normalized.

Comments
This was my first implementation of integrated ASP/VBScript functionality. The shopping cart actually writes temporary entries to the database that are deleted when the cart is cleared or when a request is sent. When an account is created, the Name and Email fields are stored in the database and retrieved when the user logs in again. These fields are stored in session variables that populate the shopping cart fields, negating the need to enter the information everytime a request is made.




Dunne'za Terra Lodge


Objective
A prototype Designed and Developed for a beautiful resort in a the heart of British Columbia.

Implementation
Designed with Dreamweaver as an Integrated Development Environment using HTML for basic page formating and Cascading Style Sheets for all site-wide styles. Dynamic functionality achieved with ASP and VBScript for Reservation Submission. Database utilized is Microsoft Access with only one normalized table.

Comments
Although functional in terms of allowing reservation information to be entered into the database, no confirmation emails are sent. Unfortunately, a dispute between contacts led to the project being shelved. Also, all navigation links utilize the JavaScript swap-image function for hover images, which potentionally leads to performance hits on the site. Since this site was developed, I've been using CSS hover properties for similar, yet quicker, results.




KKP Law & Accounting


Objective
Non-functional prototype design template.

Implementation
There is absolutely no functionality on this site whatsoever, and it contains only one page.

Comments
Primarily, this was an experiment to attempt a more 'professional' looking design. Probably the longest effort involved was the creation of the banner.




Desktop Examples


DM Guide

(a work in progress)

Objective
Initially, this was conceived as a tool to assist a DM (Dungeon Master) with keeping track of Player/Character information and having Dungeons & Dragons 3.5 rules easily available. As the project went forward, it was decided to include player tools as well: Character Management (creation, modification, & deletion), Equipment Purchases, Leveling Up, as well as access to all the necessary 3.5 resources from the Player's Handbook and whatever indivual modules, additions, etc the DM approves. I'm primarily programming the Player side, while my associate Dan Driezen is programming the DM side. DM features will contain Campaign Management tools (creation, updates, etc) and most interesting of all, a network thread-based interface which will allow the objects (Players, Monsters, Campaign, etc) to communicate via LAN!

Implementation
Designed with Visual Studio 2008 as an Integrated Development Environment using Visual Basic 2008 with a HUGE (and growing) Microsoft Access 2007 database with several normalized relational tables (although, there are a few lookup tables and such that violate the rules of normalization somewhat, much to my chagrin), and Object Oriented programming techniques. We used an actual Character Sheet for the background, with labels & textboxes provding player-specific information from the Character Object loaded when a Player logs in and selects his or her Character to play.

Comments
Phenomenal learning experiece! I'd spent the previous summer getting up to speed with the VB2008 IDE (know my way around the 2003 & 2005 environments, but hadn't actually done any development with them), and this was the first major project. Many similarities in syntax to VB6, of course, but so many more improvements in terms of functionality and RAD tools. As stated above, this is a work in progress and will likely be ongoing for quite some time!




Grocery List


Objective
Every single time I go to Safeway or anywhere else for 3 or more items without a list of some kind, I'll generally forget at least one item. Writing everything on paper will certainly work, but there's always a shortage of scrap paper lying around (unless I want to use a piece of printer paper, but that defeats the purpose of having a printer, doesn't it?) Notepad will work of course, but it's time consuming as well as being a little silly. (can I write faster than the time it takes to type and print?)

Implementation
Designed with Visual Studio 2008 as an Integrated Development Environment using Visual Basic 2008 with a Microsoft Access 2007 database to store all grocery items and the categories they belong to in a related table. Each DataGridView displays information for each category as stored in the database. Double-clicking at item in any category will add that item to the Grocery List DataGridView (used for printing) which can be cleared or have individual items removed. Items can be added, modified, or deleted from any category and the list itself can be saved if the shopping trip is delayed. (At startup, the program loads an existing list if any.) A MicroSoft Word Document Template was created with bookmarks below each category's table heading. If the list contains only a few items, 'Simple List' can be selected which uses a blank Word Template instead.

Comments
Practical, fun, new learning experience (Word Doc Objects); who could ask for more?




Torrent Finder


Objective
Usage is primarily for backup of legally owned previous purchases. See here and here and here and here for relevant inormation.
Originally designed to fascilitate Television viewing, the database keeps track of which Shows are generally watched, when they air and their current status. A DataGridView is used to display the information, with the ShowID stored as each rows' tag. When a show is selected, the options available are: search for torrents, view TV.com information, view current (conceivable) server files.

Implementation
Designed with Visual Studio 2008 as an Integrated Development Environment using Visual Basic 2008 with a Microsoft Access 2007 database storing mainly television information (days airing, premieres, series status, etc). When searching for torrents, the selected site (or all, if 'Search All Sites' is checked) is sent the relevant query string (category and title) based on each site's search criteria. Double-clicking a title in the DataGridView will open the appropriate (conceivable) server folder.

Comments
Useful little application for streamling the torrent finding process and very enjoyable to program.




MultiMedia Theatre


Objective
This is actually an integration of two seperate desktop applications: one for music (CDs and Music Videos) and one for movies.

Implementation
Designed with Visual Studio as an Integrated Development Environment using Visual Basic 6.0 with a Microsoft Access database with eight completely normalized relational tables, and Object Oriented programming techniques.

Comments
This was fun! Each project, as mentioned above, was developed individually. The functionality for each one was similar enough that integration was simple and really only involved slight changes to the code, and major changes to the interface.




Basements & Beasties


Objective
An interactive, primarily text-based, Role Playing Game utilizing the 2nd Edition Advanced Dungeons & Dragons ruleset.

Implementation
Designed with Visual Studio as an Integrated Development Environment using Visual Basic 6.0 with a Microsoft Access database with eight completely normalized relational tables, and Object Oriented programming techniques.

Comments
I hate the interface and only include this as an example because of the Object Oriented programming techniques behind the scenes. A player can create a new character or use one stored in the database. Once selected, a character 'object' is created with properties and functions that interact with a corresponding monster 'object' (based on a random number) that is no greater than 2 levels above the player character. All stats and items are held in the character object as properties, then stored to the database when the character levels up or saves the game.




Address Book


Objective
Yes, I know, who hasn't made their own address book!

Implementation
Designed with Visual Studio as an Integrated Development Environment using Visual Basic 6.0 with a Microsoft Access database with one simple normalized table, and Object Oriented programming techniques.

Comments
When the program starts, a person 'object' is created whose properties change when a name is selected, with the function of displaying the information. Additional features: month buttons to display birthday info (I'm always forgetting!) and a search field to find out who belongs to that phone number you found scrawled on a piece of paper without a name.