Shoe Addiction

Web Application

Overview


Shoe Addiction is a fictional shoe store web application academic project, focused on the back-end handling of user requests. The goal is to create a website that would be able to handle user input and utilize a database to store and retrieve data. The website was developed in a team of three to display products offered by the store through a database, allow visitors to browse content units, and handle member registration, log in as well as customization. The overall functionality of the website was developed to help gain a better understanding of the structure in present-day e-commerce sites.

Shoe Addiction Website

Role

Tools

Team

Duration


Database Design

Starting with the database design, an ER Diagram was created to understand what information was needed to be stored on the site to handle the intended functionality. The site had to be able to store and retrieve data regarding customer accounts, the products available, as well as allow users to customize their accounts and add items to their cart. This led to the creation of four main entities with their respective attributes and relations; Members, Products, Cart and Customization. Once the diagram was finalized, the database was created using MySQL.

Shoe Addiction Database Design
Database design of Shoe Addiction

Front-End Development

The next step of the project was front-end development, where I used HTML, CSS, and Javascript to create a basic structure for the website based on the wireframes that we designed. Inspiration from current shoe websites was used in order to maintain a traditional e-commerce site that users would immediately recognize to maintain professional credibility while incorporating unique elements to distinguish the site. Images and content were then added and the branding was constructed to create a comprehensive user interface.

Shoe Addiction Wireframes
Initial site wireframes
Demo of front-end implementation

Back-End Implementation

Our focus then shifted to back-end development where I used PHP and MySQL to process user and database information. Users could browse the shoes that were retrieved from the database and were also able to use filters to refine the products that were shown. Additionally, by using AJAX, I was able to update the page content without having the page reload every time. This meant that the website had live filtering for a more seamless user shopping experience. Through the use of PHP form handling and SQL query statements, visitors also had the ability to sign up for an account or login using a pre-existing account. Further functionality that I made available was the ability for members to add items to their favourites list and cart. With the different abilities that visitors and members have on the site, PHP sessions were implemented to check if a user is logged in.

Demo of back-end implementation

Challenges of New Languages

Since this was the first time I worked with PHP and MySQL to develop a website focused primarily on back-end development, it was challenging to get the functionality of the site working at each phase. It took a lot of time to debug certain issues in our code. By dedicating more time to learning and understanding each topic, I was able to debug issues that arose and got the final website working with the intended functionality.

Shoe Addiction Code and Cart Page
PHP code for the cart page of the site

Conclusion

Overall, the website development took three months to complete. As it was outside of the project scope, for future iterations I would like to explore the possibility of implementing responsiveness for the website as well as implementing the purchase process to complete the entire shopping experience. Through this project, I was able to learn how to work with MySQL databases as well as how to develop a web application. It was my first time working with the PHP language which allowed me to acquire the skill in handling and processing user requests that I can carry over to future back-end web development projects. The final outcome was a fully developed website that had both front-end and back-end implemented that successfully used a database to handle the website’s information.

Demo of Shoe Addiction