Did your favourite extrusion break? Are you in dire need of a Triple Wall H-Channel or a 2-inch Dunnage Retainer?
Fear not, Extrusion Finder has the solution to your problems! With the click of a button, this state-of-the-art software can swiftly scour online extrusion manufacturers for exactly the part you are looking for. All you need is an Android phone with a camera, the shape of the extrusion, and ideal lighting conditions, and you are all set.
Android app: Install from source in extrusionfinder/client. Supports Android 4.1+ (Jelly Bean or later).
Take a photo. An overlay highlights what the application is currently interpreting as the extrusion. The application will return a list of matched extrusions, sorted by likeness. Click one of them to see more details and an order link.
Prerequisites
Gradle will automatically download all other dependencies. Note that the OpenCV dependency only supports OSX and Linux.
To do a complete build of the server and run unit tests, run the following command in folder extrusionfinder/server. This places a web archive at build/libs/extrusionFinder-1.0.war.
gradle build
To compile the Javadoc documentation (the documentation html files can be found in build/docs/javadoc), run
gradle javadoc
To run the unit tests, run
gradle test
To run the integration tests (might take a while), run
gradle integration
To run on a server, the web archive needs the name "extrusionFinder.war". The address the client code makes requests to will have to be modified to match the domain name of your server. Before the server can be run, the database must first populated with extrusions crawled from the internet. To do this:
gradle jar
java -jar build/libs/crawler.jar
Configuration settings, such as the address of the Mongo server and the path to Inkscape can be set in Configuration.java
We are grateful for the following following libraries:
The associated licenses can be found in LIBRARIES
The project is licensed under the MIT License. See LICENSE.