diff --git a/README.md b/README.md index 800c73d1b53b1bb2a65ffaaf684ea0918bcf5959..4337a871a3bac073694f93e1c204f498a464d620 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,7 @@ COMS 490 Summer 2019 -# Independent Study Report - +# Independent Study Report **Overview:** @@ -22,4 +21,61 @@ My proposal is to develop an application which will parse through the files prov - Direct users on how to better keep their data more private. **Project Description:** -The application is a WPF application runs on .NET which is compatible with any Windows platform machine. It is developed using Visual Studio, and utilized the Material Design In XAML Toolkit, [link](http://materialdesigninxaml.net/). \ No newline at end of file + +The application is a WPF application runs on .NET which is compatible with any Windows platform machine. It is developed using Visual Studio, and utilized the Material Design In XAML Toolkit, [link](http://materialdesigninxaml.net/). + +The project uses standard programming practices, takes advantage of object oriented concepts like inheritance, polymorphism and data encapsulation. The program is built using the same approach of a Model View Controller Architecture design (MVC). + +The brains of the whole project is divided into 3 main parts: + +1. Pages: This package consists the XAML and C# code responsible for displaying all the view objects and handling interactions with the view models, such as a click. +2. Models: This package consists of all the Model classes which represents a specific data object. One of the most used model classes in this project is GoogleProductModel.cs, which keeps track of the essentials like the Google Product's name, path, image, size etc. +3. ComputeProduct: This package contains all the data parsing algorithms which scan through each Google Product and serializes to configurable JSON data structures. + +The app also is built to handle all sorts of unexpected errors. For example, if a user tries to import a Google Product that is not yet supported by the program, it will gracefully let the user know and handle the situation appropriately. + +**Project Features:** + +The app consists of various features shown below: + +- Advanced recursive parsing algorithms which scans through multiple gigabytes worth of data in seconds. +- Assisted logging information for debugging purposes, and for user satisfaction of program awareness. +- Convenient directions to get started with the program. +- Handy 'open folder' which will open the relevant Google Products path in the file explorer. +- Displays analytical information like, number of files scanned, and Google Product size. +- Displays a data grid of the information scanned in a more readable format than the file provided by Google. + +**Room for Improvement:** + +A lot of progress has been made to the application but there are some additional functionality that could be added in the future: + +- Implementation of Google Analytics +- Experiment with time remaining for the data scan +- Additional animations for the application +- Acquiring Microsoft's developer certificate to publishing as an independent software product + +**Conclusion:** + +The point of this app is to help make users aware of the level of outreach Google has on their users, and it is safe to say that **Personal Insight** is shaping to be such an app. With more time to come this app will have additional features and could definitely be showcased as a reputable resource on privacy. + +This independent research study has given me the opportunity to learn the programming practices of desktop grade applications, and given me an outlook on the technicality for developing products on a large scale. + +I would also like to thank, Professor Simanta Mitra to have given me this opportunity! + + + +Shubham Sharma + +------------------------------------------------------ + +Computer Engineering | Iowa State University + +Director of IT | Student Government + +Android Developer | MyState + +Project Chair at IEEE + +(847)-943-7754 + +shubham@iastate.edu \ No newline at end of file