Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Forum

Build a message board to allow users to post information and reply to other people's posts. All the forums and posts should be stored in a database.


Testing

The system should include the data for at least 5 valid forum topics and each forum must contain at least 3 posts containing sensible comments posted from from valid user accounts (see below).

You are required to create the following accounts to allow the system to be tested. All accounts should have the password p455w0rd:

  1. user1
  2. user2
  3. user3

Stage 1

The core functionality consists of three screens:

Part 1

The homepage should list all the forums. This should display the following information on each:

  1. The name of the forum
  2. A thumbnail of the icon that represents the forum
  3. A short, multiline description of the forum
  4. A link or button to view the forum
  5. The date of the last post in the forum

Part 2

There should be a link or button on this page to allow a user to add a new forum topic. This should include:

  1. The name of the forum
  2. A detailed, formatted, multiline description of the purpose of the forum
  3. An avatar image uploaded from the user's computer.

Part 3

When the user selects one of the forums they should be taken to the forum page which displays:

  1. The forum details including the name, descriptions and avatar thumbnail
  2. All the posts to the forum with each including:
    1. the details of the user who added each comment.
    2. the date and time of the post.
    3. the detailed, formatted multiline comment. They should be ordered with the oldest at the top and the latest at the bottom
  3. A multiline input box to allow users to post additional comments.

Stage 2

The intermediate tasks require you to make changes to the functionality:

  1. There should be a user profile page where they can update their profile details to include:
    1. A first and last name
    2. A profile avatar (picture)
    3. A detailed, formatted, multiline bio
  2. Each forum post should include:
    1. The user's name and a thumbnail avatar. Clicking on the avatar should take the user to a page with the profile details of the user posting together with the last 5 forums they posted to with each linking to each of these
    2. The date the user joined the forum site
  3. users should be able to bookmark (and un-bookmark) a forum, which means:
    1. They get a html-formatted email when anyone posts which includes the message added and a link to the forum
    2. The bookmarked forums appear at the top of the list on the homepage

Stage 3

  1. users can add forum categories and add forums into these. Any user can create a forum in any category (even one added by a different user).
  2. The forum category should indicate how many unread forum posts there are in each forum category.
  3. Within the forum category each forum should also indicate how many unread posts it contains.
  4. When a user views a forum this unread post count for that specific forum should be reset to zero.

Extras

In some assignment briefs you are given marks for the appropriate use of media and using sensors built into the user's device.

Sensors

In some assignment briefs you are given marks for the appropriate use of sensors and sensor data. You should be implementing:

  1. When selecting an avatar image, the user should be given the option of using the device camera (if available).
  2. Each forum post should be flagged with the location of the person posting (country and region only).
  3. In each forum there should be a map showing the locations where users have posted. Clicking a pin should show their name, avatar and the first part of the message. Selecting this should display the entire message.

Media

In the requirements listed above you need to provide the user with the ability to upload photos. For the extra media marks you will need to expand this by:

  1. Providing the user with the choice of uploading photos, video clips or audio clips.
  2. Giving users the option to directly capture images, audio and video clips using the built-in camera and/or microphone if available.

Data

There are lots of online RESTful APIs you can make use of when developing this system. You should consider:

  1. LocationIQ