-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsummary.txt
executable file
·34 lines (19 loc) · 3.26 KB
/
summary.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
======================
CheckMyDigitalFootPrint
=======================
Our project, Check My Digital Footprint, is a subscription management application which allows users to view mailing lists they have signed up for with their gmail account and classify them into keep or unsubscribe. We accomplished this by accessing the gmail API which was used to pull email ID’s and individual email data. This data allowed us to group emails by sender. Finally, we used JavaFX to create a GUI which provides a digital interface for the user to interact with their subscriptions.
Features
--------
The application has additional features which improve ease of access for the user. These are the save and load file features. The save and load features allow the user to easily access credentials which the Gmail API requires authorization for every time a new user attempts to use their API. CheckMyDigitalFootprint also remembers previous saved file paths so you don't have to load files on each start up. Additionally, data is stored as an xml.
Multithreading is used by the application in order to improve the scan time of emails and prevent lag. Alongside with batch calling this results in a very quick process by which the user is able to scan through their entire inbox and there is no evident lag to the emails coming in. Furthermore, multithreading allows us to add different features to the application such as pause and resume which would not have been possible without it due to input lag.
Batch requesting was an additional feature which was necessary for our application to run correctly. Initially we were looping through a users inbox, but by using batches we designated work to the API instead in sending us groups of emails. This resulted in a much faster process as the email ID did not have to be verified every time and is now processed
in batches which are returned at once.
To ensure further optimization, all data is also loaded into an ObservableMap (JavaFX's equivalent of HashMap) upon starting the application that acts as a lookup table. When the application then scans through your inbox it checks to see if the listserv already exists in the data store without having to iterate through an entire List.
Responsibilities
----------------
Tina was responsible for parsing emails generated from the gmail API. She extracted data from the JSON files in order to provide necessary data to the GUI. Furthermore Tina was responsible for maintaining constant naming conventions throughout the integration of the sections of the project. Finally she worked on troubleshooting .jar package issues which were persistent throughout the implementation and usage of the API.
Worthan was responsible for using the API to gather email IDs and take in email information to be used in parsing. He interacted directly with the gmail API and used a generated API key and Joseph’s credit card in order to access the API data. Data gathered was then formatted and given to Tina.
Joseph was responsible for the implementation of the GUI using JavaFX - from controller logic to styling/layout. Additionally, he created the XML data storage to write to a file and setup the gmail API to authenticate users. He was also responsible for creating the test cases using TestFX.
How To Use
----------
Please refer to the README