This single page application was an exciting project I worked on as part of a group in my Web Development course at UST. For the development of this project we utilized Node.js, an express server, MySql database, and Vue.js. The focus of this project was to learn about RESTful api's and the benefits of client-side rendering. This was a project that I really enjoyed working on and learned a lot through the process. After this course, I found a passion for the world of Web Development and the many exciting Web technologies that are available to us. If interested in the source code, the repository to this project can be found here.
I learned a lot about web development, development process, and team communication through the course of this project. From a technical standpoint there were many important concepts I learned from this project. RESTful API's and API's in general were a hazy concept for me before this course. After working with them, I have learned the importance of RESTful api's and how they can help different types of applications. We got the experience of building a RESTful API, but we were given the oppurtunity to experiment with third party API's as well. For this assignment two third party API's to get and display data. We used an API called Nominatim for geolocation and address services. We also used an API called LeafletJs to include better map functionality. Learning about these API's has made using API's in other applicaitons much easier.
The main focus of this project was to learn about Client-Side rendering. We used a JS framework called VUE.js to do this. With the help of Vue, we were able to develop a dynamic and responsive web application that had a relatively small learning curve. This was a good introduction to client-side frameworks and allowed for a easier transition to learning React.js. React.js was used heavily in our Capstone Project.
Finally, this project taught me some important lessons on teamwork and collaboration on large applications. I learned that planning is an important step to take before starting any software project. Without planning and coordination between team members, people may become confused and lack participation. I learned to communcitate with team memebers that were not putting in as much effort and motivate them to be an active part of the team. This project really showed me how to work well with other and actions to avoid when working as part of a team.