Phase 5! I made it! I'm thrilled to announce that I am now a certified Software Engineer! The past three months have been challenging, but the journey was undoubtedly worth it. In the last three weeks, I dedicated my time to working on my final project—a community app tailored for fans of a video game series. Although I haven't deployed it yet, I plan to continue refining it because it's progressing exceptionally well.
For this blog post, I want to shed light on a feature I added to my project: the real-time notification feature. This feature allows users to favorite a game and receive notifications for any updates related to their chosen game. This wasn't covered in the Flatiron curriculum, and I decided to venture into it on my own.
Here's the backend code snippet for this feature. I employed Stream to check for real-time updates on the connected route. When a new review is created, the system ensures it's not an old review and that the review's game ID matches the favorite game ID. If these conditions are met, the review is marked as an old review to prevent notifications for outdated posts. Finally, a response is sent to the frontend, which I can utilize EventSource to listen to.
On the frontend, I set up EventSource to listen for responses from the streamed route. If it receives anything, I use the onmessage function to either send a message or increase the count for notifications. In my project, I do both. Putting together this piece of code took me three days, and while it was a bit of a headache, I'm proud of the outcome. Self-teaching is not new to me, so learning and successfully implementing this feature into my project was truly satisfying.
To wrap up this post, I'd like to share my thoughts on Flatiron. For a three-month bootcamp covering four different coding languages, I believe it's well worth the investment. The program goes beyond technical skills, teaching valuable aspects like networking and resume building—essential skills for anyone entering the software engineering field. While I still consider myself relatively new to all of this, I've gained confidence in my skills and my ability to self-teach and grow. The job search may be lengthy, but my concern is more about the duration than my ability to perform or understand the work. If you're considering entering the software engineering field, I highly recommend applying to Flatiron; it's, in my opinion, a valuable investment.