GUIGLE+
Project Description
Search engines have become an essential part of the web, as they help organize and easily present pertinent
information to users. General search engines, such as Google, allow users to search the entire web for
information they need. However, more specific search engines, such as those built for Github, and
Google Play, can specifically support developers by allowing them search for, and learn from, applications
similar to those they are attempting to build themselves.
To contribute towards the goal of increasing
tools available for mobile application developers, this project proposed a new search engine for Android
applications using information from apps’ Graphical User Interfaces (GUIs) as queries. The goal of this
project was to generate a web application that will rely on the Apache Lucene1 indexing engine to retrieve
relevant applications containing GUI layouts with similar attributes to those entered in a query.
This project will use information from Google Play applications to extract component’s information from APKs.
This was a semester long group project completed over several sprint cycles. It was my first time participating
in any kind of agile development, but I've found that style of working really fits my way of completing tasks. This was
also the most difficult project I've ever worked on. I'd never worked with a python codebase before, and I'd certainly
never done any sort of frontend development or machine learning before. While learning on the job can be stressful, it
reminds me that I'm a quick learner and that my field has a beautifully diverse range of technologies I get to learn.
Technologies Utilized
- vue.js
- python
- lucene
- solr
- tensorflow