All Projects → ravisuhag → Jolly

ravisuhag / Jolly

Licence: mit
Production ready boilerplate for hapi.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Jolly

Mern
🎉 This is boilerplate for MERN stack with integrations like Redux and SSR 🎉
Stars: ✭ 77 (+13.24%)
Mutual labels:  webpack, mongodb, boilerplate
Express React Boilerplate
🚀🚀🚀 This is a tool that helps programmers create Express & React projects easily base on react-cool-starter.
Stars: ✭ 32 (-52.94%)
Mutual labels:  webpack, mongodb, boilerplate
Koa Vue Fullstack
A lightweight boilerplate for a universal webapp based on koa, mongodb, node, vue, and webpack
Stars: ✭ 126 (+85.29%)
Mutual labels:  webpack, mongodb, boilerplate
Aqua
💡 A website and user system starter
Stars: ✭ 1,391 (+1945.59%)
Mutual labels:  mongodb, hapi, boilerplate
React Ssr Boilerplate
A boilerplate for server-side rendered React Applications. Includes local auth and GitHub Oauth 2 strategies.
Stars: ✭ 85 (+25%)
Mutual labels:  webpack, mongodb, boilerplate
Mern Boilerplate
MERN stack project boilerplate
Stars: ✭ 211 (+210.29%)
Mutual labels:  webpack, mongodb, boilerplate
Frame
💡 A user system API starter
Stars: ✭ 741 (+989.71%)
Mutual labels:  mongodb, hapi, boilerplate
Whitestorm App Boilerplate
[WIP] WhitestormJS 2 App boilerplate
Stars: ✭ 42 (-38.24%)
Mutual labels:  webpack, boilerplate
Tris Webpack Boilerplate
A Webpack boilerplate for static websites that has all the necessary modern tools and optimizations built-in. Score a perfect 10/10 on performance.
Stars: ✭ 1,016 (+1394.12%)
Mutual labels:  webpack, boilerplate
Webvr Webpack Boilerplate
A webvr multi-scenes Single-page application for three.js, webpack
Stars: ✭ 47 (-30.88%)
Mutual labels:  webpack, boilerplate
Express React Hmr Boilerplate
A boilerplate for scaffolding production-ready MERN stack projects.
Stars: ✭ 51 (-25%)
Mutual labels:  webpack, boilerplate
Webxr Webpack Boilerplate
Starter Kit for building rich, immersive WebXR projects (featuring A-Frame) PWA with Webpack and SASS
Stars: ✭ 48 (-29.41%)
Mutual labels:  webpack, boilerplate
React Boilerplate
Production-ready boilerplate for building universal web apps with React and Redux
Stars: ✭ 53 (-22.06%)
Mutual labels:  webpack, boilerplate
Tested
Angular Material in MEAN Stack Website Source
Stars: ✭ 35 (-48.53%)
Mutual labels:  webpack, mongodb
Typescript Boilerplate
Start writing stuff in TypeScript without bothered by configurations
Stars: ✭ 35 (-48.53%)
Mutual labels:  webpack, boilerplate
Express Mvc Boilerplate
A simple mvc boilerplate for express.js (gulp + expressjs + nodemon + browser-sync)
Stars: ✭ 46 (-32.35%)
Mutual labels:  mongodb, boilerplate
Html Sass Babel Webpack Boilerplate
Webpack 4 + Babel + ES6 + SASS + HTML Modules + Livereload
Stars: ✭ 35 (-48.53%)
Mutual labels:  webpack, boilerplate
Icinema
A Full Stack MERN app with CRUD operations for theatres where users can search for movies that are available and admin can add a movie to the list and much more.
Stars: ✭ 51 (-25%)
Mutual labels:  mongodb, boilerplate
React Redux Typescript Boilerplate
A bare minimum frontend boilerplate with React 16, Typescript 3 and Webpack 4
Stars: ✭ 1,100 (+1517.65%)
Mutual labels:  webpack, boilerplate
Wertik Js
💪 A library that powers your app with GraphQL + Rest API
Stars: ✭ 56 (-17.65%)
Mutual labels:  mongodb, boilerplate

