Inspiration
The first presentation about the challenges immediately toggled our interest. It is a real life problem that we were asked to find solutions for. This gives us an opportunity to tackle the challenge like a real engineer/developer.
What it does
The solution begins by hosting a smartphone app in which the truck driver inputs the truckID of the truck he is going to drive, this app links the driver's unique ID to the truckID and send this data to a main server which stores it in a database. We look at a sequence of events to determine if cargo trailers are at risk in real time, during certain events the truck's J1939 will notify the main server of an event that is occurring. This will trigger a chain of security checks to determine the safety of the cargo, it will first check for whether the truck is moving or not, whether a registered driver is linked (if not, it is being stolen and sends an alert to appropriate authorities), then whether the truck GPS and driver GPS are moving together. If one is moving without the other, the system will notify appropriate authorities based on risk.
If both GPS units are moving together like normal, the security check will end, checks will repeat every time a trigger/message is received from the truck.
Machine learning algorithm analyzes datasets for when trucks are started at certain times to predict future engine start times according to each truck driver, if a truck driver starts driving at an unusual time and cargo is stolen, the driver can be under suspicion.
How we built it
Each of the elements we built communicate with a server. For the back-end, we have a database written in MySQL and the server was written in node.js. For the front-end, we used Swift to make the IOS app pairing the truck to the phone of the driver. For the program to monitor the movements of the truck, we simply used java with built in java GUI. .## Challenges we ran into One of the challenges was that even though our skills were enough to make the prototype work, we were not able to cover everything. The programming languages we used do not synchronize with each other, therefore we could not combine them to run in one application, but instead in multiple different ones. Moreover, the time constraints also made it harder for us to do pursue a more complex solution that satisfies difficulty of the challenge better.
Accomplishments that we're proud of
We are proud that, we worked well together as a team and were able to come up with a solution to tackle on the problem early on. For an interesting challenge like this one, we were very proud of ourselves, as we were able to build, develop, and deliver a working prototype in 24 hours.
What we learned
We definitely learned a lot of things from each other, from working habits/behaviours to technical knowledge. After a projects like this, teamwork skills become very evident and are required in order to be able to deliver a final product. The way the challenge was made also gave us a route to apply the theories that we have learned in class, which definitely showed us an insight of what the industry design steps and the software development life cycles looks like.


Log in or sign up for Devpost to join the conversation.