Screenshot of Brian May Music site

This was the first full-fledged Rails project I built, and it’s given me a chance to experiment with some cool features in Rails. The design direction was “analog,” and this shows throughout the site.

The blog page looks like an open book with the table of contents on the left-hand page and the article on the right. I used AJAX to load the selected article when the user clicks on a title in the table of contents.

The home page (in photo above) and blog both use unique designs that couldn’t be scaled well or shifted smoothly for smaller screens. Rails 4.1 introduced a new feature called variants that worked out perfectly in this situation, allowing me to use a different template for these pages when the request comes from a mobile device.

Visitors can send a message through the Contact Form. Submitting the form sends an email to the site owner with the contents of the message, and messages can also be viewed from the admin dashboard.

The admin dashboard features a WYSIWYG text editor for creating and editing blog posts and enables the site owner to upload chord charts and song information.

More features will be coming as the site owner is ready for them, but the music and blog pages are up and running now.

Technologies Used:

  • Ruby on Rails
  • AJAX
  • jQuery
  • HTML/CSS
  • Heroku
  • SendGrid (sending email from the site)
  • AWS S3 (file storage)
  • AWS CloudFront (content delivery network)
  • Devise (user authentication)
  • Google Apps for Work (email address on custom domain)

Links: