Web Site Development Semester Project 

Project # 4 - (Major semester Project) - Final Submisson 

Due:

Please write your project using one of the following text editor options. For Visual Studio Code, you might need to install an HTML / CSS 'extensions' to write the project 

Brackets   or Visual Studio Code   (Add in 'live server' extension for Visual Studio)

Introduction to Visual Studio

How to get started with Visual Studio for web site development  


Other plug ins that go with Visual Studio:


add live server (to view site as you make it!) / How to add in ill sense in HTML / Another related link 


Setting up a web site project in Visual Studio - introductory (video) 

Getting Started with Brackets


Web Development Project Outline 

Web site Build Criteria - A Fully Proficent Project 


Optional Project Enhancements (Extended learning - more advanced) 


(*) You may choose some of your own outside of this list as well!. 

Suggested Web Site Topic list - something visually appealing... 

A restaurant / a fashion or photography site / a sports related web site / travel destinations / inspirational quotes or poetry / trends in technology / …

...incorporate a topic with strong 'visual appeal' 

Pre Project Mandatory Reading: 

" The px is thus not defined as a constant length, but as something that depends on the type of device and its typical use. "

Step one - Setting up folders and files - 

Use Brackets or Visual Studio Code (only)

Here are a couple of good links to help you work with the Visual Studio software for web development 

Part A - Getting started...build your Index.html homepage...

Part B - Set up your GLOBAL CSS style page from which you will be building out styling elements

Step Two - Make a navigation bar on your index.html 

You are now ready to start making your home page (index.html). You will be either MODIFYING an existing navigation bar (copying most of the code from the links below) or if you are feeling ambitious, then write a navigation bar from scratch. Many of 'premade' navigation bars come with some CSS AND JavaScript built in to them. You should add the navigation bar CSS into your global style sheet but the JavaScript should be embedded directly into the HTML structure page (as described in this link). 

Option ONE - Navigation bar related links

1) Select the navigation bar code from this link / A shopping centre of navigation bar choices

2)  Try these beautiful navigation bar designs that have great response - more advanced 

3) Code-pen examples: Responsive Navigation Bar:  Example one , example two, example three, example four, or look for your own from this link / How to make an image a 'link'

Option TWO - Build your Own  navigation bar 

Build your own responsive navigation bar built by you from scratch /  Alternate coding instructions for this task / W3schools - how to make your own nav bar feature

(*) Note: add a developer comment in the structure page IF you created a quality completely on your own. You will be awarded some extra points for putting in that extra coding effort!


Add a Background HERO Image 


You will need to add in a HERO image into your project. This Image should cover the entire page and be of a high resolution and quality. As well, you might want to add some site title into this as well that goes OVER the image. 


Step Three     Create a parallax scrolling feature / responsive design / complete your index.html page / prepare for 'replication'

Add a 'Hero' Image  

Background images explained / How to Add an Image and Backround in HTML  / to adjust the order of the stacked items so that the hero image doesn't go in front of Nav bar - see this link (adjust the Z- Value) / ALL about placement of Images in HTML

Parallax Scrolling feature 

In the next part of the project, you are going to complete your index page with all HTML page structures (tables, image locations, side menus and any other CSS style elements (site colour scheme, parallax scrolling, image hover features, slide shows and other "look and feel" elements to your site).

Once you have completed the look and feel of your home page we are then going to be moving on to building out the basic FULL site structure and linking up the new pages to your navigation bar (see next step) 

(*) Try to get the following features to work but if you can't then try to just get the 'anchorded Nav Bar to function! :) 

'Sticky' Navigation Bar

Make your Navigation bar 'Stick' to the top of the page OR Anchored to the top while content scrolls underneath.

You have THREE OPTIONS for this! 

Make your Navigation Bar Sticky - using CSS and JavaScript (gold)

Make your Navigation Bar Sticky - using JUST CSS (silver)

Creating a Sticky Navigation Bar with CSS ONLY 

Make your Navigation Bar Anchored to the top of the Page (bronze)

  make it anchored to the top of the page. 

Responsive Design 

To ensure your website views the SAME on different sized screens like tablets and IPADS then add in a "responsive design" feature. (ADVANCED  feature but would be great to include)

 Responsive Design video discussion 

"HTML Responsive Web Design" /   How to Make your Nav Bar responsive with CSS and JavaScript

Once you have 'attempted' to make your website 'responsive' use the Chrome 'inspect' tools to get a preview of your website on a tablet or a mobile device!

Other Index Page Optional 'add on' options:

If you want your page to have a "jump" to feature you can follow use the following procedure: 

How to add an image that is INSIDE of a folder in your web site folder (eg if you have your images in a seperate folder - you must tell the browser to look INSIDE a folder) "

"Jump down" the page - procedure

Add an image slide show 

Add an image gallery  (without responsive design) / 

Image Gallery with responsive design (resize the window too see how this works) 

