{"componentChunkName":"component---src-templates-project-post-js","path":"/projects/2019-03-17-test-project/","result":{"data":{"markdownRemark":{"id":"58d36ad9-71ad-5f21-bc9a-c6f6fc3328a8","html":"<h1>¬ App: Appliance Comparison Program</h1>\n<table>\n<thead>\n<tr>\n<th>Team</th>\n<th>¬Dev:</th>\n<th></th>\n<th></th>\n<th></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a href=\"https://github.com/michellesuchang\">Michelle</a></td>\n<td><a href=\"https://github.com/podoodoo\">Tim</a></td>\n<td><a href=\"https://github.com/Ciyon\">Brandon</a></td>\n<td><a href=\"https://github.com/DevonS3\">Devon</a></td>\n<td><a href=\"https://github.com/flannyan\">Daylen</a></td>\n</tr>\n</tbody>\n</table>\n<p>A basic application to compare various home appliances, their energy usage and cost.</p>\n<p>Created as a team project to develop our skills in UX and software development. </p>\n<p>This program was created through the use of an <a href=\"http://h2database.com/html/main.html\"><strong>in-memory H2Database</strong></a> to facilitate our dataset as well as <a href=\"https://docs.oracle.com/javase/8/javafx/get-started-tutorial/index.html\"><strong>JavaFX</strong></a> to create our user-interface.</p>\n<h2>Requirements</h2>\n<p>To run this program, you will need to install the latest version of <a href=\"https://www.java.com/en/download/\">Java</a></p>\n<h2>Running The Program</h2>\n<p>To start the program you will need to download the repo. Inside the root directory you will find the <code>notApp.jar</code>. Simply double click this and the program will execute.</p>\n<h2>Table of Contents</h2>\n<ul>\n<li>\n<p><a href=\"#features-and-functionality\">Features and Functionality</a></p>\n<ul>\n<li><a href=\"#search-page\">Search Page</a></li>\n<li><a href=\"#comparison-page\">Comparison Page</a></li>\n<li><a href=\"#user-profile-page\">User Profile Page</a></li>\n</ul>\n</li>\n<li><a href=\"#development-procedure\">Development Procedure</a></li>\n<li><a href=\"#front-end-javafx\">Front-End: JavaFX</a></li>\n<li><a href=\"#back-end-h2database\">Back-End: H2Database</a></li>\n</ul>\n<h2>Features and Functionality</h2>\n<h3>Search Page</h3>\n<p>The Search Page provides basic functionality to search through multiple appliance data sources. </p>\n<p>Namely, <a href=\"https://www.regulations.doe.gov/certification-data/\">the U.S. Department of Energy's Database</a> and <a href=\"https://www.energystar.gov/productfinder/advanced\">Energy Star's Certified Product Data Sets</a>. Additionally, the user is given the option to apply filters to the DB query for: the Appliance Type, Energy Usage, and Model.</p>\n<table>\n<thead>\n<tr>\n<th>Filter by Energy Usage</th>\n<th>Search by Model</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<p><img src=\"https://ucarecdn.com/072566c1-07a4-4c16-9e25-a3084aac3a3c/\"></p>\n<table>\n<thead>\n<tr>\n<th></th>\n</tr>\n</thead>\n<tbody>\n</tbody>\n</table>\n<p><img src=\"https://ucarecdn.com/dcaeb249-6aae-42bc-ac46-8b2ec4e7fb44/\" alt=\"Search by Appliance Model\" title=\"Appliance Model Searching Screenshot\"></p>\n<h3>Comparison Page</h3>\n<p>The comparison page displays the appliances selected through the search page. Furthermore, the user is given the option to input the dollar amount that they pay for each kilowatt hour (kWh).</p>\n<p>A <strong>use-case</strong> for this specific page would be to estimate the cost of a collection of products that user owns. Another use case would be to compare two different appliances that the user may consider purchasing.</p>\n<table>\n<thead>\n<tr>\n<th>Use-Case 1</th>\n<th>Use-Case 2</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><img src=\"./img/calculate3.png\" alt=\"calculate3\"></td>\n<td><img src=\"./img/calc.png\" alt=\"calc\"></td>\n</tr>\n</tbody>\n</table>\n<h3>User Profile Page</h3>\n<p>The user page is currently incomplete, although has a functioning favorites page. Which allows users to create a separate list of appliances from the comparison page.</p>\n<p><img src=\"https://ucarecdn.com/18bd2ab5-1b6e-4b74-8192-4629e22560e4/\" alt=\"User Profile in Not App\" title=\"User Profile in Not App\"></p>\n<hr>\n<h2>Development Procedure</h2>\n<p>This was a <strong>Team project</strong> where we had created and designed an application to compare a variety of different appliances and the data that relates to them; such as price, energy cost, name and manufacturer. </p>\n<p>We had <strong>analyzing requirements</strong> as well as created prototypes and mockups through involved UX which had then gone through review through our peers. </p>\n<p><img src=\"https://ucarecdn.com/ec85c829-7c91-4959-a1ef-c16c9dd6fe58/\" alt=\"Agile Prototyping Paperprototype\" title=\"Agile Prototyping Paperprototype\"></p>\n<p><img src=\"https://raw.githubusercontent.com/notdev17/notDev.us/master/Appliance%20Comparison%20Application%20-%20Not%20Dev.png\" alt=\"Development Lifecycle\"></p>\n<h2>Front-End: JavaFX</h2>\n<p>The usage of FXML allowed for our team to quickly develop a non-intimidating, modern looking user-interface. Correspondingly, when working with FXML debugging was relatively painless considering that the syntax is relatable to XML or HTML. </p>\n<p>The <strong>source code for our user-interface</strong> may be accessed through the directory: <code>\\src\\fxml\\</code>\t</p>\n<p><img src=\"https://ucarecdn.com/fe2a4aef-cf76-4c4b-9859-6939e0f64f50/\" alt=\"Editing JavaFX UI\" title=\"Editing JavaFX UI\"></p>\n<blockquote>\n<h5>Example FXML Code:</h5>\n</blockquote>\n<p><img src=\"https://ucarecdn.com/b01561d3-d759-449c-9d88-186981c25711/\" alt=\"Example FXML Code\" title=\"Example FXML Code\"></p>\n<h2>Back-End: <a href=\"http://h2database.com/html/main.html\">H2Database</a></h2>\n<p>H2Database is a <strong>Java SQL database</strong> to which we had opt'd to configure an in-memory database. More specifically, when the program is initially executed the data is loaded from the CSV files contained within the <code>./database/</code> directory. This is accomplished, through the <code>./src/driver/H2Database.java</code> which is used to interact with the DB server. This includes, connecting to the server, sending queries, parsing the CSVs and other various SQL and DBMS commands.</p>\n<p><img src=\"./img/db.png\" alt=\"img\"></p>","frontmatter":{"date":"December 17, 2017","title":"Appliance Comparison Program - ¬App (Not App)","github":"https://github.com/notdev17/NotApp","description":"A basic application to compare various home appliances using their energy usage and cost.\n","tags":["Java","JavaFX","H2 in-memory Database","Agile Methodology"],"featimage":"https://ucarecdn.com/43f20c3d-8712-4d4f-a1a6-c05a06222989/"}}},"pageContext":{"id":"58d36ad9-71ad-5f21-bc9a-c6f6fc3328a8"}},"staticQueryHashes":["3020398965"]}