Skip to content
“Happy Lager” Craft CMS demo site.
Branch: master
Clone or download
Latest commit bdc5a41 Aug 7, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Craft 3.2.0 Jul 9, 2019
modules Initial conversion Feb 16, 2018
storage Logos Feb 16, 2018
templates Get rid of some deprecation warnings. Sep 17, 2018
web Fix build Feb 16, 2018
.env.example Craft 3.2.0 Jul 9, 2019
.gitignore Tweak ignore Feb 16, 2018 Initial conversion Feb 16, 2018 Craft 3.2.0 Jul 9, 2019
composer.json Craft 3.2.5 Jul 19, 2019
composer.lock composer update Aug 6, 2019
craft Initial conversion Feb 16, 2018
craft.bat Initial conversion Feb 16, 2018
gruntfile.js Fix build Feb 16, 2018
happylager.sql Craft 3.2.6 Jul 23, 2019
package-lock.json Include lockfile Feb 16, 2018
package.json adding new sass structure. About page styles Sep 14, 2014

Craft demo site

This repo contains all of the templates, front-end resources, and a MySQL database backup for “Happy Lager”, a Craft demo site.

You can find out more about Craft at


Happy Lager takes advantage of several Craft features:


The content in Happy Lager is managed from the following sections:

  • Four “Single” sections:
    • Homepage
    • About
    • Services Index
    • Work Index
  • Two “Channel” sections:
    • News
    • Work
  • Two “Structure” sections:
    • Locations
    • Services

Entry Types

The News section has two entry types:

  • Article – used to store news articles
  • Link – used to store links to articles on other websites

Matrix Fields

This site has the following Matrix fields:

  • Article Body – used to store the varying content of the About page and News, Services, and Work entries.
  • Contact Methods – used to store Locations’ various contact methods.
  • Services Body – used to store information about the Services.
  • Testimonials – used to store the Homepage testimonials.


This site has the following relational fields:

  • Services Performed (Entries) – used to relate Work entries to the relevant Services entries.
  • Client Logos (Assets) – used to related the Homepage to the logos that should be displayed in the “Our Best Drinking Buddies” section.
  • Featured Image (Assets) – used to relate a featured image to News, Work, Services, and Locations entries.
  • Featured Thumb (Assets) – used to relate a featured thumbnail to Work entries.
  • Hero Image (Assets) – used to relate a hero image to the Homepage.
  • Service Icon (Assets) – used to relate an icon to Services entries.
  • There are additional Assets fields within the “Article Body” and “Service Body” Matrix fields.


This site has the following asset volumes:

  • Site Assets – used to store all miscellaneous site imagery.
  • Company Logos – used to store the company logos that are displayed on the Homepage.
  • Service Icons – used to store Services’ icons.


You can check out Happy Lager online from

If you want to install the site locally, follow these instructions:

  1. Download/clone the repo on your computer:

    git clone happylager.test
  2. Run composer install within the clone:

    cd happylager.test
    composer install
  3. Copy the .env.example file at the root of the project to .env, and set its DB_SERVER, DB_USER, and DB_PASSWORD variables to the correct values. (If you’re on a Mac, you may need to type Command + Shift + . in Finder to show hidden files.)

  4. Ensure that the following files and directories have permissions that will allow PHP to read and write to them:

    • .env
    • composer.json
    • composer.lock
    • config/license.key
    • storage/*
    • vendor/*
    • web/cpresources/*
  5. Create a new MySQL database called happylager, and import happylager.sql into it.

  6. Create a new virtual host with the hostname happylager.test that points to the happylager.test/web/ folder.

  7. Edit your hosts file to resolve happylager.test to, if necessary.

Now point your browser at http://happylager.test. You should see the Happy Lager homepage.

Logging in

The Craft Control Panel is located at http://happylager.test/admin. You can log in with the following credentials:

  • Username: admin
  • Password: password
You can’t perform that action at this time.