Step Four - Replicate your index home page / rename subpages / link to the Navigation Bar

In this next step in the process, you will be "copying and pasting your index.html" page, matching the number of links on your navigation bar to the number of copied pages. You will then rename each of these copied pages to match the name of the page as explained on the navigation bar link (eg. if I build an electric car website, one link might be called TESLA and therefore there must be one html page called TESLA.html). Once you have renamed all your files in your root folder to match the names of your navigation bar links. 

As described in Code Academy I would use "relative" links to map the location of the relevant files (same goes for images etc. - if they are inside a folder) 

This process for mapping relative links are discussed here

You will also need to go into each of the HTML pages and change the navigation bar links so that they link back to the other pages successfully.

Step Five - Build out your web site content with interactive features and unique CSS functions

Now that you have created your full web site structure with all your html pages / navigation bar / linked CSS , you will now get a chance to personalize your site and add in some unique site features - to make it stand out from the crowd. 

Some cool project enhancements might include: 

Unique image hover features / A video parallax scrolling / colour gradients / CSS animations / JavaScript 'on-click event buttons' / box shadows / animated titles / cool title effects (codepen) / background colour switching / ...seriously the list is endless :) 

Have fun! 

Part I - Enhanced CSS

Please add a minimum of 3 of these project enhancements. Here is a starter database to hopefully inspire you...


Video parallax scrolling  

"mother-lode" of examples :) 

Video describing how to make it work with CSS 

 code pen image hover feature 

A dynamic photo gallery (image hover features)    Instructions / code here  / how to code image gallery with flexbox

CSS colour gradients                                                   Colour gradients for backgrounds

CSS animations and transformations                      CSS animations / 2 D transforms / 3 D transforms

CSS transitions                                                             CSS transitions Part I

Pure CSS transitions for on - off view                      CSS transitions part II

CSS animatables (@keyframe rules)                        An incredible "grab bag" of slick CSS functions! (scroll down for list!)

More Examples - yes the list is endless...

CSS animation colour gradients 

change background size  

image colour border modifications  

box shadow  

animation of font size 

transform of origin 

word space (way cool :) )

Step Six - Adding additional site features by harnessing the power of JavaScript 

Introduction

Now its time to use our website coding 'superpowers' to take your site content to the next level. How can we, as budding developers, accomplish such a feat? Well read on!

What are the ways one might to add JavaScript code snippets to a web site project? This link describes some options

Part I - JavaScript add-ons (the 'behaviour' of web design)

Here are a collection of basic JavaScript code snippets that you can simply cut and paste into your website on either an EXTERNAL JavaScript page or build it as an INLINE code snippet. JavaScript is famous for its 'portable' scripting libraries - self contained code enhancements 

(see link)          JavaScript snippet site 

OR

Part II - JavaScript - code snippets (dramatic project 'add ons')

CODE PEN (a collection of very unique JavaScript code 'add-ons')

Course Project Resource Help Area (will be updated as the Unit Progresses) 

Adding in a video as a parallax scrolling feature :   

An example showing how to add in a video parallax feature/ another/ #3 / working example of a video parallax scrolling feature / free footage web site to use for video parallax /  How to maintain video aspect ratio - responsive design / make a responsive slide show / parallax scrolling  

Other functions and cool features: 

How to use float to text wrap an image                 Exploring the concept of "floating an image" and the use of "clear"

Controlling image opacity                                    Controlling Image opacity (right click mouse look at source code for opacity)

How to make link jump to specific page section    Here is a discussion of the topic

Background coverage                                                 Discussion of topic

How to have images sit "side by side"                     Method # 1 / Method # 2 (excellent discussion of topic)

How to use float "align left"/Align "right" CSS          Use this to align specific elements such as pictures or buttons L or R

How to make a "top of the page" button                 Top of the page with J Query

How to add in an image                                              Image location discussed

Here are all the colour codes for your projects      HTML colour code chart 

To jump down the page                                             To jump down a page! How to open link on ANOTHER page

to set up a image class                                               How to make images responsive when linked with CSS image class

Making an image relative size                                 Code for making an image relative (scroll down to "original answer")

Make your navbar "sticky" staying at top              Keeping your nav bar at top working in concert with parallax scrolling

How to soften image edges in Photoshop            Softening edges in Photoshop for Parallax scrolling / after effects

Flex box features                                                      Discussion of Flex Wrap feature in CSS / Flex box functions and uses

Other helpful Resource Links section (specific information for specific issues)

A completed project sample

The essentials of good web design and structure  /  HTML essential building blocks listed by code type  /   How to code a HTML and CSS site /   Important information related to containers and layoutsA wrapper Using tables to space out elements such as a collection of hypertext links!  /  How to format a hero image and text (CSS and HTML)An "i frame" clock /   To create a page length feature using a variety of strategies - mainly CSS and HTML  / Line height versus using br code for spacing content   / Make image or text appear and disappear via JavaScript button / A finished working website sample /  Web site example one