After completing our interview with Seneca today where they wanted to learn about our project, we uncovered a few bugs in our Analytics module. Seneca wanted a few screenshots of our queries as a demonstration so we had to fix this before we could provide them. We wanted to show them a particular detailed hit with a good variety of actions, but we can't if it only ever shows one hit, but when you ran a "Hit Story" query (which displays detailed information about the hit along with a time line of the actions for the hit) it would always show you one particular hit instead of the one indicated by the field. It turns out way back when we did our refactor of the Dashboard (then called the Visual Analysis Tool) from pure React to React with Redux, we had that bug show up. We were so focussed on making the newer "entity" queries (which allowed joins and CSV output) that we didn't notice this being broken. We weren't testing it (hmm, perhaps time to invest in creating unit tests...).

Now that that is taken care of, we'll continue with creating documentation (which will include screenshots of the polished Dashboard, so we need to finalize that). I'll be concentrating on the documentation, meanwhile my team mate will be focussing on creating a more robust user login system for the Dashboard. Right now, we just have usernames and password hashes hard coded in the config. This is unsecure, inconvenient, and not scaleable. We're going to use authentication libraries and store usernames and hashed passwords in the MongoDB database instead.

For anyone curious, documentation can be found here!

Note: This was originally posted on the blog I used for my co-op term while at Seneca College ( before being imported here.