About YouthMaster.org

History

During the second half of 2007 I was called to be the Young Men's Secretary in the Tomball Ward in the Cypress Stake near Houston, Texas. Given the large number of young men we had at the time, record keeping was a bit of a hassle. Various leaders had disparate versions of excel spreadsheetings containing rosters, Duty to God, etc.

Having a background in web applications development, I immediately saw an opportunity to leverage a web-based system to better manage our records. Over the course of the 2007 Christmas break YouthMaster.org was born. Its original scope only consisted of Young Men / Duty to God (no Young Women, no Scouting, etc) for the Tomball Ward. Since then I have gone back and refactored the system to easilysupport multiple wards and incorporate Scouting and Young Women as optional modules.

YouthMaster.org is free. There are no plans to move to a yearly/monthly fee as some similar sites have done.

Similar Sites

Had I known there were already several online systems available for Duty to God tracking I may have taken our ward to them instead of writing my own. But it was too late by the time I came across these other sites.

You'll notice that YouthMaster tries to keep true to the KISS principle (Keep-It-Simple-Stupid). During the entire design of the site I always made attempts to lean towards less noise, more clear, more simple. For example, you can track scouting advancement through the scouting module, but it will not provide details on what particular merit badges were attained during the process. Most everything from Scouting to Duty to God to YW Personal Progress is a simple yes/no checkbox.

If you're searching for more detail / in depth tracking, you may want to look into one of the other popular online systems:

I should note several unique YouthMaster features which are not present in the other sites: Interactive Housing Maps, Document Uploads/Library, Shared/Web-based Spreadsheets, and Custom adhoc reports

Technical Details

YouthMaster.org is hosted at a data center in Los Angeles by Dreamhost -- who are one of the largest hosting providers world-wide. As I do other professional web development, I already have a wholesale account with Dreamhost on which I host YouthMaster and several other applications. My account has a quota of 300 GB, unlimited databases / emails / domains / etc. The quota actually grows by 2 GB every week that I am a member of Dreamhost. I've been with them for several years and have been thoroughly impressed by their level of service, features, and acccess they grant me to their servers.

YouthMaster.org is built on the LAMP platform (Linux-Apache-MySQL-PHP). Dreamhost takes snapshots of the database(s) at regular intervals -- backups can be restored from any chosen snapshot. Additionaly, the source code is backed up at regular intervals.

I've also chosen to leverage Ajax technology where it makes sense to help streamline the workflow of YouthMaster users. For example, it's very easy for secretaries to fill out attendance tracking for an entire quorum thanks to the one-click Ajax check boxes. Additionaly, rich javascript functionality is leveraged to enhance the user interface (i.e. click table headers to reorder the rows, or drag table headers to order the columns).

Custom/adhoc reports can be created and saved by YouthMaster users. Through a cron job (scheduled task) on the Dreamhost servers the subscribed reports are sent to users on the first day of every month.

New wards are easily added to the system by spawning a fresh (empty) template database which bears the name of the ward. The ward is then given a subdomain/url (i.e.houston4th.youthmaster.org). The system will then use the database which matches the subdomain. This segregates wards from one another's data and makes it very easy to scale and add new wards. It also has the benefit of allowing all wards to share the same code-base even though their data lives in separate places.

Starting with the release of YouthMaster v3.0 it has been rewritten to incorporate many industry standard software development best practices such as unit tests, continuous integration, selenium testing, object-oriented design patterns, etc.