Jolly

Production ready boilerplate for hapiJS

Technology

  • Hapi - Server side framework
  • Handlebar - HTML templating engine
  • Mongoose - Mongo database ORM
  • SASS - CSS preprocessor
  • Gulp - Javascript tasks automation
  • WebPack - Asset pipeline

Note: For a detailed list of the toolsets used in jolly, please refer to package.json.

Application Structure

Let's take a tour of the app.

|
| -- app
|   |-- controllers        // Controllers are organised by module names
|   |   |-- <module_name>  // Each controller defines config and handler for that route.
|   |
|   |-- helpers            // Helper functions used across application
|   |-- models             // All mongoose models are defined here
|   |-- routes             // All app routes are defined here
|   |   |-- <route_plugin> // Route module is a hapi plugin and can be toggled from config/manifest.js
|   |
|   `-- templates          // All server-rendered handlebar templates, partials and helpers
|       |-- <module_name>  // Templates are organised by module names.
|   
|-- assets                 // Contains all static resources 
|   |-- fonts              // Fonts used in application
|   |-- images             // Images used in application
|   |-- misc               // Misc resources used in application
|   |-- scripts            // Client javscripts files which are then packed by webpack
|   |-- styles             // All SASS stylesheets
|   |   |-- <module_name>  // Styles are organised by module names. 
|   
|-- config                 // Contains all app configurations
|   |-- assets.js          // Assets configuration file
|   |-- config.js          // Application configuration file which stores all passwords etc. (gitignore).
|   |-- manifest.js        // App manifest file listing all plugins and load order. 
|   |-- meta.js            // App metadata file. 
|   
|-- lib                    // Core application lib/plugins 
|-- tasks                  // Contains all gulp tasks 
|-- tests                  // Code tests
|
|-- gulpfile.js            // Gulp entry file 
|-- index.js               // Application starting point
|-- package.js             // Package configuration file
|-- server.js              // Main server file

Code

We're using semi-colons and comma-last. No rhyme or reason; and some of the hapi code convention guidelines. All client-side js code is also in commonJS pattern packs using webpack. Check out .editorconfig, .jsbeautifyrc, .eslintrc for additional code conventions used.

Running the server locally

  • Install node, npm
  • Rename config/config.example.js to config/config.js folder.
  • Run these commands
# Install deps
$ npm install

# Run the node server
$ npm start

# > [email protected] start /Users/ravisuhag/Batcave/Workspace/ronin/Dev/jolly
# > gulp
# 
# [16:48:55] Using gulpfile ~/Batcave/Workspace/ronin/Dev/jolly/gulpfile.js
# [16:48:55] Starting 'fonts'...
# [16:48:56] Starting 'images'...
# [16:48:56] Starting 'misc'...
# [16:48:56] Starting 'styles'...
# [16:48:56] Finished 'styles' after 5.49 ms
# [16:48:56] Starting 'webpack'...
# [16:48:56] Finished 'webpack' after 73 ms
# [16:48:56] Starting 'lint'...
# [16:48:56] Starting 'nodemon'...
# [16:48:56] Finished 'nodemon' after 1.99 ms
# [16:48:56] [nodemon] v1.4.1
# [16:48:56] [nodemon] to restart at any time, enter `rs`
# [16:48:56] [nodemon] watching: *.*
# [16:48:56] [nodemon] starting `node server.js`
# [16:48:57] Finished 'images' after 1.98 s
# [16:48:57] Finished 'misc' after 1.98 s
# Server is listening on 8000

The server should be running at localhost:8000.

Running tests

Lab is part of the hapi.js toolset and what we use to write all of our tests.

$ npm test
# > [email protected] test /Users/ravisuhag/Batcave/Workspace/ronin/Dev/jolly
# > node node_modules/lab/bin/lab -a code -t 100

# ..............

# 6 tests complete
# Test duration: 1370 ms
# No global variable leaks detected
# Coverage: 100.00%

Contributers

See the awesome people!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].