Interactive Design: Final Project_Websites Redesign Development
21 November 2024-12 December 2024
CHONG CHENG TAO (0371072)
Interactive Design | Bachelor of Design in Creative Media | Taylor's
University
Project 2/ Website Redesign Prototype
List
Project 3: Website Redesign Development
- Development Process
- Challenges
- Interactive Element
- Demo Video / Testing
- Final Submission
Development Process:
At first I have created 5 html files with custom CSS stylesheets. 5 main pages are developed including homepage, review page, genre page, chart page and contact page.
I have imported Bookstrap and DaisyUI CDN to used the existing framework and toolkit. From bookstrap, I have used class= "col-10" for all of the sections to ensure the consistency white space and margin of the overall website. For customization, I have used multiple css stylesheets to customize the framework and toolkit. In order to make allow the customization, a more specific class need to use or using "!important" in the CSS code. Besides Bookstrap and DaisyUI, I have use a few of online free sources to achieve some effect and functions.
The most challenging part of the overall creating process would be the horizontal scrolling card containe. As it is related to complicated CSS and Javascript codes. In order to achieve that, I have used a framwork of multi column slider (more specific details in Challenges 2).
Challenges:
Following are the challenges I face throughtout the development phrase and the respective solutions.
1. Responsive website in devices like dekstop, mobile and tablet
- Using framework like Bookstraps.
- Using the column class from the framework to fix the elements in a certain column.
- Eg: class= "col-6" fixed the elements in 6 columns widths in all devices.
2. Horizontal scrolling of card elements
- In the hompage, albums are display with card elements which can be scrolled horizontally.
- How to Create Horizontal Scrolling Container
- Pure CSS Horizontal Scrolling
- After consulting Mr Shamsul, he suggested me to do a multi column slider. (example here)
- In the JS code, a limit number of items (card) per row are set in different screen size.
3. Open hidden info of the card on click
- Method 1: Show div on click
- HTML: <tabindex = "1" >
- Make the element focusble and can be navigated to directly using Tab key.
- Method 2: Details disclosure element
- HTML: Using <details> tag
- In <details> put all information.
- Place the info that want to show the viewer in <summary> tag.
4. Customize scrollbar
- CSS: ::-webkit-scrollbar, ::-webkit-scrollbar-thumb & ::-webkit-scrollbar-track
- The scrollbar is customized to fit the overall style of the website.
5. Customize style for Bookstrap/ DaisyUI framework
- Method 1: Using !important (however it's not recommentded as it will potentially disrupt other style.)
- Method 2: Put custom style in a more specific class.
6. Pop up card & window after clicking button
- Create a button for clicking action.
- HTML: Include onclick event. (Eg: onclick="showPopup()")
- CSS: Style both pop up card while close and open:
- .popup { display: "none", }
- .popup.show { display: "block", }
- JS code created using Claude.ai.
- An animation keyframe is added to the pop out action to make the animation looks smoother.
Fig 2.4 Show pop out card_JS code
7. Change order of flex direction
- CSS:
- First items: order: {1, }
- Second items: order: {2, }
8. Responsive
-
Most of the responsive material get from Bookstrap and Daisy UI. However, a few of customization are still needed to make it look smoother.
-
Mobile responsive: @media (max-width: 450px)
- Tablet responsive: @media (max-width: 1024px)
- The section that required mannual adjustment in responsive is mostly the scrolling card section and display issues in a container.
Fig 2.7 Responsive Cheatsheet
Fig 2.8 Chart card_Deskop view
9. Like and Dislike button
- Like button and dislike button are set in default.
- An active Psuedo class is add to swap the fill and stroke of the svg graphic.
- CSS: {transition: all 0.3s ease;}
- Transition is added to smooth the color swapping.
- JS code is added to make the like and dislike button only active either one.
Fig 2.12 :active_Psuedo class_
Interactive Elememts
Some interactive elements are added to the website to enhance the overall user experience and satisfaction.
Carousel
The hompage carousel features 3 images with short desciption, which can be
changes by clicking the "<" and ">" button.
Multi Column Slider
Multi column slider is using to display cards for albums and news. It
can be drag by holding left mouse or using the left and right buttons.
Fig 3.2 Multi column slider
Besides, each cards consist dropdown to show more details such as rating and review.
Rating Bar
In the review page, a 5 star rating bar is featured for the
user to rate a specific album.
Fig 3.4 Rating bar
Textarea & Button
In review and conatct page, there is a textarea dedicated
for review post and user's opinion.
Demo Video / Testing
Fig 4.1 Demo video_Desktop view
Fig 4.2 Demo video_Mobile & Tablet view
Final Submission
Fig 5.1 Screengrab of redesign website_RateYourMusic
Fig 6.1 Hompage_index.html
Fig 6.2 Reveiw page_review.html
Fig 6.3 Genre page_genre.html
Fig 6.4 Chart page_chart.html
Fig 6.5 Contact page_contact.html
Fig 6.6 Custom CSS stylesheets_custom.css (merged)
FEEDBACK
Week 12
- Try to use multi column slider for the homapge.
- Make sure that the main page or the first page should be named index.html. The other 4 pages can be named accordingly (eg. about.hml, contact.html etc).
- Overall looks good.
REFLECTIONS
This project has been such a challenging and amusing journey! The
process of developing the website using coding languages is full
og ups and downs. Sometimes, I find myself stuck on what seems
like a simple problem for hours, but overcoming those challenges
feels incredibly satisfying. While it is really frustrating at
times, it’s also interesting to learn, experiment, and create
something from scratch.
I feel that my problem-solving techniques have improved
significantly throughout this project. I’ve noticed that I’m less
likely to panic when faced with difficulties. Besides, I'm able to
tackle the issues by using different methods and approaches.
Overall, I’m proud of the final product of this project. Although
there’s still a big of room for improvement, I view this as a
checkpoint for myself as a designer.
Comments
Post a Comment