Group Project - STIW3054-A182/Assignments GitHub Wiki
Guideline for Group Project
Due Date: 20 May 2019
INSTRUCTION:
You are required to develop a real-time system using the Java programming language (Maven). The system should be able to:
Check URLs:
- Read URLs from a text file. For the testing purposes, download the
URL.txt
from the link below:
https://github.com/STIW3054-A182/Assignments/blob/master/URL.txt - The
path
andfilename
MUST be read from the properties file. - If the links did not exist (invalid link), all the error links must be stored in log files.
- Then display all the valid links.
- Each link will be validated using a thread (eg: 14 links = 14 threads).
- Assign the threads based on the number of processors in your machine.
- If the validating process takes more than 1 minute, that process will be terminated. The terminated links will be stored in log files.
Count the number of players:
- Count the total players for each category.
- If the player in each category less than 1, then the link is considered invalid and store the link into log files.
- Count all the players based on the valid links.
Example of the output is shown below:
| Category | Total |
|----------|-------|
| U8L | 65 |
| U10L | 100 |
| U12L | 70 |
| ... | ... |
| TOTAL | xxxx |
Display statistics
- Count the total players for each state by category.
- Count the total players for each state.
- Count all the players.
Example of the output is shown below:
| State | Category | Total |
|-------------|----------|-------|
| KEDAH | U10L | 1 |
| KEDAH | U12L | 2 |
| KEDAH | U14L | 2 |
| ... | ... | ... |
| | TOTAL | XXX |
| PERAK | U10L | 8 |
| PERAK | U12L | 15 |
| PERAK | U14L | 10 |
| ... | ... | ... |
| | TOTAL | XXX |
| GRAND TOTAL | | XXX |
Display all players from KEDAH:
- The
KEDAH
keyword MUST be read from the properties file. - Sort the result based on the winning points and category.
Example of the output is shown below:
| Rk | SNo | Name | Rtg | State | Pts | Category |
|----|-----|-----------------------------|------|-------|-----|----------|
| 19 | 17 | Rosli Iman Hasif | 1031 | KEDAH | 5.0 | U10L |
| 7 | 27 | Mohd Zamzuri Muhd Afiq Adam | 0 | KEDAH | 5.0 | U18L |
| 9 | 24 | Ismadi Adzreal Haikal | 0 | KEDAH | 5.0 | U18L |
| 22 | 24 | Teh Rui Zhe | 1377 | KEDAH | 4.5 | U16L |
| .. | .. | ... | .. | .. | .. | .. |
TOP 3
players from each category.
Display all - The value of 3 MUST be read from the properties file.
Example of the output is shown below:
Final Ranking after 8 Rounds (U8L)
| Rk | SNo | Name | Rtg | State | Pts | Category |
|----|-----|---------------|------|--------------|-----|----------|
| 1 | 2 | Kavin Mohan | 1334 | KUALA LUMPUR | 8.0 | U8L |
| 2 | 8 | Balan Praneal | 0 | N.SEMBILAN | 6.0 | U8L |
| 3 | 13 | Khaw Eu Ming | 0 | PULAU PINANG | 6.0 | U8L |
Final Ranking after 8 Rounds (U10L)
| Rk | SNo | Name | Rtg | State | Pts | Category |
|----|-----|--------------------------|------|--------------|-----|----------|
| 1 | 2 | Lai Hong Jun | 1472 | PULAU PINANG | 7.5 | U10L |
| 2 | 7 | Muhd Ridzuan Ariel Redza | 1216 | PAHANG | 6.5 | U10L |
| 3 | 4 | Yee Hao Loong | 1300 | SELANGOR | 6.5 | U10L |
.....
Count the winning points:
- Count the total points for each state by category.
- Count the total points for each state.
- Count all the points.
Example of the output is shown below:
| State | Category | Total |
|-------------|----------|-------|
| KEDAH | U10L | 1 |
| KEDAH | U12L | 2 |
| KEDAH | U14L | 2 |
| ... | ... | ... |
| | TOTAL | XXX |
| PERAK | U10L | 8 |
| PERAK | U12L | 15 |
| PERAK | U14L | 10 |
| ... | ... | ... |
| | TOTAL | XXX |
| GRAND TOTAL | | XXX |
Display a player result:
- The player's name MUST be read from the properties file.
Example of the output is shown below:
| Rk | SNo | Name | Rtg | State | Pts | Category |
|----|-----|-----------------------------|------|-------|-----|----------|
| 19 | 17 | Rosli Iman Hasif | 1031 | KEDAH | 5.0 | U10L |
NOTES:
- Each category will be executed using a thread (eg: 14 links = 14 threads).
- Assign the threads based on the number of processors in your machine.
Example of properties file:
path=/Users/zhamricheani/Desktop/
textFile=URL.txt
state=KEDAH
top=3
player=Rosli Iman Hasif
You may add more properties if required.
Reference:
https://www.mkyong.com/java/java-properties-file-examples/
SUBMISSION:
The project must be submitted to the group’s repository based on the guideline below:
- Every group’s repository must have at least 6 branches namely
master
and'MatricNumber'
for every group member. - All source codes must be uploaded to the mentioned repositories and the final version MUST be available at the
master
branch. - Upload the user manual to your group’s wiki.
- Upload the example of the output to the group’s wiki.
- Generate JavaDoc and then upload to your group’s wiki.
- Generate UML Class Diagram using ObjectAid UML Explorer (http://www.objectaid.com/) and then add the diagram to your group’s wiki.
- Generate XML file using Metrics 1.3.8 (http://metrics2.sourceforge.net/) and then upload the file to your group's repository (the same repo with the source codes at the root directory same as
Readme.md
) using the following format:
RepoName.xml (Example: Group1.xml)
- Record the implementation of the system and upload to YouTube. The video presentation MUST be in English (without the music) and not more than 10 minutes. Then add the link to your group’s wiki.
- Write all references at your group’s wiki.
- To confirm the submission, every group leader must paste the Group-Project REPOSITORY link at the issue below:
https://github.com/STIW3054-A182/Assignments/issues/4
Readme.md
STRUCTURE
- Group Info
- Introduction
- Table of Content
Wiki STRUCTURE
- User manual
- Result/Output
- JavaDoc
- UML Class Diagram
- YouTube Presentation
- References
CONTENT OF THE PRESENTATION:
- Structure of your project.
- A quick review of the files.
- Step by step how to install, configure and run the program.
- Example of the output.
EVALUATION:
The marks will be given based on the:
- The quality of the system.
- The correctness of the results.
- User manual
- JavaDoc
- UML Class Diagram.
- Video Presentation.
- List of the references.
PLAGIARISM CHECK:
No mark will be given for plagiarism activities.
LATE SUBMISSION:
Penalties will be given of each late submission.