Project #1

Pet Rescue Site

Due: Monday Mar 7, 2016 - 11:55pm

See Addendum for updates.

Overview: A Pet Rescue site.

This is a Paired Programming Project. It is the first in a three part semester project working toward a class federation of pet rescue websites. Teams will be assigned through Canvas by Tuesday 2/9. You may interpret Pet Rescue somewhat broadly, focusing on dog, cats, hamsters, etc. The detailed functionality expected for a site will laid out in each project assignment. Here, just for example, is the Rocky Mountain Collie Shelite Rescue site. As you can see, these organizations have a set of requirements to maintain a meaingful web presenece.

As you work on this Project, keep in mind that the code you are writing will live on past this Project and into Project 2. Moreover, you will have a new partner in Project 2 and the first thing that you will be doing in Project 2 with your new partner is reviewing each others code base to decide what parts to keep, and what parts to leave behind. For this reason, if for no other, focus on writing clear, documented, maintainable and extendable code.

Requirements Summary

Here briefly are working requirements and components that must be present in your site.

  • All pages to be developed using PHP, HTML and CSS
  • A Home page - Welcome message, info and links about other sections etc.
  • An About us page
  • A Common Header (Title and Logo), Footer and Navigation elements on all pages - Please implement using the PHP include tag.
  • An Authentication Page - a simple hardwired authentication - hardcode at least 3 sets of credentials. One for each of you on the team and a third with Username: ct310. The password for this user is provided below.
  • Pet adoption section - a single listing page with links to pages for available Pets.
  • One page for each available Pet. For now, these are real pages in the sense there is a *.php file on the server for each pet. You must supply at least 3 different Pets in this assignment.
  • Provision for commenting on a pet up for Adoption in a Pet's listing page. Comments may only be entered by authenticated users.
  • Each Pet needs a picture, and you must include an acknowledgement with each picture clearly showing the origin of the picture and in so doing indicating your right to use that image.
  • All your pages will carry a disclaimer on the footer in fine print which reads: "This site is part of a CSU CT 310 Course Project." The text "CT 310" will be a link to the course homepage.

Appearance

The appearance of your site must be professional. We recognize that at one level 'Professional' is a vague term, but you are an experienced consumer of web content and should have your own understanding now of what is and is not a well designed site. We will of course discuss this in class and if in serious doubt, ask. As a guide, here are some general hints:

  1. Design broadly how you entend to structure your pages before building them. Answer for yourselves how you want layout to flow and then implement that flow consistently and smoothly.
  2. Keep it simple. A clean consistent reliable layout is better then one that is cluttered and inconsistent.
  3. We have not reached the point in the semester where you are expected to understand JavaScript. One consequence of this timing is you should embrace the fact that you are not being asked to implement complex visually active elements on your pages. In other words, no drop down menus, fancy moving images, etc.
  4. Have a color palette theme of your choice to maintain consistency and professional look and feel.
  5. Do think about font styling and size. Text elements whose size and appearance is out-of-step with its surroundings are visually jarring and generally unpleasant.

Project Teams

This project, as will be the case with all projects in this course, is a team programming exercise involving groups of two. In the working world, it is rare that one selects one's teammates, and so it will be here. New teams will be formed for each of the projects assigned through the course of the semester. You will be able to see your assigned team from within Canvas. It is up to you to then contact each other and make arrangements to work together.

Each team will submit a single tar file "lastname1&lastname2.tar" with all the required files. Submission will be through Canvas.

Do not use any web development application, for example Dreamweaver, to create your site. You are doing this work to gain experience writing HTML, CSS and PHP yourself. Also, always remember that your work will be tested with Chrome on department machines.

Addendum (Updated 3/2/2016)

Comments need not have to be persisted for this phase of the project. However, you'll accept the comment from the form input and show a Thank You message. If you refresh the page, the form appears back.

You need to make use of input sanitizatons. Refer this PHP documentation.

Image for the password for user "ct310" has been added above.