Database

anisa11
SignatureAssignmentITC3150.html

ITC3150 Database Websites

Signature Assignment

Purpose of Assignment

The signature assignment will leverage all of the skills learned (as outlined below in the course outcomes section) during the course to create a working PHP-MySQL-based blogging website.

Program Student Learning Outcomes:

Course Outcomes

  1. Explore contemporary tools in developing database websites
  2. Develop web pages using PHP syntax for basic programming structures ( i.e. conditionals, iterations, arrays, functions, objects etc. )
  3. Connect to and maintain data in a relational database Design and implement forms and controls that demonstrate an awareness of user-centered design
  4. Access and manage file I/O from PHP pages
  5. Handle exceptions, including user data entry errors appropriately
  6. Authenticate users and manage user sessions in a PHP application
  7. Demonstrate an awareness of security best practices in PHP development

Assignment Description

.

A blogging database will be provided as outlined in the ERD below

The entities in the DB are

  • Users
  • Posts
  • Tags

The relationships are

  • 1:M A user may make zero or more posts. A post is made by a single user
  • M:N A post may have zero or more tags. A tag can be used by zero or more posts.

Students will have to

  1. Install the database in MySQL
  2. Create a web application that has the following functionality
    1. Allows users to create an account
    2. Allows users to login
    3. Allows administrators to login
    4. Allows users to search the database by keywords/authors/tags/dates
    5. Allows users to create a new blog entry with attributes:
      1. Blog content
      2. Blog date
      3. Blog author
      4. Blog tags
    6. Allows users to browse the blog entries
    7. Allows users to display a blog entry
    8. Allows users to logout
    9. Allows administrators to edit and/or delete a post
  3. Enhance the DB by introducing a 1:1 relationships between administrators and User

Criteria for Success

All functionality will be tested. The test procedure will be posted on Canvas allowing you to test your solution before submission.

Deliverables

A ZIP of all PHP source files, MySQL database files and required documentation shall be submitted Canvas.

The MWB (MySQL Workbench) file shall include

  1. ERD
  2. Views: SQL queries providing required functionality

Some SQL queries will be provided

Others will be developed by the student

A framework for the PHP and HTML sources will be developed week by week.

Rubric(s)

Criteria

(examples shown below)

Above Standard

100:85 %

Standard

85:70 %

Below Standard

70:0 %

User Account Creation All or some error paths are coded. User is able to successfully create an account

Code will not work, errors out

Not implemented

Account Login All or some error paths are coded User is able to successfully login

Code will not work, errors out

Not implemented

Search Blog Entries by Author, Tag, Keyword All or some error paths are coded User is able to successfully search by some or all means

Code will not work, errors out

Not implemented

Create Blog Entries All or some error paths are coded User can successfully create a new blog entry

Code will not work, errors out

Not implemented

Browse Blog Entries All or some error paths are coded User is able to scroll through all blog entry summaries

Code will not work, errors out

Not implemented

Display Selected Blog All or some error paths are coded User is able to display the contents of a selected blog

Code will not work, errors out

Not implemented

Logout All or some error paths are coded Logout works corrrectly

Code will not work, errors out

Not implemented

Admin

Administrator is able to

  1. Edit a post
  2. Delete a post
Administrator functionality is provided but with errors Administrator functionality is missing
DB Enhancement A 1:1 relationship between admins and User is correctly implemented A 1:1 relationship between admins and User is implemented but contains some errors A 1:1 relationship between admins and User is not implemented