Tuesday, November 29, 2016

Structuring The Backend

This past week, our team got together to reorganize how our backend components talk to each other. These components consists of Firebase, the Node.js server, MySQL database, and the Java application. The communication between all of these components have to be very specific in order for us to implement it correctly. There should be no ambiguity in our design in order to prevent any possible bugs. Firebase will be the medium between the Node.js server and the mobile applications. MySQL, on the other hand, will be the medium between the Node.js server and the Java application that talks with the arduino units attached to the pods. The Node.js is where all the central logic is located.

Tuesday, November 22, 2016

Buying Components For The Team

After reanalyzing the physical components of our backend system, I realized that we cannot achieve asynchronous programming if the Xbee-Master controller is limited to enqueued tasks. Meaning, if the Xbee-Master can only perform one task at a time, then our team will have no choice to but to disregard the ability to perform asynchronous actions. It is crucial that our team figures this out as soon as possible. In addition to that, our team wants to buy more Xbee controllers so that we all have something to practice and play with over the course of winter break. We want to be able to familiarize ourselves with this crucial component and possibly get started on programming it to function to our needs.

Tuesday, November 15, 2016

Essential Documentation and Prototype Demo

Last week, we provided the Controls Requirements Specification document for the controls team. This document acts as the a contract between the controls team and our team. It includes information about the functions that both teams will use to communicate with each other between our backend server and the hardware components. For next week, our team is pushing out a similar document called the Positioning Requirements Specification for the positioning team. Naturally, testing documents will be created on our side to complement both the Controls and Position requirements specification documents. The testing documents will act as a checklist that can be tested against each function identified in the requirements specification when the appropriate time comes. Other than the documents, the team has been working on a prototype app that we will demo to our customer. The demo will showcase a user being able to purchase a ticket and receiving an updated ETA time that counts down to zero.

Tuesday, November 8, 2016

Synching Up With The Mechanical Engineers

This past week, our team got in touch with the controls team at the Spartan Superway to review the requirements for the mobile app. In addition to that, we went over how we intend to communicate with the components of both teams. Our team team is delighted to know that we will definitely be of help for the coding aspect of the controls team's project. After the meeting, our team revised the software requirements specification that we will deliver to our customer tomorrow. Over the next week, our team will be finishing up on the iOS app and continue making progress on the backend. We recently learned how to push data to and pull data from Firebase using Node.js. Problems we ran into that we need to address for the next week is successfully logging into a user account and accessing the user's profile information.

Tuesday, November 1, 2016

Week 11 - Aftermath of Design Review

Last week, we completed our design review where our group presented to an audience of people from industry about where we are with our project so far and what we have planned for the next semester. Overall, the presentation when very well. The audience constructively criticized our project and provided us with valuable advice for what technologies we should use for our backend. Because the backend is where our group would have the most difficulty in due to inexperience in that field, we were very thankful to have been provided help from such experienced people. We will be making changes to our future plans for the semester by focusing more effort into our backend and less into our front-end (mobile app side).