Skip to content

Latest commit

 

History

History
17 lines (8 loc) · 3.06 KB

File metadata and controls

17 lines (8 loc) · 3.06 KB

Implementation Overview

Big picture technologies In any given software development project, the first big question from the development team is which technologies should be used to get the job done. Often times, software engineers tend to gravitate towards using the newest and hottest technologies to achieve their technical goals, but with so many new frameworks released into the market so frequently, it is significant to choose the right technology to ensure proper completion of the project without any hassle. That is why it is important to look at what Primacy needs to accomplish at a basic level and look into the big picture technologies. We have done multiple tests using several different options of frameworks by downloading and exploring what each has to offer. We also created a table with a ranking system for various traits we felt are valued for Primacies use. After all of this, we feel very confident that our choices in technologies are the best we could possibly find.

Solution vision Our vision of the future is for the GUI for Primacy to be used and expanded on in the future. We hope that it can be used to save lives, and put primer identification technology in the hands of anyone who is in need of it. The current options are currently only proprietary, and this could become incredibly useful to those who can not afford the current options. We also hope for our GUI to be adapted to serve other pipeline technologies, and allow those without command line knowledge to easily use the products.

Overall approach As far as our choices for technology go, Primacy needed a scalable, and easy to understand GUI to run properly in the long run. After weighing out many other options, we decided that Electron JS was the best tool for our needs. Electron is a JavaScript framework that uses typical web tools such as HTML JavaScript, and CSS to create desktop applications. It mimics a server and client relationship between the front end and back end portions of its applications. We are using Flexbox for our layout of modules, as it is incredibly versatile when it comes to window scaling, and it also looks fantastic for modern applications. It will make our development process easier so we spend more time on the functionality and less time on HTML placement issues. Overall, Electron allows what would be a typical web application to be distributed as its own standalone desktop software, which is exactly what we need for Primacy. The technology powers many incredibly reliable applications such as Chromium, Atom and Discord, so we feel confident it will be easy to use and scalable for the future.

We determined that Python was the best solution to for our communication with the pipeline. It makes the conversion of JSON files fast and easy, and is also fast to implement efficiently with communication between other technologies. The Primacy pipeline is also written in Python so this will be familiar to the developers when expanding the utility. In the end, we feel this the best option we are able to choose, and feel confident with our decision.