Lad is designed according to three core beliefs.
- Adhere to MVC, Unix, KISS, YAGNI and Twelve Factor principles
- Design for a scrappy, bootstrapped, and ramen-profitable hacker
- Stay simple, modern, lightweight, stellar, highly-configurable, and developer-friendly
Lad boasts dozens of features and is extremely configurable.
The following is a brief list of features; as you use Lad you will discover more.
- Webapp server (via
app.js
) - API server (via
api.js
) - Job server (via
agenda.js
) - Proxy server (via
proxy.js
)
- Pug
- Bootstrap 4
- Font Awesome
- SpinKit
- SweetAlert2
- Dense
- Waypoints
- LiveReload
- Frisbee
- Redis, sessions, and flash messaging
- Koa-based webapp and API servers
- RESTful API with BasicAuth and versioning
- Agenda-based job scheduler with cron and human-readable syntax
- Passport-based authentication and group-based permissioning
- Stripe-inspired error handling with Boom
- Mongoose and MongoDB with common database plugins
- Email template engine with Nodemailer and local rendering
- Proxy eliminates need for Nginx reverse-proxy or Apache virtual hosts
- Multilingual through i18n and i10n
- Automatic phrase translation with Google Translate
- Sitemap generator for simple SEO
- Compression and zero-bloat approach
- Stream-based file uploading
- Graceful reloading, shutdown, and reconnection handling
- Manifest asset revisioning
- Amazon S3 and CloudFront ready
- Database security plugins and helpers
- Automated tests and code coverage
- CSRF, XSS, and rate limited protection
- Dotenv support for environment-based configurations
- App, user, and request-based logging
- SSL-ready
We strictly support Mac and Ubuntu-based operating systems (Windows might work).
Please ensure your operating system has the following software installed:
-
Git - see GitHub's tutorial for installation
-
MongoDB (v3.x+):
-
Mac (via brew):
brew install mongodb
-
Ubuntu:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list sudo apt-get update sudo apt-get -y install mongodb-org
-
-
Redis (v4.x+):
-
Mac (via brew):
brew install redis
-
Ubuntu:
sudo add-apt-repository -y ppa:chris-lea/redis-server sudo apt-get update sudo apt-get -y install redis-server
-
npm:
npm install -g lad
yarn:
yarn global add lad
lad new-project
cd new-project
- Follow us on Twitter
- Join our Slack channel
- Subscribe to our Twitch channel
- Visit Koa's Community section.
Name | Website |
---|---|
Nick Baugh | http://niftylettuce.com |
Lad, Lass, and their respective logos are trademarks of Niftylettuce LLC. These trademarks may not be reproduced, distributed, transmitted, or otherwise used, except with the prior written permission of Niftylettuce LLC. If you are seeking permission to use these trademarks, then please contact us.