Interactive Design | Final Project

 26/11/2024 - 04/01/2025 | Week 10 - Week 15

Huang jiaqi/ 0371553

Interactive Design | Bachelor of Design in Creative Media

Final Project


Table of Contents

     1. Module Information
     2. Lectures
     3. Project
       - Final Project 
     4. Reflection 

Module Information 



Lectures

Objective: The objective of this assignment is to bring your website redesign to life by developing a fully functional website based on
the prototype created in the previous assignment. This final product should reflect all the design and user experience decisions made throughout the project, resulting in a polished and professional website.

Assignment Description: Building on your redesign proposal and prototype, you are now required to develop the final working website. This website should be fully functional, demonstrating your ability to implement web design principles, front-end development techniques, and best practices in user experience (UX) and accessibility.

Website Development:

Implementation: Convert your prototype into a fully functioning website using HTML, CSS, JavaScript, and any other relevant technologies or framework (e.g., Bootstrap).

Design Consistency: Ensure that the final design remains consistent with the approved prototype, including typography, color schemes, imagery, and layout.

Responsive Design: The website must be fully responsive, adapting seamlessly to various screen sizes, including desktops, tablets, and mobile devices.

Cross-Browser Compatibility: Ensure that the website functions correctly across multiple browsers (e.g., Chrome, Firefox, Safari, Edge).

Core Features:

Navigation: Implement a user-friendly navigation system that allows visitors to easily access all key areas of the website.

Interactive Elements: Include any necessary interactive features, such as forms, buttons, or dynamic content, that enhance user engagement.

Technical Considerations:

Performance Optimization: Optimize the website for fast load times by minimizing file sizes, using efficient coding practices, and employing tools like caching and compression.

Final Testing and Deployment:

Testing: Conduct thorough testing of the website, including usability testing, cross-browser testing, and responsiveness checks. Document any issues found and how they were resolved.

Deployment: Host the website on a live server or a web hosting platform of your choice (e.g., GitHub Pages, Netlify, or a custom domain). Ensure that the website is accessible via a public URL.

Submission:
A live URL to the fully functional website. A brief report (800–1,000 words) documenting the development process, any challenges faced, and how they were overcome in your E-Portfolio.




Development Process

We chose a theme and made a draft on Figma. I chose the fashion website that I am most interested in to design.

At the beginning of the project, I chose a website with a fashion theme, because it was most suitable for my interests and design direction. My goal is to design a clear, beautiful and fully functional personal portfolio website that can show my design ability and personal projects. For this reason, I first clarified the core content that needs to be displayed:

Personal introduction

Project display

Picture gallery

Contact information

After selecting the theme, I began to design a detailed sketch to ensure that the overall layout conforms to the best practices of visual and user experience.
fig 1.1 figma Process

fig 1.2 figma Process

fig 1.3  figma Process

fig 1.14 figma Process

fig 1.5 figma Process
Drafting with Figma
Next, I used Figma to design the first draft, which is a very important step in the whole development process:
I built a framework for the whole website in Figma and determined the layout and hierarchy of each part.
Modern and simple fonts and color schemes are used to highlight the fashion theme.
Through the interactive prototype function of Figma, I can test the navigation path in advance to ensure a smooth user experience.

In addition, I have incorporated some dynamic elements into the design, such as hovering effects and sliding galleries, which increases the interactivity of the website.
According to the requirements, I redesigned the original website in figma, and added interaction and contact pages according to the knowledge taught by the teacher. I added the effect of page scrolling and color change on the home page, and redesigned the interactive performance of the website's product purchase to make it more simple and simple.


I began to design my homepage. My navigation bar is divided into five parts. The first part is the homepage, the second part is the page, the third part is product information, the fourth part is the blog, and the last part is contact us.

fig1.6 DW page design

fig1.7 DW page design

fig1.8 DW page design

fig1.9 DW page design

fig1.10 DW page design

fig1.11 DW page design
From 1.7 to 1.11, I added animation effects to the screen to make the website more vivid.

Development and Coding
Transforming Figma design into an actual website is a challenge, but it is also a very fulfilling process:
Use HTML/CSS to implement page structure and style, and restore the visual effects of the Figma prototype as much as possible.
In order to improve the attractiveness of the page, I used CSS to achieve detailed effects such as gradient background and button hover animation.
fig 1.12Detailed Development Report

fig1.13 css
fig1.14Font Awesome

fig1.15 responsive.css

fig 1.16 jquery-3.4.1.min.js

fig 1.17 popper min.js

fig 1.18 Bootstrap

