This is the state of the assessment after 3 hours.
Run npm install
and then npm start
to run the app locally.
While I was able to accomplish the assignment features as a minimum level, I wasn't able to polish any of them or add on extra features before I ran out of time.
Although I was instructed to ask any questions I had before starting the assignment, upon starting, I realized that I had not examined the data API carefully enough. I had a couple of questions regarding the requirements; however, because I did not ask them until after I had started, I did not give enough time to have them answered.
The result of this is that where the instructions mention the "ship name" the device make/model/platform is used instead. Also, sorting logic is based on the year.
If I were going to continue on this project, I would focus on the following features and improvements:
- Performance of the table - filtering has some significant performance deficits likely due to a naive implementation of the filtering and sorting logic.
- Finish map implementation - I had a cool map feature that I started but did not have time to fully implement (more work into examining the coordinates given in the API is needed).
- Table enrichment - More fields could be added to the table itself. Additional UI features like country flags, refresh buttons, and URL links could also be added.