2017-11-03
As of 3 November 2017
Background
We have an existing application (https://audienti.com) that has received solid reviews and feedback. We have continued to do demos of the old application until recently, and we have approximately 100 trials waiting on our new release, and some deals of substantial size being discussed. So, we are anxious to get this into a testable form as soon as possible.
You can see the most complex part of the UI at this link. (https://drive.google.com/file/d/0B0YPWObz9KADTnFwT3l1SEpJRm8/view)
You can also see the work breakdown at this link. (https://omalab.gitbooks.io/engineering-wiki/content/structure.html)
We are refactoring this application to fix two primary issues
Scaling Problems on the backend
UI speed and performance on the front end
Goal
The goal of the effort is to "clone" our existing application
Reimplement the backend (mostly done) to fix scaling problems and confusing data structure
leverage React to create a front end that is fast and responsive (a Dom/Web version of our application).
build a foundation for the next 5 years, as we do things such as implementing a native version of our application at some point in the future. Our first deliverable is a DOM/Web-based application.
Status
Most backend/structural changes have actually resulted in less complexity than our old application. Otherwise, we are cloning the existing application. There is a LOT of CRUD in the app. Most screens are simply setting data that the backend uses to produce results (charts etc).
A large chunk of the API is in a first draft stage, and waiting for us to get a front end hitting it to sort out if things are missing.
The backend is written in Rails 5.1.x (newest version). The api and other actors (like Jobs etc) have approximately 80% test coverage . Extensive Unit and Integration tests have been written for the back end.
The front end is built on GenesisUI as a foundation (https://genesisui.com/demo/?theme=root&version=react) This provides the "style" we are following for the application. It also provides some basic react components that are pre-written for the layouts with some modifications. It's a essentially a foundation.
We have broken down the work into a structure. This structure mimics the structure in the legacy application, with removal of elements we are not implementing in the new version of the app.
We use Asana. There is a work breakdown for this chart with an API and a UI task for each of these elements to get the foundation in place. We use Github for the code repo, and Slack for team communication.
React app is the most recent version. We use Redux as well. Jest for testing. Axios for async calls. Auth0 for authentication.
Why are we looking for a front end person
I've had a developer on this that has struggled to deliver in a timely fashion. In fact, in the last month, we have made little if any progress on the application. Most of this has come from my rejections of the code he is developing... which has a number of flaws such as:
Lack of tests (Jest is installed, but no tests have been written)
Not DRY (we do a lot of CRUD, his CRUD actions are all identical and duplicate).
Using Jquery and Jquery AJAX calls instead of promises and things like Axios.
Inconsistent code, lots of differences in file naming, variables names (mixing lower_case and lowerCase etc.
The net is that I get the feeling that he's learning React/Redux on our time.. which we don't have the time to do. We need someone that knows this cold. So, we are not super far long on this yet, and need to start making substantial progress.
Last updated