All the stuff from v0.0.1 is still valid, but I’m focusing on a smaller subset of problems for 1.0:
- CRUD of show metadata [place, time, etc.]
- Setlisting of shows.
Everything else is a bit ambitious, and I want to release code this year. In fact, I’ve resolved to do just that. The rest of it will just have to wait for future revisions … because honestly, I want to break the cycle with every free and open package I see, which is a long pre-1.0 period with perfectly good code in there, a post-1.0 bugfix period, and then a complete architecture revision for 2.0. Blah. I’m okay with frequent major revision rolls to reflect new featuresets.
Onward to the planning of the database schema to do this reduced scope! [Remember, I am an aerospace engineer. My “programming” course in college was FORTRAN 77.]
In developing ShowInfo, I’ve been following the database design process laid out by Michael J. Hernandez in his text, Database Design for Mere Mortals™. [Readers of my regular Weblog will note that I picked this book up some time ago].
Hernandez’s first step is to develop a mission statement and mission objectives for the database being developed. He explains his rationale as follows:
The first phase in the database design process involves defining a mission statement and mission objectives for the database. The mission statement establishes the purpose of the database and provides you with a distinct focus for your design work.
— pg. 79, Database Design for Mere Mortals™
I’ve seen too many projects out there that seem to have never had an initial focus, instead choosing to hack around and then let the focus develop as time and code pass. I’m prone to that myself, so I’m being regimental in holding myself to this standard.
As such, I’ve developed the following mission statement for Show Info:
ShowInfo Mission Statement
The purpose of ShowInfo is to maintain show information, allow users to indicate their presence at a show and view those attending, and to facitilitate sharing of concert experiences after the show.
ShowInfo Mission Objectives
- ShowInfo must maintain data pertinent to attending concerts.
- ShowInfo must allow users to indicate shows that they will/might attend, as well as shows that they have attended in the past.
- ShowInfo must allow users to maintain setlist and concert photo data.
- ShowInfo must create reports of future shows.
- ShowInfo must archive data about previous shows.
The second step in the ShowInfo development process will be developing the preliminary table and field lists.
ShowInfo is now a hosted project at SourceForge.net: ShowInfo.
I’d like to announce ShowInfo, the concert information database that I’m working up to power the [rocksmyfaceoff.net] family of band fan-sites.
I’ve submitted a request for hosting on SourceForge, and I’m working through the database design with the help of Michael J. Hernandez’s Database Design for Mere Mortals™. I should have a mature database design within the next month; as I complete interim steps in Hernandez’s design process, I’ll be posting that data here for any who might be interested.