Ritualia
- 3 Devlogs
- 8 Total hours
A music recommendation and playback system focused on algorithmic fugue and repertoire expansion.
A music recommendation and playback system focused on algorithmic fugue and repertoire expansion.
RitualIa in Evolution: Refactoring, Optimization, and New Features 🎶
Hey everyone! I’m back with a cool update on what’s been happening here at RitualIa.
After that commit where we transformed some scripts into helpers, things have evolved quite a bit. We’ve been doing a heavy refactoring of the project, focusing on organization, performance, and better code architecture.
What’s changed:
Structure & Organization: We started cleaning up the mess. We removed legacy folders that weren’t being used, did a mega merge bringing everything from /frontend to the project root, and switched from FastAPI to Flask on the backend. It’s the kind of change that seems simple but has a significant impact on the overall structure.
Code Quality: We made several methods private in the PlayerControls class, making the API cleaner and more secure. We also fixed the “enclosing class errors” that appeared. These small fixes make a huge difference in code reliability.
UI/UX Improvements: We created a new CoverFlow component to replace GenreCylinder on the homepage – it’s much smoother and prettier now. We added support for async onClick, grab + touch in CoverFlow, and adjusted visual positioning to keep everything aligned. Oh, and we removed that unnecessary playerText that was cluttering the interface.
New Features: A really cool feature that was added was the checking for duplicate songs in the queue. Nothing worse than accidentally playing the same song twice, right? Now that doesn’t happen anymore.
Maintenance & Updates: We updated the fetches to call the new routes, moved the favicon to assets (because everything has its place), and focused on the details.
What’s coming next:
We are in a consolidation phase, laying a solid foundation for the upcoming features. The focus now is on ensuring that each component is doing exactly what it needs to do, nothing more, nothing less.
Thanks for following along!
I’m transforming some duplicate code into helpers so they can be more easily used in new code.
Introducing: The ‘Ritualia’ project is a project developed by me and some colleagues with the help of the school. In it, we have done and continue to do research and assembly with the aim of impacting the daily lives of students in our school and (in the future) other schools. It is an open-source project with an article soon to be published detailing the foundations used, etc. The readme is currently outdated because I am redoing part of the current architecture, but I will update it later to include information on how to assemble and create your own version. The project is divided into hardware and software. I, along with other members, am responsible for the software (which is usable on most computers), and the hardware is relatively simple (it only depends on a display + sound + a controller with an OS + the preparations for installation).