辅导案例-ISYS1101/ 1102
Assignment 1 (specification and submit zip of public_html folderfor milestone 2 here) Published Edit Assignment 1: Building a web application with a databasebackendISYS1101/ 1102 Database ApplicationsImportant InformationAssessment Type: Individual assignment; no group work. Submit online via Canvas -->Assignments --> Assignment 1. Marks awarded for meeting requirements as closely aspossible. Clarifications/updates may be made via announcements/relevant discussionforums.Due date: 23:59, Sunday 01 September 2019Late submissions of assignments will be penalised as follows. For 1 to 5 days late, apenalty of 10% (i.e. 10% out of total marks, not 10% out of your marks) per day. Forassignments more than 5 days late, 100% penalty applies. If you submit between 00:0002 September and 23:59 02 September, your penalty is 10%. If you submit between 00:0003 September and 23:59 03 September, 20% penalty, and so on.Weighting: 20 marks OverviewThe objective of this assignment is to reinforce what you have learned in the lectures and tute/lab sessions. Specifically, it involves how to create a simple web application that connects to anOracle database server. In order to achieve this learning outcome, you will attain skills in amultitude of areas, specifically, database requirements analysis, conceptual modeling, physicaldatabase design, wring efficient SQL queries, query optimisation, embedding SQL queries inPHP applications, and hosting a dynamic web application.Simple web applications can be designed using a two-tier architecture, in which a clientcommunicates directly with a server. In this assignment, a PHP web application communicatesdirectly with an Oracle database using the PHP Oracle Database Connectivity API (OCI suite ofAPIs.)The application you build in this assignment involves the creation of a number of PHP pages. Ineach of these pages you use HTML and CSS to implement a simple interface, and use PHP (withOCI API) to perform the logic that directly queries the database and inserts the retrieved databack into web pages.The main emphasis in this assignment is the database backend. While it is essential to havegood PHP and web programming skills, they do not primarily contribute to your assessmentoutcomes. Assessment CriteriaThis assessment will determine your ability to:1. analyse the requirements outlined in the problem description;2. develop a conceptual model to assist you with the design of the database backend requiredfor the system;3. use an industry-standard ER modeling tool to draw the ER model and generate SQL DDLstatements for generating table schemas;4. write SQL statements required for CRUD (create, read, update and delete) operations on thedatabase you built;5. by embedding above SQL as appropriate, write the complete web application using html,php, Javascript and any other required tools;6. host your web application on school's core teaching servers.Learning OutcomesThis assessment will assess how you attained the following course learning outcomes:CLO 1: apply advanced data analysis and modeling concepts, physical design, integrity,security and transaction management.CLO 2: create triggers, stored procedures and functions to enhance the usability of adatabase;CLO 3: apply techniques for efficient storing, accessing, securing, and recovering of data;CLO 4: build an efficient database application with an emphasis on storage management,indexing, and query optimisation;CLO 6: develop a simple web-based interface for a database.Preparation WorkYou are required to be able to write code in HTML, PHP, Javascript and any other programming/scripting languages to build a fully-fledged web database application. More importantly, youshould be able to use Oracle oci API within a PHP program. In order to acquire this pre-requisiteknowledge, you must complete Week 2 lab session (and, if you haven't done any webprogramming before, Lynda tutorials listed in Week 2 Pre-lecture activities).Another learning outcome of this assignment is to learn to use an industry-standard ER modelingtool to draw the ER model and generate SQL DDL statements for generating table schemas. Weuse Oracle SQL Developer tool for this purpose. Complete Part 2 of the Week 3 Tute/ Labsession prior to attempting the data modeling part of this assignment.Assessment DetailsLet’s assume that a decision has been made to develop a light version (called Facebook-Lite) ofthe ever-popular Facebook application. This light version has limited functionalities compared tothe full version. Only core functionalities are to be retained. You are tasked with the design of thedatabase backend and web frontend.After a careful analysis, the following core functionalities are to be retained in the light version.The system stores information on members; each member is uniquely identified by email and afull name, screen name, date of birth, gender, status, and location are to be stored. Eachmember has a visibility level on Facebook-Lite (private, friends-only, or everyone).As in the case of Facebook, members form networks of friends. A friendship is always betweentwo members. A member can send a friend request to another member. Once that memberaccepts the request, they become friends on Facebook-Lite. Each friendship has a start date.Members can make posts on Facebook-Lite. A post has a unique postID and a body and atimestamp. Facebook-Lite only allows textual posts.Other members can respond to posts. They can also respond to previous responses. Responsesare identical to posts in structure, so, they share the same structure as in the original post. Eachresponse will have a parent post or a parent response.Members can “like” posts and responses. The system keeps track of likes, specifically themember who makes the like and the corresponding post/ response. No other information isrequired on likes.Summary of Tasks:1. Draw an entity-relationship model to represent these requirements. Make sensibleassumptions for cardinality and participation constraints where they are not clearly outlined inthe description.2. Use Oracle SQL Developer (or SQL Designer) tool to general DDL script to build the tablesrequired for the database backend.3. Write a PHP application to do the following tasks:1. Create a new facebook-lite account, log into your current account;2. Manage account;3. Invite a friend (among current users) and accept (or reject) friend requests you receive;4. Add a post;5. Add a Like to other posts;6. Add a response to other posts;7. Display your Facebook page rendered in a user-friendly and accessible manner.4. Demonstrate your complete web database application, hosted on school's web server.Task Descriptions:There are three milestones in this assignment.Milestone 1:You are required to build the data model for this application using an Entity-Relationshipdiagram. This diagram should be developed on Oracle SQL Developer. This diagramshould be of professional quality with sufficient details that any other database personnelshould be able to comprehend. Then, convert your data model into the physical database design and finally generate theDDL script to build the back-end database schema for the application.In order to complete this milestone, you are required to demonstrate your workings and thefinal DDL script to your tutor during Week 4 lab sessions. It is very important to get itmarked off by the tutor before you proceed to Milestone 2. If your design does not meet thebusiness requirements, your tutor will allow you to make any amendments (only once) andpresent again for evaluation.Milestone 2:In this milestone, you will develop SQL scripts required to do all the CRUD (create, read,update and delete) operations associated with various functions of the application. Most ofthese functions will require more than one SQL statement. These SQL statements are thenembedded within PHP scripts using Oracle oci API. Application homepage:The home page will have a small form to enter the username and password of a facebook-lite user. There must be a link to another page for new users to create a new account. Whenthe form is submitted, the user credentials are checked and if correct, the user will be takento their main page.New User Creation page:This page will ask for email (used as username, as well as communication) and a full name,screen name, date of birth, gender, status, and the location. Furthermore, the user will berequired to enter their visibility level. Read problem specification for details. Once theaccount is created, the user will be taken to their main page.Main page:This page will have several sections. (1) at the middle section, it shows up posts (your ownas well as friends). Beneath each post, there is a button "like" it and a test box to endcomments/ responses. (2) at the top of posts, there must be a text box to enter your newposts. (3) the right-hand pane is for managing friendships. At the top, it will show a list ofpending friendship requests (if any). At the bottom section of the right pane, will let the userto search other users and send friendship requests. (4) The left-hand pane is for managingyour account. It should have links to separate pages for updating the profile, and fordeleting the account.Account Profile Maintenance page: This page should allow you to change your screen name, status, location, and visibilitylevel.You are required to complete this milestone by the due date and submit your codebase, byfollowing the submission instructions.Milestone 3:You are required to do a demo of your complete application hosted on the school's webserver. These demos will be conducted during the week of 9th September (Week 7). Youshould have some users and posted already stored in the application and the tutor will testout the functionality by adding new users, posts, likes, and responses. Tutors will use a standard testing plan for all submissions and you will only receive yoursecond milestone marks if you can demonstrate the functionality of your applicationin this milestone.Submission FormatFirst zip your public_html folder using one of the standard zip programs (gzip in core teachingservers is the preferred mode of zipping.) Rename the zipped file with your student number (say,s1234567.gz) and submit it on Canvas. It is your responsibility to make sure the submission is(1) complete; (2) correctly zipped; (3) retains the directory structure; and (5) executable on core-teaching servers. Please verify that your submission is correctly submitted by downloading whatyou have submitted to see if the files include the correct contents.Academic integrity and plagiarismAcademic integrity is about the honest presentation of your academic work. It means referencingthe work of others while developing your own insights, knowledge, and ideas.Breaches of academic integrity include:plagiarism and failure to correctly acknowledge sourcescontract cheating or paying another person to prepare an assignmentsubmitting work prepared by another personcopying other people’s workcheating in examsbreaching the Research Codeusing unauthorised materials or devicesPenaltiesThe penalties for breaching academic integrity are severe - they include charges of academicmisconduct, cancellation of results and exclusion from your course. For further information on our policies and procedures, please refer to the University website.(https://www.rmit.edu.au/students/student-essentials/rights-and-responsibilities/academic-integrity)Assessment declarationPointsSubmitting10a file uploadDue For Available from Until1 Sep Everyone 4 Aug at 0:00 8 Sep at 23:59When you submit work electronically, you agree to the assessment declaration.(https://www.rmit.edu.au/students/student-essentials/assessment-and-exams/assessment/assessment-declaration) Rubric