Building a web application with a database backend

Assignment Help Database Management System
Reference no: EM132363254

Assignment 1: Facebook-lite Web Database Application

1 Problem Description

Let's assume that a decision has been made to develop a light version (called Facebook-Lite) of the ever-popular Facebook application. This light version has limited functionalities compared to the full version. Only core functionalities are to be retained. You are tasked with the design of the database 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 a full name, screen name, date of birth, gender, status, and location are to be stored. Each member 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 between two members. A member can send a friend request to another member. Once that member accepts 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 a timestamp. Facebook-Lite only allows textual posts.

Other members can respond to posts. They can also respond to previous responses. Responses are identical to posts in structure, so, they share the same structure as in the original post. Each response will have a parent post or a parent response.

Members can "like" posts and responses. The system keeps track of likes, specifically the member who makes the like and the corresponding post/ response. No other information is required on likes.

2 Reference Database Design
Even if the above requirements appear to be complex, when you analyse them carefully, you will find that there are only two entities: member and post. Of course, there are a number of relationships between these entities. One can argue that some of these relationships can be represented as entities of their own. But, when you apply ER design principles, they are better represented as relationships in the logical design.

Another point of contention is the representation of first-level posts and subsequent responses. On one hand they are different because first-level posts are connected to a member and follow-up responses are connected to a parent post. Apart from that, there are no differences between them. So, in fact, we can use one entity to represent both of them. Within his one entity set, we can have entities representing first-level posts (with NULL values for their parent post ID) and follow-up responses (with a valid parent post ID).

Assignment 1: Building a web application with a database backend

Overview

The 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 an Oracle database server. In order to achieve this learning outcome, you will attain skills in a multitude of areas, specifically, database requirements analysis, conceptual modeling, physical database design, wring efficient SQL queries, query optimisation, embedding SQL queries in PHP applications, and hosting a dynamic web application.

Simple web applications can be designed using a two-tier architecture, in which a client communicates directly with a server. In this assignment, a PHP web application communicates directly with an Oracle database using the PHP Oracle Database Connectivity API (OCI suite of APIs.)

The application you build in this assignment involves the creation of a number of PHP pages. In each of these pages you use HTML and CSS to implement a simple interface, and use PHP (with OCI API) to perform the logic that directly queries the database and inserts the retrieved data back into web pages.

The main emphasis in this assignment is the database backend. While it is essential to have good PHP and web programming skills, they do not primarily contribute to your assessment outcomes.

Assessment Criteria

This 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 required for the system;
3. use an industry-standard ER modeling tool to draw the ER model and generate SQL DDL statements for generating table schemas;
4. write SQL statements required for CRUD (create, read, update and delete) operations on the database 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 Outcomes

This 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 a database;
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 Work

You 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, you should be able to use Oracle oci API within a PHP program. In order to acquire this pre-requisite knowledge, you must complete Week 2 lab session (and, if you haven't done any web programming 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 modeling tool to draw the ER model and generate SQL DDL statements for generating table schemas. We use Oracle SQL Developer tool for this purpose. Complete Part 2 of the Week 3 Tute/ Lab session prior to attempting the data modeling part of this assignment.

Assessment Details

Let's assume that a decision has been made to develop a light version (called Facebook-Lite) of the ever-popular Facebook application. This light version has limited functionalities compared to the full version. Only core functionalities are to be retained. You are tasked with the design of the database 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 a full name, screen name, date of birth, gender, status, and location are to be stored. Each member 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 between two members. A member can send a friend request to another member. Once that member accepts 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 a timestamp. Facebook-Lite only allows textual posts.

Other members can respond to posts. They can also respond to previous responses. Responses are identical to posts in structure, so, they share the same structure as in the original post. Each response will have a parent post or a parent response.

Members can "like" posts and responses. The system keeps track of likes, specifically the member who makes the like and the corresponding post/ response. No other information is required on likes.

Summary of Tasks:

1. Draw an entity-relationship model to represent these requirements. Make sensible assumptions for cardinality and participation constraints where they are not clearly outlined in the description.

2. Use Oracle SQL Developer (or SQL Designer) tool to general DDL script to build the tables required 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-Relationship diagram. This diagram should be developed on Oracle SQL Developer. This diagram should be of professional quality with sufficient details that any other database personnel should be able to comprehend.

Then, convert your data model into the physical database design and finally generate the DDL 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 the final DDL script to your tutor during Week 4 lab sessions. It is very important to get it marked off by the tutor before you proceed to Milestone 2. If your design does not meet the business requirements, your tutor will allow you to make any amendments (only once) and present 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 of these functions will require more than one SQL statement. These SQL statements are then embedded 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. When the form is submitted, the user credentials are checked and if correct, the user will be taken to 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 be required to enter their visibility level. Read problem specification for details. Once the account 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 own as well as friends). Beneath each post, there is a button "like" it and a test box to end comments/ responses. (2) at the top of posts, there must be a text box to enter your new posts. (3) the right-hand pane is for managing friendships. At the top, it will show a list of pending friendship requests (if any). At the bottom section of the right pane, will let the user to search other users and send friendship requests. (4) The left-hand pane is for managing your account. It should have links to separate pages for updating the profile, and for deleting the account.