fig 1.19 Custom JavaScript
Frameworks and Libraries
In order to accelerate the development and improve the functionality of the website, I chose the following tools:
Bootstrap: Provides responsive grid layout and components, which greatly simplifies page layout and style design.
Font Awesome: Used to add icons to enhance the visual appeal of the website.
jQuery: It is used to implement dynamic interaction functions, such as sliding menus and image galleries.
Custom JavaScript: Write specific functional scripts to meet the interactive needs of the website.
CSS file optimization
Bootstrap.css provides basic style and layout functions.
Style.css is used to customize the personalized design of the whole station.
Responsive.css is specifically used to define responsive design rules to ensure the display effect of the website on various devices.
JavaScript function
Use jquery-3.4.1.min.js to provide cross-browser dynamic function support.
Use bootstrap.js to manage component behavior, such as the folding of the navigation bar and the modal window.
Use custom.js to implement specific custom functions, such as hover animation and picture lazy loading.

Browser page display


fig 2.1 Browser page display

fig 2.2 Browser page display

fig 2.3 Browser page display

fig 2.4 Browser page display

fig 2.5  Browser page display

fig 2.6  Browser page display


fig 2.7 Browser page display


fig 2.8 Browser page display

Challenges and solutions
Challenge 1: Manage multiple CSS and JavaScript files
Question: Using multiple CSS and JS files will increase the loading time and affect the page performance.
Solution:
Merge and compress CSS files to reduce the number of HTTP requests.
Introduce general libraries (such as Bootstrap and jQuery) through CDN to improve the loading speed.
Challenge 2: Ensure responsive design of all screen sizes
Question: It is necessary to optimize the page layout for different screen resolutions, especially for small-screen devices (such as mobile phones).
Solution:
Use media queries (media queries) in the responsive.css fileFinal Project 
eg:@media screen and (max-width: 767px) {
    /* Style adjustment for small screens */
    .navbar {
        font-size: 14px;
    }
}

Challenge 3: JavaScript Compatibility Issues

Question: There may be differences in the support of certain JavaScript functions in different browsers.

Solution:

  • Use the cross-browser support function provided by jQuery to solve compatibility problems
  • Test the running effect of scripts on mainstream browsers (Chrome, Firefox, Safari, Edge) and fix potential problems

Submission:

google drive link:

HTML Code:

CSS Code:

Final website link:Netlify link :https://keen-stroopwafel-bfe3e5.netlify.app


Reflection 

The development of this project has been a transformative learning experience, providing both challenges and growth opportunities. From initial planning to final deployment, I gained insights into the complexities of web development and the importance of attention to detail.

1. Initial Planning and Conceptualization
The journey began with brainstorming ideas and drafting a design using Figma. Choosing a fashion website as the theme was driven by my personal interest in fashion and aesthetics. The design phase taught me the value of visual hierarchy, user flow, and alignment. Translating these concepts into an interactive web layout became the foundation of the project.

2. Building the Website
Implementing the design into code required integrating multiple technologies such as HTML, CSS, JavaScript, and Bootstrap. One key takeaway during this phase was the significance of responsive design. I created a separate responsive.css file to ensure the website adapted seamlessly to various screen sizes, from smartphones to desktops. Utilizing media queries, flexible grids, and relative units was crucial in achieving this adaptability.

I also explored tools like Font Awesome for icons and customized Bootstrap components for a polished look. This process deepened my understanding of modern web frameworks and their ability to streamline development.

3. Challenges Faced
Despite thorough planning, challenges arose. One notable issue was ensuring cross-browser compatibility. Some elements rendered differently on browsers like Chrome and Safari, which required careful debugging and testing. Additionally, balancing aesthetic appeal with functionality posed another challenge. For example, while visually complex layouts looked appealing, they sometimes hindered usability on smaller screens.

Another technical challenge was optimizing images and ensuring fast page loading times. By compressing images and minimizing CSS and JavaScript files, I overcame this hurdle and improved performance.

4. Problem-Solving Strategies
Overcoming these challenges required patience and creative problem-solving. Online resources, such as forums, tutorials, and documentation, were instrumental in resolving issues. Testing iteratively on different devices and resolutions also helped identify potential problems early in the development process.

Collaboration with peers and seeking feedback was equally valuable. Constructive critiques helped refine the website’s design, functionality, and overall user experience.

5. Key Takeaways and Reflection
This project emphasized the importance of adaptability and continuous learning in web development. Beyond technical skills, I learned to approach problems methodically, break them down into manageable components, and iterate solutions effectively. It also reinforced the value of designing for users—prioritizing accessibility, usability, and aesthetics to create a seamless browsing experience.

Moving forward, I aim to further enhance my skills in advanced JavaScript frameworks like React and explore backend technologies to build full-stack applications. This project has not only solidified my interest in web development but has also inspired me to push boundaries and strive for excellence in future endeavors.

















Comments

Popular posts from this blog

Final Compilation

Advanced Typography Task 3 - Type Exploration and Application

Project 2:Channel Bumper