Sunday, September 18, 2016

Assign 3

Assignment 3 has started for 2 weeks. It's so intense that I did not have time to write blog for last week T_T.
This assignment is very interesting because we now experience new field in digital marketing - mobile app. At first, I thought the only way for creating mobile application are by Android Studio or XCode but I was wrong. There is a thing called progressive web app that uses modern web capabilities to deliver an app-like user experience. This is super interesting because we can easily extend number of users from web to mobile. The framework for PWS is also very developed and will take not much time to achieve that.
For the assignment 3, I teamed up with Leon, Larry and Kai Yi. We spent two days for brainstorming and picking the ideas. All of the members had contributed a lot of interesting ideas and finally local-based chat application is our final decision. We support geolocation to show the location of the conversation on map so that we can enhance user experience and possibly earn bonus grades for that. After concede the idea, we immediately assigned each one with a suitable task. I and Larry handle the backend while Leon and Kai Yi is in charge of the front end.
Because everyone in our team all experienced with Node JS, Express and React in Assignment 1, It did not take much time for us to agree on the above set of framework. The hard part of this assignment is to interact with map and do real time chat. Mapbox GL is a very powerful toolkit for us to achieve the geolocation work. Till now, we can show the location of the user as well as the pin of a post. There are still some works to do with the map like showing the description of the pins or linking the pin with the post. About the real time update, Socket.io is a good candidate for us to achieve that. Socket.io has beautiful messages classification system for differentiating event types and also good transmission performance as well. Current status is that we can now make a real time chat for comments in a post and are about to make the feeds live also.
Some problems that I have during working in this assignment is that there is no fully-developed node module for SQL database ORM as in Python or Ruby on Rails (or I cannot find it), so building and improving schema costs me a lot of time. Besides, Socket part heavily requires the interaction between back-end and front-end, and I'm not well-experienced with react development, It costs me long time to create a sample of real-time update for comments.
So there are 5 days left to the deadline, there are still many things for us to work on. I will try my best to deliver the best product to CS3216.