This website was created by me, a music teacher, in response to the need to find a simple way to feature our students' work in light of the COVID-19 pandemic. Our students' concerts have been canceled, their rehearsals ceased, and their opportunities to share music diminished to a whisper of what they once were.
As an elementary general music teacher, a big part of my COVID curriculum has been the Chrome Music Lab. Students love making creations with it. It's fun and easy to use, and it provides an amazing platform for us to discuss the topics in our music curriculum. For me, the music lab has been an indispensable tool for coping with our school closure, and this project has opened up new doors for how myself and hundreds of other music educators make use of the Music Lab.
The teacher posts links from Google's Music Lab Song Maker. This site captures student work by fetching and caching midi and json data from google's api. The frontend then uses that data to display beautiful, dynamically rendered thumbnails of students' work.
Do you have an idea for a killer new feature? Open an issue in the "issues" tab and let me know! If you want to add a new user-facing feature, I'm happy to support that effort by providing guidance through the codebase, reviewing code, and assisting with deploying new changes.
Version 2 of the site was the first production deployment that others came to know and love. Despite being scrappy and endearing, there was much left to be desired towards in terms of UX. In version 2, teachers had to upload spreadsheets to create galleries, which is a cumbersome and technically unnecessary process. The codebase needed a bit of love towards refactoring the teacher UI, improving unit test coverage, and adding automated integration tests. Finally, many new features had to be implemented on the frontend and backend to faciltate the main new user-facing feature: Automated Galleries include the ability to create automated galleries with student-uploaded content.
Components were developed with Storybook UI.
Created new frontend features, from wireframes to production.
Truthfully, I didn't know what that meant when I started this project in Spring
2020. I learned, though! And, refactoring the API to be RESTful allows machine
users (i.e. the frontend) to interact with different levels of gallery-related
entities: Song
, SongGroup
, and Gallery
.
Technical debt was paid in order to be able to move forward on the fun stuff.
item | v2 | v3 |
---|---|---|
unit tests | 72 | 122 |
integration tests | 0 | 8 |
storybook stories | 0 | 38 |
See our contributing guide for details. Contributors are welcome! The project is available under the MIT license.