{"id":16744068,"url":"https://github.com/ravisuhag/jolly","last_synced_at":"2025-03-17T01:32:13.271Z","repository":{"id":36759031,"uuid":"41065697","full_name":"ravisuhag/jolly","owner":"ravisuhag","description":"Production ready boilerplate for hapi.js","archived":false,"fork":false,"pushed_at":"2017-06-24T04:18:30.000Z","size":1033,"stargazers_count":66,"open_issues_count":4,"forks_count":16,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-25T12:02:19.888Z","etag":null,"topics":["boilerplate","hapi","hapijs","mongodb","nodejs","reactjs","webpack"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ravisuhag.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-20T00:00:31.000Z","updated_at":"2023-11-03T17:11:50.000Z","dependencies_parsed_at":"2022-09-19T22:34:15.665Z","dependency_job_id":null,"html_url":"https://github.com/ravisuhag/jolly","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravisuhag%2Fjolly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravisuhag%2Fjolly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravisuhag%2Fjolly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravisuhag%2Fjolly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ravisuhag","download_url":"https://codeload.github.com/ravisuhag/jolly/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243836978,"owners_count":20355806,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate","hapi","hapijs","mongodb","nodejs","reactjs","webpack"],"created_at":"2024-10-13T01:42:22.077Z","updated_at":"2025-03-17T01:32:13.042Z","avatar_url":"https://github.com/ravisuhag.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Jolly\nProduction ready boilerplate for hapiJS \n\n\n## Technology\n\n- **Hapi** - Server side framework\n- **Handlebar** - HTML templating engine\n- **Mongoose** - Mongo database ORM\n- **SASS** - CSS preprocessor \n- **Gulp** - Javascript tasks automation\n- **WebPack** - Asset pipeline\n\nNote: For a detailed list of the toolsets used in jolly, please refer to [package.json](package.json). \n\n## Application Structure\n\nLet's take a tour of the app.\n```\n|\n| -- app\n|   |-- controllers        // Controllers are organised by module names\n|   |   |-- \u003cmodule_name\u003e  // Each controller defines config and handler for that route.\n|   |\n|   |-- helpers            // Helper functions used across application\n|   |-- models             // All mongoose models are defined here\n|   |-- routes             // All app routes are defined here\n|   |   |-- \u003croute_plugin\u003e // Route module is a hapi plugin and can be toggled from config/manifest.js\n|   |\n|   `-- templates          // All server-rendered handlebar templates, partials and helpers\n|       |-- \u003cmodule_name\u003e  // Templates are organised by module names.\n|   \n|-- assets                 // Contains all static resources \n|   |-- fonts              // Fonts used in application\n|   |-- images             // Images used in application\n|   |-- misc               // Misc resources used in application\n|   |-- scripts            // Client javscripts files which are then packed by webpack\n|   |-- styles             // All SASS stylesheets\n|   |   |-- \u003cmodule_name\u003e  // Styles are organised by module names. \n|   \n|-- config                 // Contains all app configurations\n|   |-- assets.js          // Assets configuration file\n|   |-- config.js          // Application configuration file which stores all passwords etc. (gitignore).\n|   |-- manifest.js        // App manifest file listing all plugins and load order. \n|   |-- meta.js            // App metadata file. \n|   \n|-- lib                    // Core application lib/plugins \n|-- tasks                  // Contains all gulp tasks \n|-- tests                  // Code tests\n|\n|-- gulpfile.js            // Gulp entry file \n|-- index.js               // Application starting point\n|-- package.js             // Package configuration file\n|-- server.js              // Main server file\n```\n\n## Code\n\nWe're using semi-colons and comma-last. No rhyme or reason; and some of the hapi [code convention guidelines](http://hapijs.com/styleguide). All client-side js code is also in commonJS pattern packs using webpack. Check out `.editorconfig`, `.jsbeautifyrc`, `.eslintrc` for additional code conventions used.\n\n## Running the server locally\n\n - Install  `node`, `npm`\n - Rename `config/config.example.js` to `config/config.js` folder.\n - Run these commands\n\n```sh\n# Install deps\n$ npm install\n\n# Run the node server\n$ npm start\n\n# \u003e jolly@1.0.0 start /Users/ravisuhag/Batcave/Workspace/ronin/Dev/jolly\n# \u003e gulp\n# \n# [16:48:55] Using gulpfile ~/Batcave/Workspace/ronin/Dev/jolly/gulpfile.js\n# [16:48:55] Starting 'fonts'...\n# [16:48:56] Starting 'images'...\n# [16:48:56] Starting 'misc'...\n# [16:48:56] Starting 'styles'...\n# [16:48:56] Finished 'styles' after 5.49 ms\n# [16:48:56] Starting 'webpack'...\n# [16:48:56] Finished 'webpack' after 73 ms\n# [16:48:56] Starting 'lint'...\n# [16:48:56] Starting 'nodemon'...\n# [16:48:56] Finished 'nodemon' after 1.99 ms\n# [16:48:56] [nodemon] v1.4.1\n# [16:48:56] [nodemon] to restart at any time, enter `rs`\n# [16:48:56] [nodemon] watching: *.*\n# [16:48:56] [nodemon] starting `node server.js`\n# [16:48:57] Finished 'images' after 1.98 s\n# [16:48:57] Finished 'misc' after 1.98 s\n# Server is listening on 8000\n\n```\nThe server should be running at [localhost:8000](https://localhost:8000).\n\n## Running tests\nLab is part of the hapi.js toolset and what we use to write all of our tests.\n\n```\n$ npm test\n# \u003e jolly@1.0.0 test /Users/ravisuhag/Batcave/Workspace/ronin/Dev/jolly\n# \u003e node node_modules/lab/bin/lab -a code -t 100\n\n# ..............\n\n# 6 tests complete\n# Test duration: 1370 ms\n# No global variable leaks detected\n# Coverage: 100.00%\n```\n\n## Contributers\n\n[See the awesome people!](https://github.com/ravisuhag/jolly/graphs/contributors)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravisuhag%2Fjolly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fravisuhag%2Fjolly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravisuhag%2Fjolly/lists"}