Overview

You will design a data model and implement a database schema in MySQL for a simple to-do list web application. You will then build a viewer for the data.

Specifications

Implementation

General

  • The code is indented to show tag parent/child relationships.
  • The root directory for this assignment should be:
    • ~/public_html/dig3134/assignment04
  • The image directory for this assignment should be:
    • ~/public_html/dig3134/assignment04/img
  • Your HTML page should be located in the root directory for this assignment and should be called todo.php
  • Your page should contain proper semantic formatting of content.
  • All directories and filenames should contain no spaces or uppercase letters.
  • All links need to be functional.
  • All of your .php files need to have corresponding .phps files in the root directory.

HTML

  • Web pages validate as HTML 5 (http://validator.w3.org (Links to an external site.)Links to an external site.).

CSS

  • The CSS directory for this assignment should be:
    • ~/public_html/dig3134/assignment04/css
  • All styles must be documented in an external CSS file called styles.css and linked to the document using link or an @import url rule.
  • All presentational HTML attributes should be replaced with CSS rules.
  • Use classes and/or id's where appropriate.

Database Spec:

General

  • Only one table should be used and it should be named a4_todo.
  • The following data should be represented in each row of your table
    • todo_item
    • todo_item_author
    • todo_item_completed_date
    • todo_item_creation_date
    • todo_item_due_date
    • todo_item_id
    • todo_item_person_accountable
    • todo_item_start_date
  • INT should be used to store integers
  • VARCHAR should be used to store strings.
  • DATE should be used to store dates in the standard MySQL date format
  • One field should be declared as a PRIMARY KEY.
  • One field should be declared as AUTO INCREMENT
  • todo_item_completed_date, todo_item_start_date, todo_item_due_date, and todo_item_person_accountable can contain NULL values.

PHP Functional Spec

General

  • No global variables should be used.
  • Your logic should check if variables/superglobal arrays exist before trying to access values stored inside.
  • You should mix standard HTML and PHP wherever possible (as opposed to outputting all of your HTML with PHP echo statements).

Database Output Specification

  • todo.php
    • The following data from the database should be displayed onscreen in an HTML table in the following order:
    • todo_item_id
    • todo_item_creation_date (in the format MM/DD/YY)
    • todo_item_author
    • todo_item_person_accountable
    • todo_item
    • todo_item_start_date (in the format MM/DD/YY)
    • todo_item_due_date (in the format MM/DD/YY)
    • todo_item_completed_date (in the format (MM/DD/YY)
    • Any NULL values should be displayed as the string "N/A"

Presentation

  • The layout of the page is open to your creativity, but there should at least be an obvious visual divider between the content area and background areas, including but not limited to borders and background colors.
  • Non-default font styles should be used.
  • Your table should include a < thead> and < tbody> section, and both sections should be styled.

Content

  • The content of the pages will come from the data in the database. You should have at least 10 rows of todo list items (with some NULL values).
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.