Create a web-based microblogging platform

Assignment Help Web Project
Reference no: EM13831980

World Wide Web Technology

Assignment- Microblog-

Introduction

This is an individual assignment in which you are required to develop a dynamic web application as described below using PHP, MySQL, JavaScript and CSS.

Details of the weight of the assignment and due date are given in the course description.

Task Description

Application

For this assignment, you will create a web-based microblogging platform, similar in functionality to -Twitter-. You will have to come up with your own fancy name.

Database Structure

The web application uses a relational database to create a micro-blogging platform. The database has the following structure:

User(id, name, email, password)

Post(id, user_id, post_date, in_reply_to, text)

Follow(user_id, follower_id)

Each record in the Post table refers to a single post made by a user. Primary keys are indicated with underlines or bold formatting, and foreign keys are italicized.

The following constraints should be applied in implementing the application:

• The user_id and follower_id fields in the Follow table form a compound primary key, and both refer to the id field in the User table. The user id field should be an integer primary key, and should automatically increment.

• The post_date field may be stored as either strings, or using MySQL datetime types, and must include time as well as date.
Insert file name here

• The text field in the Post table should be limited to 160 characters.

• The in_reply_to field in the Post table is a nullable foreign key that refers to the id field on the same table. If this field is null, then the post is not a reply to another post - if it is non-null then the post is a reply to the post with the matching id.

• The password field should be a VARCHAR field of at least 125 characters. The name and email fields should be VARCHAR of a length that you determine to be reasonable and sufficient.

Initial data

When the database is created it should be populated with data of your own invention. Include this data as part of your written report. Each table should have between 3 and 6 records initially.

Include yourself as a user, using your student id as the name, and your real email address. Invent other users as necessary - perhaps use characters from your favourite movie or band.

Creating the database

Create an SQL file that creates a database on the server, creates the three tables above, and populates them with your initial data.
Password data should be hashed using, at minimum, the crypt() PHP function. If available, prefer to use the PHP password_hash() function to generate password hashes. It is acceptable for all initial User records to share the same password for testing. Use of MD5 is not acceptable.
Include a user that can login as ‘tutor' with password ‘guest'.

Test your database by writing queries on the command line that display all initial data using SELECT statements, and include the queries in your report.

User accounts

Write an HTML form that allows new users to sign up. The form should request a username, email address and password. The password must be hashed before storing it in the database.

Using PHP, validate that the username is unique, and the password is at least 5 characters.

Write PHP code to allow users to log in and log out. This will require the use of sessions or cookies.

Global timeline

Write PHP and HTML code to display a list of the last 10 posts from all users, sorted in descending date order - that is, the most recent posts are at the top. This timeline of posts should be visible to anybody without logging in.

If posts are in reply to another post, include a link to the original.

Creating posts

Logged-in users should be able to create new posts. Write PHP code to support this. Use both PHP and Javascript to limit the length of the post to 160 characters.

Following

Write HTML and PHP code to allow logged-in users to follow other users. This should create a new entry in the Follow table. This may require you to create a way to view an individual user, or list of all users.

Users who are logged in should see posts only from users that they follow, instead of the global timeline. This list should again be limited to the last 10 posts.

Replying

Create a link on each post that allows a logged-in user to reply to a post. This should allow them to create a new entry in the Post table, with the in_reply_to foreign-key field set appropriately.

Aggregate data

Complete the following using SQL aggregation such as COUNT and SUM, subqueries or nested SELECT statements, inner joins and (left or right) outer joins.

• Create a page that contains a list of the top 10 most-followed users, with their number of followers ordered in descending order. Similarly create a page that contains a list of the top 20 most popular posts by number of replies.

• For each post in the timeline that has replies, display the number of replies with the post.

• Display the number of posts that have been made in the last 24 hours at the top of the global timeline.

Additional task for Students