Account Profile Maintenance page:

This page should allow you to change your screen name, status, location, and visibility level.

You are required to complete this milestone by the due date and submit your codebase, by following the submission instructions.

Milestone 3:
You are required to do a demo of your complete application hosted on the school's web server. These demos will be conducted during the week of 9th September (Week 7). You should have some users and posted already stored in the application and the tutor will test out 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 your second milestone marks if you can demonstrate the functionality of your application in this milestone.

Attachment:- Building a web application with a database backend.rar

Verified Expert

This is the last revision and we have cover all the topic.Now please we will not give any revision so please close.Please dont come with any new things and handle on your side .Our work on this id has finish.

Reference no: EM132363254

Questions Cloud

How globalization has impacted the corporation : BUS499 Business Administration Capstone Assignment, Strayer University, USA. How globalization has impacted the corporation you researched
Selecting field training program : A Problem-Based Learning Manual for Training and Evaluating Police Trainees, and write a comparison of the two agencies' field training programs.
Most applicability to your chosen career in criminal justice : What was one aspect of this course that has the most applicability to your chosen career in criminal justice (Probation) and why?
Regarding privatization of some public service : Credible news piece regarding privatization of some public service. Suggested sites on which to find credible news include The New York Times.
Building a web application with a database backend : ISYS1101 - Database Applications - Computer Science and Information Technology - Building a web application with a database backend
Tort claims that patty can make against cash mart : What are the possible tort claims that Patty can make against Cash Mart? Discuss elements of the claim and how those elements relate to the facts in scenario.
Changed more quickly than our bureaucratic institutions : how social problems, public opinion, and public expectations and changed more quickly than our bureaucratic institutions.
Significant problems with high blood pressure : LEG 500 - Brad is air traffic controller who has had significant problems with high blood pressure. He has changed his diet and takes medication,
Journalise the transactions using perpetual inventory system : Journalise the transactions using a perpetual inventory system. Post the transactions to T accounts. Be sure to enter the beginning cash and share capital.

Reviews

len2363254

8/29/2019 11:39:01 PM

For further information on our policies and procedures, Assessment declaration When you submit work electronically, you agree to the assessment declaration Milestone 2 Rubric for submitted code Program logic Correct logic in wrappers, php and html SQL Logically correct and efficient SQL statements for create, read, update and delete operations on the database. ' Presentation of pages in web application 5.0 Pts HD+ (100%) Outstanding and Flawless 4.5 Pts HD (90%) Complete and error free implmentation of requirements. Exceptional coding style and suitably documented code. 3.0 Pts HD+ (100%) Outstanding and Flawless 2.7 Pts HD (90%) Logically correct and efficient SQL statements for create, read, update and delete operations on the database. 2.0 Pts HD+ (100%) Outstanding and flawless interface for web application with "wow" factor. 1.8 Pts HD (90%) Pages in web application correctly rendered in a very user-friendly and accessible manner.

Write a Review

Database Management System Questions & Answers

  What level of concurrency is best supported by mimd computer

Could someone please explain to me what are the three levels of concurrency in programs?

  Draw the er diagram using industral-style notations

Each department is described by a name, department code, office number, office phone, and college. Both name and code have unique values for each department.

  1modify the database by adding an additional column

1.modify the database by adding an additional column deleteddate to those tables that represent entities that could

  Design the necessary database tables

Design the necessary database tables.-  State the primary key for each table as well as all other necessary attributes.

  Select the primary keys for each table in your list.

Using the final table list you created for Learning Event 3, select the Primary Keys for each table in your list. Then, select one of your tables and complete field specifications for each field.

  What is the predicted annual credit card charge

Develop an estimated regression equation with annual income and household size as the independent variables. Discuss your findings.

  Explain data flow diagram

Which module actually contains the logic to call the Update Credit File Module?

  Write a truth function for a multiplexor

Write a truth function for a multiplexor where n = 1; that is, there are 2 input lines, 1 selector line and, of course, one output line.

  What is the typical size of a ntfs file record

What are the differences between a non-resident file and a resident file? How do you know if the file is resident?

  Examine the cannibalization strategy

Compare and contrast the DYB and GYB strategies in terms of the ability to sustain a business in the marketplace over the long term, to be competitive against

  Discuss about the post given below

Data has been provided for you to generate a payment for each of the two products to help determine which product is feasible for you to purchase for school purposes. Click here to access the data.The loan parameters have been entered into the wo..

  Explain user activity monitoring

In this lab, you will save user activity data in a database. A record of each user's IP address and the current date and time will be created whenever a user visits the Personnel form.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd