What I learned from building my first full-stack application

As apart of my coursework through General Assembly’s software engineering we recently built our first full-stack application completely on our own and completely from scratch. This project was the culmination of the program so far and focused on giving us students an opportunity to apply the new backend technologies (mongoose, express, and MongoDB). We were allowed to pick our own application idea. I decided to develop a full-stack application that would allow users to create lists of albums. This idea came about because I am a huge music fan and I wanted a way to keep track of my favorite music albums within different categories of my own making. I created the app using mongoose.js, handlebars.js, express.js, and MongoDB. This was the first time I had to host through Heroku which was an awesome experience and went much more smoothly than I expected. Not everything went as smoothly as the deployment. 

First I made a mistake when planning out my schedule for the week and planned for an extra day that I did not have. Thankfully in my planning, I had left extra time for major issues and was able to work a few extra hours the final couple days and still turn in an app that I was pretty happy with. The biggest coding challenge I faced in this application was getting the express models to correctly reference each other and then be able to populate the referenced data in the handlebars page. Learning the .populate method to solve this problem was an exciting experience to really delve into the documentation and learn something new on my own. 

I grew in many ways through this project but the biggest growth was in my debugging a documentation research skills. There were multiple times when I submitted an issue on GitHub with a problem after about an hour of debugging on my own, but after continuing to debug while waiting for a response to my issue I found the error and was able to remove the issue without needing a response. This was an incredibly rewarding experience and was encouraging to be able to notice the development of those developer skills (reading documentation, using chrome debugger, reviewing pseudocode) in addition to learning the new backend technologies. The other big change for this project was the way we presented our final solutions. For project one we did an informal live code presentation through a zoom meeting to our classmates and instructors. 

For project 2 we recorded a video demonstration (https://youtu.be/vFMnY69AEDo) discussing our app and explaining specific parts of the app and what we were proud of. This was fun for me as I enjoyed being able to apply some of my knowledge from running a youtube channel (https://www.youtube.com/channel/UCUM6B8HfH-OYoheFvjhDJuQ) in order to create a video demonstration that although very simple I was proud of. We have now started unit 3 (React.js) which has already been a lot of fun and I can’t wait to see how my skills will have progressed by project 3.


To view or add a comment, sign in

More articles by Nathaniel Stack

  • A Reflection On My Educational Journey Thus Far

    Well, I am almost done. Over the past 10 weeks, I have been enrolled in General Assembly’s Software Immersion program…

    2 Comments
  • Launching a Career at 19, How I Got Here

    Even as a little kid I always wanted to work in technology. From a young age, math and science were always my favorite…

Others also viewed

Explore content categories