My individual journey through the creation of Meetify has been a great one. My primary role on the team was to be a back-end developer, but I also assisted in integrating the front-end with the back-end. I aided in designing a RESTful API using Django and created database structures for our application to access. In doing so, I was building upon my previously recognized skills. I utilized my prior knowledge in Python and REST APIs to create the API in Django, as well as my prior SQL knowledge and general knowledge of relational database systems to design and operate the SQL database. One of the biggest things I learned from these actions is how to fully build something from the ground up. Relatively speaking, it is easy to add to systems that are already functional as is. For example, in many REST API designs, it is simple enough to just add a new endpoint to the API. Making something brand new, however, takes significantly more forethought and effort. I needed to consider a lot of factors that were not immediately relevant at the time, and I struggled with that, but it was an interesting process and I learned so much from it.
I also had issues with estimating the amount of time it would take to complete certain tasks. Some issues that I had to take on took me significantly more time than anticipated. For example, implementing the messaging service was taking me longer than I had accounted for, so ended up having to change my design for it. This led to an implementation of the messaging service that had more weaknesses than our original plan. From this, I learned that I need to spend more time researching implementation and design choices before following through with them. I also had issues “reinventing the wheel”, so to speak. I would begin working on a feature, only to discover that what I wanted to make already had preexisting functionality in Django. Again, resolving this issue simply comes down to researching and planning before developing.
As a team, we created fully functional back-end and front-end components, as well as a fully integrated web app. I learned how essential communication is within a team, especially when it comes to integrating components. I also learned that the cycle of programming and reviewing is helpful in any development environment as it gives every member of the group the opportunity to provide constructive feedback and ensures everyone is on the same page. It also really helps to have teammates who are very communicative with what they are working on and why they are working on it. My teammates and I were always willing to pause our own work to help each other and our teamwork never hit any real speedbumps. We meshed very well together as a team, and I think that shows in the quality of our work.
Our responsibilities were divided up well. Rob and I did the work on the back-end Django server and database while Dustin did the work on the front-end and user interface. This division led to us having a cohesive design and codebase with solid code standards, which is important for maintainability in a project. I also believe that both Dustin and Rob did exemplary work on this project. Dustin created a great, clean front-end that was easy to use starting from a framework that he was not familiar with, and also performing necessary integrations to pull the web app together. Rob did an excellent job with adapting to the Django framework and putting together the models as database structures, while also integrating the Spotify API into our own. I think it goes without saying that I truly enjoyed working on Meetify with this team.