Skip to content

Mojolicious example with DBIx::Class schema load, deploy, fixtures, and tests.

Notifications You must be signed in to change notification settings

mohawk2/MojoExample

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Purpose of this GraphQL-orientated fork

To demonstrate GraphQL on Mojolicious working with a DBIx::Class database. Follow the GraphiQL link and try this query:

{
  blog(id: [1, 2]) {
    id
    title
    tags {
      name
    }
  }
}

Purpose

Notes

  • Both apps make use of the DBIx::Class schema.
  • The schema is in lib/Schema.pm, lib/Schema/*
  • The DBIx::Class schema connects to a provided sqlite3 database, test.db
  • The controller tests create a new test.db, populated using fixtures from t/fixtures/*
  • The schema tests use an in-memory sqlite3 database, populated using fixtures from t/fixtures/*
  • Test::Database is a utility for populating the sqlite3 databases with fixtures from t/fixtures/*

Usage

Live

Running on Heroku

Heroku is running Hypnotoad, the full featured UNIX optimized preforking non-blocking I/O HTTP 1.1 and WebSocket server built around the very well tested and reliable Mojo::Server::Daemon with IPv6, TLS, Bonjour, libev and hot deployment support that just works.

To easily deploy your own Mojolicious app to Heroku, check out Deploy Perl Mojolicious web apps to Heroku.

Locally

A minimum of Perl 5.10 is required. If your Perl is too old, Perlbrew is über easy to install!

If you must run on Perl 5.8, you can try a back-ported version of Mojolicious, but you're on your own :)

Install

git clone git@github.com:tempire/MojoExample.git
cd MojoExample

Install the Carton package manager. Carton will install all dependencies to the local/ sub-directory.

curl -L cpanmin.us | perl - Carton
carton install

Run

Full app

carton exec morbo script/mojo_full

Light app

carton exec morbo mojolite

Index

Copyright License

Copyright (C) 2008-2014, Glen Hinkle.

MojoExample is free software, you can redistribute it and/or modify it under the same terms as Perl5 (http://dev.perl.org/licenses/).

About

Mojolicious example with DBIx::Class schema load, deploy, fixtures, and tests.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Perl 93.6%
  • CSS 4.9%
  • Other 1.5%