Welcome to COMP 466:
Advanced Technologies for Web-Based Systems (Revision 6)

Assignment 2

Student name: Christopher Cagna

Student number: 3292839

Start date: 03/10/23

End date: 03/28/23

Hours Spent: 250+


The following web applications use MySQL and PHP to facilitate an online services. The applications allows for users to create a user account and submit information and data to the server. The data is processed and then readable and/or usable by the users Far more detailed descriptions are found inside each, Part 1 and Part 2's dedicated documentation in the about section.


General across both apps - refer to each parts dedicated about section for more.


  • These application set out to create a Web App that allows users to create an account log in and store personal website bookmarks on bookmarker, to be accessed from anywhere provided they are able to login. getSmart allows instructors and students to utilize an online learning management system. Far more detailed documentation can be found inside each parts about section.
  • User able to create user account with email name and password
  • User submitted email should be checked for email validity and DB uniqueness
  • User should need to type same password twice for confirmation during signup
  • User account information is stored on database
  • User able to log into account using correct account information
  • User able to log out from account section
  • User able to store Data (Website name and URL)
  • Data should be presented in GUI
  • Data should be clickable, and send user to respective website when clicked
  • Data should be deletable via a button located below the bookmark
  • Top 10 Data should be displayed to users who are not logged in (guest users)
  • Guest users should be redirected to account creation when clicking on create bookmark
  • Application should run on all major browsers
  • Application should only require that user has Javascript enabled on the browser
  • Application should be live on a Web Server for TA Access
Input and Output:
  • Website will be fully controllable using the mouse
  • user data will be entered into text fields using the keyboard
  • user submitted emails must be unique
  • user submitted submitted passwords must pass confirmation
  • user will be assigned a unique ID number
  • the website will output appropriately based on user ID number

TA Guide

This should be the first page you see, in keeping with the assignment requirements. I Purchased a domain and web hosting service from dreamhost. The domain is www.cagnacan.com. This page is meant to serve the exact purpose of the "Cover Page" as described in the assignment, and therefore does not have the features the actually assignment parts do.
After reading, click the link for the assignment part(1 or 2) you wish to view. The links will take you to their respective online locations. I Purchased a domain and web hosting service from dreamhost. The domain is www.cagnacan.com.

I don't use code comments much. My McMaster professors push the notion that if you use good variable names, you should omit comments unless there is complicated math or algorithms to explain. As such, my commenting is light but the variable names are plain english which should serve as all the code exploitation needed.

The website is tested on Chrome, Edge, and Firefox. I do not have a macBook, nor does the course every discuss the operation of a virtual machine, and therefore I have not tested for functionality on Safari. The website should function well enough on the before mentioned mobile browsers as attempts have been made to accommodate varied screen widths, however was optimized for desktop usage.

The Web server I purchased from dreamHost is extremely slow. I used correct image data types for their purposes, and even used image impression software to get down image sizes to usually less than 100kb, however due to the web server, these still take some time to load. They load instantly locally.

The entire assignment is also stored on my github if you wish to view my commit details: Chris Cagna's Github


Documentation for each part will be found in the "About" Section of their respective web locations. Click the links below to go to Part 1 or Part 2 of the assignment.