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
# Document Review
An app that allows users to upload documents and get them peer reviewed by other users.
---
## Testing
The system should include at least three documents, each covering a different topic and containing relevant information to be uploaded for each user. Some of the uploaded documents should have already gone through the approval process and include comments and rating from other users. Some of the documents should have been flagged as requiring amendments.
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`
---
## Feature 1
The system should require users to log in, if they are not they should be shown the login screen. If they are logged in they should see the homepage which displays a link or button **Add document**. This should take the user to the _Add Document_ screen where they can upload a document and provide important information.
The screen should ask for the following:
1. The title of the document.
2. A multi-line description supporting _markdown formatting_.
3. The document category: article, story, report, other.
4. An option for the user to pick a document to upload (this should only allow them to upload PDF files.
In addition to the information the user enters, the system should also automatically add:
1. The date and time of the upload.
2. The username of the person uploading.
3. The status which should be set to _uploaded_.
> To demonstrate this feature and to prove that the form works correctly you will need to show that the data is being persisted correctly, either by running a database query or an API call depending on the platform and technology you are using.
## Feature 2
Display list of all uploaded documents ordered by date with the oldest upload at the top. Include only the following:
1. The title.
2. The date uploaded in for format DD/MM/YYYY.
3. The status (could be indicated using RAG colours or icons).
4. A link to the document (which should either download or open in a different tab depending on the platform).
The page should be split into two sections, one contains the documents uploaded by the logged-in user and the other contains those from other users. You can organise this however you wish (blocks, tabs, etc) but it must clearly distinguish between these.
## Feature 3
There should be a **view** link or button next to each document in the list. This should take the user to a **Document Review** screen. This should include the following:
1. The document status.
2. The document category.
3. The embedded document (this should occupy enough of the screen to be readable).
4. A download link or button should the user wish to view the document using a different piece of software.
5. The title of the document.
6. The formatted multi-line description.
7. Any comments and ratings from other users (if these are available).
If the document is **not** one uploaded by the logged-in user and the status is _uploaded_ the page should also display:
1. A multi-line feedback box supporting _markdown formatting_.
2. A slider allowing the user to provide a rating of between 0 and 5.
3. A checkbox indicating whether the document requires amendments.
3. A **Submit feedback** link or button.
Submitting this should change the status of the document to either _passed_ or _amendments_ depending on whether the checkbox has been selected or not. Only one user can provide feedback.
## Feature 4
The Document Review screen should now be modified as follows.
If the document was added by the logged-in user and the status set at _amendments_, the Document Review screen should prompt them to upload a new version of the file.
The status should now be set to _revised_.
If another user views the Document Review screen they should see:
1. The items from feature 3 including the initial feedback correctly formatted and the original rating.
2. The latest version of the document should be embedded.
3. There should be clearly labelled links or buttons to download all versions of the document.
The user should now be able to provide feedback as before:
1. A multi-line feedback box supporting _markdown formatting_.
2. A slider allowing the user to provide a rating of between 0 and 5.
3. A checkbox indicating whether the document requires amendments.
3. A **Submit feedback** link or button.
If they check the box, the status remains at _amendments_ meaning the original user can upload yet another version and the process repeats...