{"id":15599129,"url":"https://github.com/fluffynuts/conventional","last_synced_at":"2026-05-12T23:02:30.299Z","repository":{"id":34368941,"uuid":"38293836","full_name":"fluffynuts/conventional","owner":"fluffynuts","description":"A RequireJS/Angular/Gulp/Karma/Jasmine shell which gives a starting point to use these technologies in conjunction with a naming convention to make routing simpler","archived":false,"fork":false,"pushed_at":"2015-07-02T18:49:50.000Z","size":144,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-24T11:16:39.029Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fluffynuts.png","metadata":{"files":{"readme":"README.txt","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-30T07:15:58.000Z","updated_at":"2016-09-09T15:30:30.000Z","dependencies_parsed_at":"2022-09-14T06:32:07.190Z","dependency_job_id":null,"html_url":"https://github.com/fluffynuts/conventional","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fluffynuts/conventional","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluffynuts%2Fconventional","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluffynuts%2Fconventional/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluffynuts%2Fconventional/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluffynuts%2Fconventional/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fluffynuts","download_url":"https://codeload.github.com/fluffynuts/conventional/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluffynuts%2Fconventional/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32960295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-10-03T01:44:29.010Z","updated_at":"2026-05-12T23:02:30.263Z","avatar_url":"https://github.com/fluffynuts.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"1) install Node.js on your machine...\n\n2) install the required dependencies\n\u003e install_dependencies.bat\n\n(this just runs npm install in the root of the repo source and bower_install in \n    the app folder)\n\n3) To see it in action, in the source folder, do:\n\u003e gulp serve\n(you must have this site served over http as browsers will get stuck on loading\nviews from the filesystem)\n\n4) to run tests, in the source folder do:\n\u003e karma start\n\n5) the gulpfile and dependencies are taken from Web Starter Kit, so you can\n\u003e gulp\nto build a minified version of your site in the dist folder\n\n-----\nDevelopment:\n\nConventional uses a convention-over-configuration concept. Adding a new area\nof interest is easy:\n\n1) Edit the app/js/config.js to add a new route, eg:\n    'foo'       // if you want a controller with no route parameters\n    'foo/:id'   // to have a controller which gets id as a parameter, like\n                    the example app/js/controllers/edit.js does\n2) Add a controller with that route name as the prefix, ie:\n    app/js/controllers/foo.js\n    - you can use the app/js/controllers/__shell.js as a starting point or\n      look at the existing home.js and edit.js for pointers\n3) Add a view under views:\n    app/views/foo.html\n4) Add a specs file for your controller -- use\n    tests/specs/controllers/edit.spec.js as a starting point if you're not\n    sure how\n5) TDD your controller logic\n6) Don't forget to put the relevant stuff in your view!\n\nSome notes:\n1) You'll find the Angular documentation (mostly) helpful. But google is still\nyour friend\n2) RequireJS is cool, but may be a bit strange the first time you use it. Look\nat the existing examples and remember that a module is defined with a define()\nblock which first has an array of dependencies and then the actual modul\nfunction. Dependencies provide whatever they return out of the module\nfunction.\n3) \"gulp serve\" is magick. The good kind!\n4) You can use gulp to minify, but I'd only really bother with this if you\nwere about to deploy to a webserver somewhere. You could take this further and\nlearn about RequireJS' r.js to bundle your modules. YMMV, but I'm ok with\nkeeping my Javascript unbundled -- Require loads dependencies asynchronously\nand in parallel, so this is good enough for a lot of use cases.\n5) Karma is great -- but do watch your test count. I've had instances where\nkarma picks up a file change and then \"forgets\" about the tests in that file.\nIf you get that or no failure when you've just written a test before code,\nsimply add whitespace onto your test somewhere and re-save.\n6) I chose npm for the build system module provision and bower for the client\nmodules. Bower is more directed at client libraries, but node could have\nprovided those too. I'm not married to the choice -- it was a \"six of one,\nhalf-a-dozen of the other\" thing. I think that Bower is a little lighter with\nwhat is left in each module's folder, but I could be wrong. At any rate, the\ntwo systems work quite similarly and this setup doesn't require copying\nlibraries out to a lib folder in the app. Documentation for bower is easy to\nfind through The Google.\n7) This starter kit is very bare-bones. ON PURPOSE. One might extend this with\nWeb Starter Kit or Bootstrap or something similar, were One inclined.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluffynuts%2Fconventional","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffluffynuts%2Fconventional","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluffynuts%2Fconventional/lists"}