Rebuilding MP3Unsigned #2 – Basic Site

Yesterday, I finished importing the data from the old database to the new. This is far from finished, because the export didn’t include some vital information as the field types, keys, or that ephemeral quality, what it all means.

The way I’m building the new version, it is in four separate parts:

  1. plain HTML “archive” version of site, perfect for search engines
  2. JavaScript overlay for progressive enhancement of site
  3. CSS themes, which you can switch between
  4. API, for the JavaScript and any external tools to talk to

Today I’m working on the first part, the plain HTML archive. Technically, I should really do the fourth part first so the HTML archive can build itself up using data provided from the API, but I want to get something visual today, so will fix this up yesterday (technical debt!).

On the front page, I want to show a list of all bands. Unfortunately, the old database is …not great… for this basic function. After reading the tables, I found that “bands” are a combination of the table “tblbands” and “subscribers”, such that the band is named after the subscriber’s username.

This is not great because it means subscribers can only be in one band at a time, and they can either use their own name, or the name of the band, but not both. I’ll fix that after phase one of the project (rebuilding the existing site) is done.

I wrote a small “router” that can rip apart the URL and use that to determine what page to display. In the new site, we will use a language code to determine what language to use for user interface strings. This code will always be the first item in the URL.

Long story short, here’s the absolute basics of the new site, in English, Irish, and Japanese.

This stage of the rebuild is not designed to be pleasant to look at. It’s designed to be very quick to load, so search engines can find the content easily.

The next stage is to create the API so that database access is done through only one part of the system, and all requests (from a client, from the base I just built, from third-party tools) go through that API system instead of directly to the database.

Getting to the current stage (visible band names, visible MP3 lists, playable MP3s) was important for morale reasons. Now we can really get building.

Leave a Reply

%d bloggers like this: