User Manual
User Manual
JOKITOT
Abstract
A complete guide to installing and using tool 1 and tool 2
Team 21
Contents
Overview ................................................................................................................................................ 2
Installation ............................................................................................................................................. 2
1. Get Repository ............................................................................................................................ 2
2. Open a terminal in the directory where the code is stored .......................................................... 2
3. Create a virtual environment ......................................................................................................... 2
4. Open the virtual environment ....................................................................................................... 2
Using Windows PowerShell ........................................................................................................... 3
Using Windows Command Prompt ................................................................................................ 3
Using Linux/MacOS ........................................................................................................................ 3
5. Install the Required libraries .......................................................................................................... 3
6. Run the tool.................................................................................................................................... 3
Creating AWS LightSail Service ............................................................................................................. 3
Requirements ..................................................................................................................................... 3
1. Delete the virtual environment...................................................................................................... 3
2. Navigate to the folder containing the code in your terminal ........................................................ 3
3. Build docker container ................................................................................................................... 4
(Optional) Test the docker build. ................................................................................................... 4
4. Create container service ................................................................................................................ 5
5. Push image to LightSail .................................................................................................................. 5
6. Change deployment version .......................................................................................................... 6
7. Deploy the image ........................................................................................................................... 6
8. Check status ................................................................................................................................... 6
9. Open website ................................................................................................................................. 7
(Optional) Delete container................................................................................................................ 8
Updating AWS LightSail ......................................................................................................................... 8
1. Download the new code from the repository ............................................................................... 8
2. Follow the steps from create AWS LightSail service ...................................................................... 9
Tool 1 ...................................................................................................................................................... 9
File Upload ......................................................................................................................................... 9
Interaction Menu ............................................................................................................................... 9
Multiple Documents Analysis .......................................................................................................... 10
Tool 2 .................................................................................................................................................... 11
At a glance ........................................................................................................................................ 11
Upload Your CSV File: ................................................................................................................... 11
Choose Your Analysis: .................................................................................................................. 11
Overview
Jokitot is a plagiarism detection tool consisting of two tools. Tool 1 is designed to analyse word documents and
present its metadata. Tool 2 is designed to detect contract cheating using lms logs to determine the location of
users from their IP addresses.
Installation
1. Get Repository
This step is to get the latest code from the repository, which can be done by a command in the
terminal:
git clone https://github.com/lujor20/CITS3200_Project.git
Or by downloading the zip file by going to the website https://github.com/lujor20/CITS3200_Project and clicking
the download zip button under the button “Code”.
Note: If installing on a university computer, you will need to contact the University IT department for temporary
admin privileges to install the above requirements
Once all the requirements are installed and the code within this repo downloaded, we can start the steps below.
We will no longer need the virtual environment since building the docker container will download all the
requirements again.
Delete the folder called dev-env from the folder containing the code. If you don't have this folder, skip this step.
If it responds with a configuration error, make sure to configure (login) to the AWS CLI first and run the command
again. (This is extremely complicated and there are guides that explains it better on the internet). See below
websites for more detail.
• https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-authentication.html
• https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html
The container will appear as "team21plagiarismdetection" in the LightSail
website https://lightsail.aws.amazon.com/ls/webapp/home/containers
Open the file "containers.json" in the folder containing the code (with notepad)
"image": ":cits3200project.flask-container.6"
and replace with the deployment version the terminal just outputted from the step above. In my case, this is my
new file.
8. Check status
Open the LightSail website.
https://lightsail.aws.amazon.com/ls/webapp/home/instances
Navigate to the containers and click on the container. You will see in the deployments tab (when you scroll to the
bottom) that the status is deploying.
9. Open website
At the top of the page, there is a hyperlink labelled "public domain:".
Clicking on the link will lead you to the website.
IMPORTANT!! By having a container (either running or disabled), you will pay a monthly fee ($15 aud/month for
this one). The only way to stop paying is to delete the container, which is outlined below.
This is irreversible and can only be installed again by following the instructions.
https://github.com/lujor20/CITS3200_Project/tree/main
Click Code (Green button), then download zip.
Extract the folder from the zip format and store the folder in a permanent location.
The next steps are the same as the steps to set up the AWS LightSail service EXCEPT for step 4,
which can be skipped. To clarify, follow steps 1, 2, 3, 5, 6, 7, 8 and 9.
Tool 1
File Upload
- Tool 1 allows docx document to be uploaded by clicking on the ‘Browse..’ button or by drag
and drop the file to the specified area.
- ‘Submit File’ button will start the analysis of the document uploaded by the user
Interaction Menu
- User has the ability to click on a specific part of the text and change the text’s corresponding
colour on the Interaction Menu by clicking ‘Change Colour’ button
- ‘Hide this’ button allows user to unhighlight a specific RSID value from the result
- ‘hide all’ and ‘unhide all’ buttons allow users to remove and reapply colour coding to the
output
- ‘toggle collapse’ button is a functionality that toggles between a formatted view and non-
formatted view. A non-formatted view will remove any spaces between paragraphs, while a
formatted view maintains the structure of the document.
- User also has the options to increase, decrease, and reset font size of the output.
- ‘Download PDF’ button allows user to download the result as a PDF for further investigation.
Tool 1 page – shows an example of a docx document being analysed
Preparation
• Tool 2 relies on specific keywords to proceed with its analysis, ensure the csv file has:
o Headers for each column
o Two headers “Last Edited by: IP
Address” and “Last Edited by:
Username” respectively. Figure 1- initialClean.py code snippet
o Refer to 4. Errors in your csv file doesn’t satisfy the above
Initial analysis
• To begin, Drag-drop the csv file into input box.
• The initial analysis filters out unnecessary data and geolocates each IP address.
• The geolocation process duration depends on the number of rows in the CSV.
• After the initial analysis, you'll see a table with country, city, longitude, latitude, and a flag indicating
international/domestic.
• You can download the current data or click on a row to visualize the IP location on a map.
In depth analysis
• Choose between "International Analysis" or "Distance Analysis."
• International Analysis identifies higher-risk international countries for academic integrity breaches.
• Distance Analysis finds rows with the same user ID but different IPs, suggesting tests taken at
different locations.
• These in-depth analyses are quick to perform.
Seach
• Entering the id in the search box and clicking search will filter out other users.
• Click "Reset" to redisplay all ids.
Clean
• Click the "Clean" button before dropping another csv file.
Errors
• If your csv file lacks the 2 headers, or headers in general, you can replicate this by adding “, ,” for each
non important column and “Last Edited by: IP Address” or “Last Edited by: Username” for
corresponding columns. Note: when inputting, please leave out the “”
• Due to budget restrictions, tool 2 utilises a free geolocating database which limits lookups. Too many
lookups within given time frame leads to it temporarily blocking its services. Generally, 1000 lookups
within 1 day is safe. If your csv file has more than such rows, this can be solved by dividing csv file into
<=1000 and >= 1000 and running respective csv files on different days.
• If interface is stuck on loading, please don’t worry, the geolocating process often takes around 40m
for 1000 rows.