Nails
An Opensource PHP FrameKit for Developers

Features

Rapid Installation

Using Homebrew, Composer & Bower, you can be coding within minutes

MVC Framework

Based on CodeIgniter, Nails is a simple, tried and tested PHP MVC framework

Database Management

Nails manages MySQL database migrations on installation and upgrade

Security & Encryption

Advanced authentication options, social signon & security questions

Admin Interface

Give clients admin facilities with complete control over permissions

CMS Module

Nails has a highly customisable content management system

Blog Module

Install multiple blogs, with customisable skins within Nails

Shop Module

Nails has a powerful, customisable e-commerce module

CDN Tools

Easily integrate with S3 & CloudFront and crop & scale on the fly

Built-in API

Nails comes with a nice and simple API, ready for you to integrate

Helper Methods

Helpers make arduous tasks such as form building quick and easy

Events & Logging

Log user and system events at any point in the application

Explore

Nails, in a nutshell

Nails is an opensource PHP framekit (keep reading...). Super quick and easy to install and work with, it contains numerous handy modules to suit the most common use cases.

Nails is not an out-of-the-box, plug-and-play CMS, blogging platform or shopping platform (like WordPress, Drupal, ExpressionEngine); it is a tool for developers, allowing them to build any type of site efficiently and effectively without hacking a tool that doesn't quite fit their needs.


What is a framekit?

We don't really know, but it definitely isn't a banana. You see, Nails started out as CodeIgniter (a PHP framework) and over time has evolved into an improved core tool with a collection of time-saving helpers and some pretty chunky optional functional modules. This allows Nails to run as a super basic static site; a blog; a shop; or whatever else you can dream up, without too many overheads and without having to re-shape an existing platform into something else altogether. Therefore, we think, Nails is a framework + toolkit, aka a Framekit.


What can I build with Nails?

Whether your client needs an online booking platform for their pet goldfish hire business or a place to sell their earwax candles, Nails fits the bill. You can build anything you like.

Nails core comes with all the essentials you'd expect such as session management, admin, logging, error catching, routing and a whole bunch of handy helpers and tools. Plonk in some controllers and views and you have a static site. Hook into the API, install the auth module and you can start building some nice client-facing interactive stuff. Install some more modules and you've got a CMS, a blog or a shopping platform - all with session management, native and social authentication, system emails, cron jobs etc. Crack on.


Is it easy to use?

Yes. Although there will be a small learning curve. A quick read through the docs and a test installation should set any moderately experienced PHP developer up. It's even easier for those who have some experience using CodeIgniter or similar

The Nails community is small but growing. Feel free to get in touch with any questions or suggestions!

Download

Install on the Command Line

The easiest way to manage nails is using the Nails Command Line Utility, which is distributed via Homebrew. Issue the following commands to get the Nails utility:

$ brew tap nailsapp/nailsapp
$ brew install nails

From now on, to create a new site, simply:

$ nails new my-awesome-site

Download

Download the latest stable release direct

Download

Github

Grab the source + modules and contribute on Github

Fork Away

Documentation

Quick Start Guide

TL/DR? This quick start guide will take you through a basic installation. First and foremost, you'll need a Mac* with Homebrew installed.

  1. Get the Nails Command Line Tool, if you haven't already:
    $ brew tap nailsapp/nailsapp
    $ brew install nails
  2. Set up an empty MySQL database.
  3. Change to your "Sites" directory:
    $ cd ~/Sites
  4. Run the Nails installer and follow the instructions on screen:
    $ nails new myAwesomeSite
  5. Hit up your URL and you should see the Nails welcome page. Jump in and start editing application/controllers/home.php and application/views/home.php and you've got a basic static site.

*Windows users - read this

Read the Docs

Once you've managed to get a Nails site running your next step is to check out the documentation.

There's plenty of information in the use guides, or dive straight into the API if that's more your thing.

User Guides API Documentation

Developers

Who created this monster?

Primarily, Pablo (@hellopablo), with a little help from Gary (@gsdd), both of whom run Shed in Shoreditch, London. Shed is a full time digital development agency who continue to develop Nails and the community of developers involved in it. If you would like to get involved, or request assistance - feel free to get in touch.


Contribute to Nails

If you would like to contribute code to Nails, feel free to fork any of the modules, including the core/system modules on Github. We're open to any ideas, no matter how crazy... so don't be shy!


I need a Nails developer!

Any talented PHP developer can work with Nails. Nails is growing slowly but surely; just like the support network and documentation. If you require assistance, you can first and foremost contact the team at Shed, who will be more than happy to help, or point you in the direction of someone that'll suit your needs.