Development of the Hatfield Quality Meats website required that I go beyond my usual skills and delve into server side development.

The website was built using ASP.NET Web Forms with a MSSQL database for recipes, products and users.

I started by focusing on creating the database tables and admin for creating and managing recipes.

As the project developed new requirements and changes were needed which required updating the database and existing code.

I had to create a user section with registration, login, password reset and account management.

Users

I was responsible for creating a user section which included handling the registration, login, logout, editing of account details and password reset.

The password reset uses a two-step process, sending a email with a link that expires before allowing a user to change their password.

Registered users could interact with recipes in several ways: leaving a comment, favoriting a recipe or leaving a one to five star rating.

These actions were executed with JavaScript and web services using AJAX.

Recipes

The key aspect of the project was the recipes section. Most of the work went into building the database and admin forms.

When displaying recipes, most of the time was spent creating the recipe search tool in Flash.

The search pulls data from an XML file that can be generated through the admin. I figured that because the search is on the homepage and every recipe page it would be best to cache this data and Flash just works really well with XML.

The search was created almost entirely in code using Flex Builder and ActionScript 3.0.

Other roles and tasks

I recreated the existing contact forms, database tables and a master/detail admin to view and manage submissions.

The website required additional custom pages and content integration and additional pieces of Flash content.

Due to time I had to leave products in their original tables, without any form of an admin because I decided to put those tables into the new database.

This was a poor choice that was eventually fixed by moving these products back to the old database and just using the admin of the old website.

This was my first experience at setting up and deploying a website to a dedicated Windows server.

Ultimately it was a good experience for being responsible to build a complex website however looking back with more experience I can see how the project could have been executed better.

Gallery