Taking the foundations started by the Illya Site and the improvements made by Kpop Wired, EchoStream strives to take everything I have learned so far and apply my current knowledge to implement the functionalities and components of the application.
Illya Site Home Screen UI Illya Site Home Screen UI: Kpop Wired Home Screen UI: EchoStream Home Screen UI:I retrieved all audio and playlist posts from a separate backend API that I created (https://github.com/choir27/echoverse-backend) and used Zustand state to dynamically render the fetched data so that the JSX elements could load the updated data. To register/sign in users, I sent the user data using the AppWrite function methods. Additionally, I implemented a feature that enables logged-in users not only to edit the music tracks, but also to add songs from any user to their created playlists. I also implemented a feature that ensures that when a user removes a song from a playlist, the song is not deleted but simply removed from the playlist. Additionally, I made it so that when the user posts an audio file, there is a loading text before the POST request finishes.
When implementing the shuffle playlist feature for the EchoStream application, I initially had to use nested loops in order to achieve the logic I desired; however, I did not want the playlist shuffle logic to run at O(n squared), so I took another look at the how the search logic was running, and found a way to make the logic run at O(n) instead. Eventually I want to make the delete account functionality for this application work as intended. I also want to change the code so that whenever the user deletes a song, it removes said music track from every playlist.
I discovered the importance of constantly improving, and looking back at how I used to be in order to see how I far I have gotten as a Software Engineer. After having come back to this project that I had thought was already an improved product from my Illya Site, I realized that there is always room to grow, and in the future, I will surely have more knowledge and experience as an Engineer to be able to improve on this project further.
Take a look at these couple examples that I have in my own portfolio: Priconnect https://priconnect.netlify.app/ Auto Aligners https://autoaligners.netlify.app/