On the topic of "Database Sharding" identify four (4), relevant, independent resources. Use these resources to write a discussion of the advantages and limitations of database sharding, where it is appropriate to use, and alternatives. Write this in your own words, and take care to cite appropriately. Word count should be about 500 words.

Note: Wikipedia is not a suitable resource, but may be used to get an overview of the subject

Further details

Documentation

Include a written report containing:

• Initial data details

• The SQL queries you used to test your database

• A list of parts of the assignment you have completed or not completed.

• Details of specific assistance you received from people other than your lecturer or tutor, and the names of those assisting.

Assignment support

This assignment is supported by the first 5 lectures and the first 6 labs. Work on the assignment should be spread over a number of weeks after the relevant lab has been mastered.

Refer to the Course Description for details of submission to Moodle, late assignments, extensions, special consideration, plagiarism, student support, presentation of academic work and adopted reference style.

Reference no: EM13831980

Questions Cloud

Write report on company human resources : repare a professionally written report assessing the assessment of the company's human resources competitive position, risks, and opportunities suitable for presentation to the senior executives of the company
What is the financial position of the companies : What is the financial position of the companies in the airline industry including the impact on airline suppliers (lessors), manufacturers, and unions - How do economic issues, politics, and social factors affect the airline industry?
In what direction should the pilot aim the plane : In what direction should the pilot aim the plane so that it will fly due south
Profile process on joelle smart : Write a 2- to 3-page of Profile essayon given topics- Profile Process on Joelle Smart and Profile Process on XX Topic
Create a web-based microblogging platform : For this assignment, you will create a web-based microblogging platform, similar in functionality to -Twitter-. You will have to come up with your own fancy name.
Problem regarding the iswap-uswap : ISWAP is a nonfinancial firm with a weak financial condition. Local banking institutions are willing to offer ISWAP only variable-rate loans.
Rate of disappearance of h2s : rate of disappearance of H2S
Capabilities for learning about customers and markets : Discuss how an organization's marketing information skills and resources contribute to its distinctive capabilities.
Could a career in toursim be in your future : Analyze these facts, and provide a summary addressing the similarities and differences between what has happened in the past - Has history repeated itself?

Reviews

Write a Review

Web Project Questions & Answers

  Discuss the apache web server in regard to cost

Discuss the Apache Web server in regard to cost, functionality, and compatibility. Are there certain implementations were it may not be suitable?

  Evolutionary algorithm in order to design a logo

This project will apply some form of evolutionary algorithm in order to design a logo. It is desirable that the software is integrated.

  Risk management consulting assignment

Provision of organization data and access on an organizational website, Risk Management Consulting assignment

  Long-tail keyword phrases

As compared to fat head keyword phrases, long-tail keyword phrases typically

  Despite being a fairly old technology menu-driven interface

Despite being a fairly old technology, menu-driven interfaces are very common in user interface design. Menu-driven interfaces consist of a series of screens which are navigated by choosing options from lists.

  Assignment on spreadsheet applications

In this project, you will determine what core courses that are required to complete your degree in Information Systems Management. You are trying to determine which classes will be offered.

  Creat and test an html documents that has at least half page

Creat and test an html documents that has at least a half page of text and a small box of text embedded on the left margin with main text flowing around the small box.

  What is an example of funding for a project

What is an example of funding for a project that is only available for a short period of time under special circumstances?

  Nec project

Management of the NEC is concerned about keeping their employees current on education, training and certification so that when they have the next Security Manager’s Quality Assurance Inspection they will pass with 100% rate.  Currently there is ..

  Project on branch offices

Your organization opened seven new branch offices in five states. Each branch office has five floors. All the branch offices use the same Internet domain name.

  Who is the intended audience

Visit a website readings that interests you. Review the home page or another pertinent page from the site. Write a summary that includes your reaction to the site. Address the following topics: What is the purpose of the site

  What are html metatags and why can they be controversial

What are (HTML) metatags and why can they be controversial. What do we mean by hyper linking on the Web. Should proprietors of Web sites have a right to include on their sites links to other Web sites

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