Good tools have good docs. Period.

We believe that developer tools are only as good as their worst piece of documentation. Perk aims to always have complete, up to date and friendly documentation, so you're never stuck up the creek without a paddle.

Committed to not making your life harder.

Lots of dev tools claim to make your life easier. The Perk rule of thumb is that it should never be harder to do something using Perk than to roll it on your own. Perk strikes a balance between providing a handful of useful pre-built features out of the box, but not forcing them down your throat.

Stability over features.

Perk is built on stable, tried and true libraries including Passport, Express, Redis and Knex. It may never have the flavor of the month JavaScript features, but we promise that you won't have to re-learn it every 30 days either.

Programming should be fun and relaxing.

We believe that programming should be fun, relaxing and exciting, not stressful or tedious. Perks goal is to help you get past the tedious stuff, so that you can spend more time on the unique and interesting challenges of your specific project.

Perk Perks!

User authentication system

Pre-built and customizeable login & registration pages that support email / password authentication as well as common OAuth providers like Google, Twitter, Facebook, GitHub, etc.

Database connections

Using Knex and Bookshelf, Perk supports a variety of relational databases including MySQL, PostgreSQL, MSSQL, SQLite, etc. You also get well built ORM, query builder migrations and transaction support.

Configuration system

The configuration system allows you to add new configuration options as well as override default values locally or based on environment.

Error handling

Errors within Perk are all specified within a JSON configuration file, making it easy to change them on either the front-end or backend.

Front-end toolchain

Perks built-in lightweight toolchain allows ES6 to ES5 transpilation using Babel. It also supports JSX, Sass and front-end modules using either CommonJS or ES6 style imports / exports.

Simple deployment to heroku

Get your app up and running quickly by following a few steps to deploy to Heroku. Perk uses a standardized node set-up so no special customization is necessary to depoy with Heroku.

Flash messages

The perk flash message library provides a nice and easy way to pass data between pages. It's especially useful for handling errors.