I’ve pretty much finished the backend of the application.
There are a few bugs left and workarounds implemented that need to be sorted
out (which I’ll talk about later). I’m well into the frontend work, and expect
to have all the required functionality (‘must’ in the Statement of
Requirements) completed within a few days. Overall I’m slightly behind
schedule, but I left plenty of leeway in my schedule so I’m not worried about
being late for any deadlines.
The one change that will be required to the backend of the
application is with regards to how I can fetch users from the database. The
current VLC system’s repository does not allow for the retrieval of users based
on ID, only by email address (for reasons I’m not quite sure about). This is a
problem because I will sometimes need to fetch a user based on data stored
client-side (which encoding that data into a URL). Using email addresses as
REST URLs has a few problems (http://softwareengineering.stackexchange.com/questions/222158/is-it-ok-to-use-email-as-an-identifier-in-a-restful-uri)
that aren’t fatal, but certainly make it less than ideal. I currently have a
workaround in place whereby I added my own method to the VLC repository, but I
would like to have something in place that doesn’t require modification of the
current system if possible.
With regards to the frontend of the application, progress is
coming along nicely. There are very few bells and whistles, but login, viewing
and selecting groups, and receiving messages works nicely. The vast majority of
the frontend work was setting up the Angular 2 project and getting SignalR to
work nicely with it, I expect the other core features to be done within a
couple of days. Then I will be able to polish it and add the non-necessary
features.