-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApplication Requirement.txt
97 lines (81 loc) · 4.43 KB
/
Application Requirement.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
1 = completed
* = to be fixed
Data 1
• demonstrate that your application can communicate with third party web site through published web services. 1
• You may also need to download latest data from the original data source and append that to the data set. 1
- Main/Landing Page
• display key information about the application: 1
Wikipdia Analytics 1
(text, images, description, sample analytics graphsn) 1
• provide three options: Sign-up, Login and Reset Password 1
o Sign-up
first name 1
last name 1
email address (as username) 1
password (hashing must be implemented) 1
reset password question/answer 1
account to be maintained in DB 1
data validation required!! 1
o Login
Login by email and password 1
To enable analytic functionality 1
Session must be managed 1
o Reset Password
By answer password questions 1
o Logout 1
- Analytic Function Page
• Article Analytics
o The top two articles with the highest number of revisions and their number of revisions. 1
o The top two articles with the lowest number of revisions and their number of revisions. 1
o The top two articles edited by the largest group of registered users (non bots) and their 1
o The top two articles edited by the smallest group of registered users and their group size. 1
o The top two articles with the longest history (measured by age) and and their age (in days). 1
o The top two articles with the shortest history (measured by age) and their age (in days). 1
o The user should be provided with a way to change the number of top articles shown, 1
(User determination – anonymous, admin, bot and regular user ) 1
• Visual analytics
o Bar chart of revision number by year 1
o Pie chart of revision number by user type 1
o Line chart 1
- Individual Article Analytics
o a simple drop-down list 1
o show total number of revisions 1
o check if the history of that article in the database is up to date. (less than one day old as up to date) 1
****************************
known bug: 1. "Australia" or maybe other can attemp to download and save duplicated date,gets error during moogose save 1
2. "Evolution" 2010 - 2020 does not graph for somereason 1
****************************
o need to query MediaWiki API to pull all possible new revisions made after last update. 1
o need to confirm success of downloading and numbers of revs. 1
o message indicating if a data pulling request is made 1
o how many new revisions have been downloaded. 1
o the article has no new revision to be downloaded. You must notify users for either scenario. 1
summary information: 1
The title 1
The total number of revisions 1
The top 5 regular users ranked by total revision numbers 1
The top 3 news about the selected individual article obtained using Reddit API 1
• Visual analytics
o A bar chart of revision number distributed by year and by user type for this article. 1
o Pie chart of revision number by user type 1
o A bar chart of revision number distributed by year made by one of the top 5 regular users 1
o year filter year filter year filter year filter 1
o a mechanism for end users to switch among charts. 1
• Author Analytics
o enable the end user to display all articles that are changed by a specific author 1
o end user to an author name in a free text format 1
o allow end users to enter the first few letters and use autocomplete feature to quickly locate the author name of interest. 1
o display the articles’ names along with number of revisions 1
o the end user should also be able to see timestamps of all revisions made 1
Design and Implementation Requirements
1. Operate on a single/two page 1
2. Client – server comms need to be asynchronous 1
3. Main landing page can be in a separate page 1
4. All other functionalities in one single page ( SPA principles) 1
5. MVC 1
6. JS only 1
7. Node JS + MongoDB 1
8. You can use other popular JavaScript libraries not covered in this course.
9. communications among tiers and database design and implementation
10. design and implementation should not be specific for the provided dataset
11. dynamic design and implementation that work properly and scale with any dataset.