1 – Building a Worship Resource Library



This content originally appeared on DEV Community and was authored by Cecilio Navarro

Introduction
My church has used different methods for storing our music resources. Right now, we are using OneDrive with different types of formats for the chords. The brass has their notes scattered, with individual notes on Apple Notes and ad hoc handwritten notes on Keynote.

I suggested the idea to improve our flow through the project I am presenting today. I have built the minimum viable product and have shown it to our music director. She approved it and said the church would like to invest in it. The following describes just that — the MVP (Minimum Viable Product) built with JavaScript, EJS, and MongoDB.

Image description

I brainstormed and wrote down the requirements for my project to start. The main ones are: storing our chords and wind notes here at a centralized location and having tags and labels to quickly and accurately find our songs. Afterward, I sketched out the low-fidelity wireframe. I started off with the Waterfall Model but switched to the Agile Methodology, so I made a Jira account. I like the approach of tackling the basic functionality first and then making incremental improvements. This would help me cut out some of the fogginess from the “I don’t know what I don’t know” stage. Without this MVP, there may be requirements or features you write down that in practice aren’t needed — or requirements you missed.

Image description

Main Feature
The most important feature is adding a song. Adding a song will contain all the relevant information, like the title, key, chords, wind notes, and tags. In the future: transposition, author, group, and personal notes.

Image description

Second Most Important Feature
The second most important feature is the ‘tags’. They help filter out songs by their properties. For example, if a worship leader is making a setlist and would like a song where the brass has an ‘ending’ in order to smoothen the transition to another song, they can do so by checking that tag. If they make an altar call, they can select ‘ministración’ (ministry in Spanish) to find appropriate songs that fit what the moment calls for.

Image description

Thoughts
I don’t know how I will handle the different instances of songs. It makes the most sense to have one source of truth and then transpose to all other keys from it. I have the idea of admins being able to turn off and on the different keys of a song. I would then have to think of how to handle the source of truth there.

I am still determining how to do things and will start asking more of the right questions along the way. I have now begun the backend and a basic frontend.

The next step is authentication and JWT. Let’s get started!


This content originally appeared on DEV Community and was authored by Cecilio Navarro