Bloc Jams: Streaming music website and web app
My first project, my first love
jQuery — good, bad and ugly
That's when the gravity of the exercise hit me — I'm going to be a programmer who knows what she's doing.
Bloc Jams Angular was my first time working with a framework, and it exceeded my expectations in every way. I learned about MVC architecture, and I got to see my models, views and controllers work together to create not just any old website, but a web app. If I'm being real here, it blew my mind. I was even dreaming about it at night! The whole idea of templates being displayed within templates opened up my world. Like, I had kind of seen it on the behind the scenes of my Wordpress websites when I'd go into the PHP files to edit templates, but I didn't fully understand it then. Now, MVC was my world.
The greatest challenge, the greatest reward
Throughout all of Bloc Jams and Bloc Jams Angular, I was completely out of my comfort zone. But you know what? I loved every minute of it. This is how I knew I had made the right decision, and that a future career in coding would be just as amazing as I had imagined it to be.
I knew this especially when working with the code that handles playing the songs. As a user, it seems like such a simple concept — you push a button, the song starts. Not a big deal, except that it is totally a big deal. There is so much going on under the hood, it forced me to think long and hard about what the mouse is doing, where it's going, and what actions should result from all the of different combinations. Here's what I mean:
1. When a song is clicked to play it, the song number should change to a pause button:
2. When the mouse leaves the table row of the currently playing song, the pause button should remain:
3. When switching songs, the previously playing song's table cell should revert the content back to the song number:
4. When hovering over each of the songs that aren't playing, the play button should still appear; however, when hovering over the currently playing song, the play button should not appear:
All of those actions required their own code, some longer than others, and that's just one small part of the overall project. I could have made it simpler and not worried about anything other than click = play, but would that have been simpler for the user? Absolutely not! My biggest takeaway from this entire project is that, as a web developer, I am responsible for the beauty, functionality and simplicity that the user interacts with as well as the beauty, functionality and simplicity of the code that the user will never see. It's a big responsibility, especially in today's digital world, but it's a responsibility I take very seriously.
Bloc Jams: GitHub / Live site
Bloc Jams Angular: GitHub / Live site
Date: February-April 2017
Built for Bloc.io