INTERACTIVE DESIGN Final Project

 GCD 60904 / INTERACTIVE DESIGN

Final Project


Bachelor of Design (Honours) in Creative Media

LIU CHENG RUI (0370930) 

Instructions


Exercise
Preparation before production

Font style

Web production required images

1. Figure out what your website needs
 Who is the target audience: Figure out who the main users of the site are, such as advertisers and people who see ads.
 What features: Make a list of all the features you want to do, such as serve ads, display ads, search ads, and so on.
 Technical upstream failure: see if you can do it, pick some appropriate tools and frameworks, such as HTML, CSS, JavaScript.

Once I knew the basic requirements, I started to work on it.

1. HTML structure design
Build the website shelf: Create the skeleton of the web page, including the head, body and feet of the page. All page content must be placed in the <body> tag, while the <head> contains meta information (such as character sets, titles, stylesheet links).

2. CSS style implementation
Layout and appearance of the page: Use CSS to fix the layout of the page, colors, fonts, etc. Set the basic style first, then use layout techniques (such as Flexbox or Grid) to organize the content of the page to ensure that the page looks good on a variety of devices.

css code screenshot

3. JavaScript interaction functions
AD Posting function: Monitor the form submission event, the user fills in the AD title and description, and dynamically adds them to the AD list.

But in addition, when I was doing the website, I also encountered some difficulties:

1.Responsive design: Having a website that works on a variety of devices requires a lot of time to debug the CSS and layout to make sure it fits every screen size.
2.Dynamic content updates: We use JavaScript to dynamically update the AD content on the page, and dealing with page performance is a big problem.
3.User interaction: For example, you need to ensure that forms submission, AD filtering, and display functions work smoothly and avoid stuttering or errors.
4.Browser compatibility: Different browsers have different CSS and JavaScript support, so do a lot of compatibility testing.

When I finished most of the content, I chose to debug the web function and solve some problems.

Fix problems: Fix small bugs and issues to make sure your website works across devices and browsers.
Performance improvements: Make websites load faster, such as compressing images and simplifying code.
Publish the website: Upload the website to a server or hosting platform (such as Netlify) for everyone to access.

summarize:

When doing web development, beginners are bound to encounter various problems. From getting the page moving, to finding bugs, every step has to be explored slowly. That's how I got here. I had a lot of problems, and I learned a lot. In this article, I will use plain language to talk about the specific problems I encountered, how to solve them, and some small skills I learned, hoping to help other developers, especially novices, less devious roads.
Development process overview

Start with requirements analysis and planning. Before developing a web page, you must first think about what the website is going to do and what the user experience is like. Before I wrote the code, I thought about the core features and user experience of the website. The goal is to make a simple and fully functional web page with basic modules such as navigation bar, content display area and forms. In order to clear my mind, I also drew a sketch so that I could better understand the site layout and turn the requirements into concrete code modules.
1. HTML infrastructure:

I use HTML to build the shelves of web pages. HTML uses tags to define the structure of a web page, such as the header, body content, and footer. Using semantic tags (e.g. header, main, footer) not only makes your code more readable, but also helps with search engine optimization.

2. CSS Beautify the page:

Then I use CSS to beautify the page. This section includes background color, font size, layout, etc. CSS makes the page look neat and beautiful, but also ensures that the display will be consistent across devices.

3. JavaScript for dynamic effects:

To make the page interactive, I used JavaScript. Verify these dynamic effects through button click events and forms to make the web page more vivid and practical.

After the code is written, I preview the page in my browser to check whether the design is up to standard. Every time I find a problem, I will adjust according to the feedback to ensure that the page can be displayed normally in different environments and the user experience is good.

Code issues and challenges

HTML structure is not clear at the beginning of writing HTML, the page structure is messy, and then the implementation of the function is troublesome. I learned the semantic tags of HTML (header, main, footer, etc.) to make web pages more structured and maintenance-friendly. I also looked at online tutorials and documentation and slowly understood common layouts, such as the grid layout and the Flexbox layout.

CSS Style conflicts At the beginning of writing CSS, there are too many rules, styles over each other, page layout problems. I learned the priority rules of CSS and learned that class and id selector priorities are not the same. By checking style sources with developer tools, I was able to effectively locate problems, adjust CSS rules, and avoid style conflicts.

When a JavaScript function fails to add a click event to a button, the code does not execute as expected. I checked the code for spelling errors (such as document.getElementById), used console.log to debug, and quickly found the problem and fixed it in time.

Form verification When submitting a form, it was found that the data entered by the user was not verified, and incorrect data was submitted. I learned JavaScript form events (such as onSubmit), write conditional statements to check the user input format (such as mailbox format), and improve the reliability of the form and the user experience.

Web pages display differently on different devices, and mobile browsers are especially messy. To solve this problem, I learned the media query technique of CSS (@media) to set different styles for different screen sizes. I also did cross-browser testing to make sure the page was compatible with all major browsers.

Learned experience and skills

1.The importance of code planning before writing code, the first detailed planning and design, can help us better understand the functional requirements, to avoid getting lost when writing code. Reasonable structural design not only makes the code easier to read, but also reduces the time for subsequent debugging and modification.

2.Learn to debug with the browser's developer tools (such as Chrome DevTools) to find problems faster. Look at console output, check elements, debug network requests, and more to make debugging more efficient.

3.When you encounter a problem with learning resources, use a variety of learning resources (such as online tutorials, technical forums, and official documents) to quickly find solutions. Especially for unfamiliar technology stacks, these resources can save us a lot of learning time.

4.There are bound to be problems during development, so it's important to stay calm and patient. Every time you encounter a bug, take your time to troubleshoot the problem.


When I was doing web development, I learned that planning and patience are really important. At first, I thought I could get a web page just by being able to write code, but then I found that requirements analysis and planning ahead really helped. Every time I encountered a problem, I relied on debugging tools and patience to find the problem and solve it. Especially when learning CSS layout and JavaScript, I slowly found that the accumulation and practice of every small detail is the key to improving the level of development.


This experience has taught me that code is not just a tool for implementing functions, it is also a process for solving problems. In the process of development, rational use of resources, continuous learning and summing up experience have enabled me to make continuous progress and improve my problem-solving ability. In the future, I hope to write more concise code, learn more advanced technology, accumulate more experience, and further improve my development level.


Feedback:

I learned a lot of things while working on this website. In the beginning, I found it really difficult to design a website that is both simple and versatile, especially in the area of interaction and user experience. The problems I encountered made me understand more about what was going on behind the code, and the details. Through testing and improvement, I learned how important the details are to the user experience. Every time I see the website getting smoother and smoother, I feel a great sense of accomplishment. This project not only allowed me to practice my front-end skills, but also gave me a deeper understanding and enthusiasm for making websites.

Comments

Popular posts from this blog

Typography Task 1

ILLUSTRATION & VISUAL NARRATIVE TASK 3:Final Project: Comic cover and Animated One Page intro

TYPOGRAPHY | TASK 3: TYPE DESIGN & COMMUNICATION