Quick Start
This quick start guide will help you get a full stack web application running in just a few minutes by leveraging maze’s code generators.
It will take us just 7 steps. Let’s get started!
1. Install dependencies
1.1 Install crystal and maze
crystal and mazeInstructions for OS X using homebrew and Debian/Ubuntu are below. See full installation instructions here for RedHat & CentOS, ArchLinux & Derivatives, and more complete instructions.
OS X with homebrew
Installing crystal with homebrew
brew update
brew install crystal-langUbuntu or Debian
First install crystal and required libraries
curl https://dist.crystal-lang.org/apt/setup.sh | sudo bash
sudo apt-get install -y build-essential crystal git libreadline-dev libsqlite3-dev libpq-dev libmysqlclient-dev libssl-dev libyaml-devThen install maze (from github)
sudo apt-get install
git clone https://github.com/mazeframework/maze.git
cd maze/
shards build maze
sudo cp bin/maze /usr/local/bin1.2 Install a database
Maze works with postgresql (default), mysql, or sqlite.
If you don’t already have one of these installed, please follow the guides provided by each database maintainer:
2. Generate a new Maze application
With all dependencies successfully installed, we can generate a new application with maze new
After the code for the new application is generated, we will cd into the new directory and execute a shards install.
The shards install command may take a little while - it has to download all shard dependencies.
maze new pet-tracker
cd pet-tracker
shards install3. Generate a resource
With the skeleton application generated, we can generate our first RESTful resource.
The maze generate scaffold command will help us do this.
maze g scaffold Pet name:string breed:string age:integer4. Create and migrate the database
Generating the application and the scaffolded resource provides the configuration and migration files needed to setup our database.
maze db will help us do this.
maze db create migrateThis will create a new database and run the migration to create a pets table with the specified columns.
5. Build the application and run the server
We can use maze watch to both build the binary application and start the server. Additionally, maze watch will detect code changes then recompile and restart the application automatically.
maze watch6. Use your brand new web application!
Open any browser and goto http://localhost:3000 You should see a home page load and “Pets” in the nav bar. If you click on the “Pets” link, you should be able to perform all 7 RESTful actions for the “pets” resource.
7. Deploy your web application
DeploymentList of Commands
You can use these commands to create new awesome applications :-)
maze new pet-tracker
cd pet-tracker
shards install
maze generate scaffold Pet name:string breed:string age:integer
maze db create migrate
maze watchDemo
Here is a demo and the source code is available on Github.

Last updated