{"id":15603365,"url":"https://github.com/codemeasandwich/hopjs","last_synced_at":"2025-07-29T19:17:11.007Z","repository":{"id":71445799,"uuid":"49152588","full_name":"codemeasandwich/HopJS","owner":"codemeasandwich","description":"Full-Stack JS","archived":false,"fork":false,"pushed_at":"2016-06-12T16:03:24.000Z","size":285,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T13:27:57.991Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codemeasandwich.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-06T18:10:26.000Z","updated_at":"2022-10-29T21:34:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"54dc151e-3134-49d2-b8c8-9b23f177a447","html_url":"https://github.com/codemeasandwich/HopJS","commit_stats":{"total_commits":59,"total_committers":4,"mean_commits":14.75,"dds":"0.13559322033898302","last_synced_commit":"9d6021790da995855c084c5ee719fc56fc37e781"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/codemeasandwich/HopJS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemeasandwich%2FHopJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemeasandwich%2FHopJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemeasandwich%2FHopJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemeasandwich%2FHopJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codemeasandwich","download_url":"https://codeload.github.com/codemeasandwich/HopJS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codemeasandwich%2FHopJS/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259610327,"owners_count":22884239,"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":[],"created_at":"2024-10-03T03:02:58.003Z","updated_at":"2025-06-13T08:33:36.482Z","avatar_url":"https://github.com/codemeasandwich.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![HopJS Logo](https://raw.githubusercontent.com/codemeasandwich/HopJS/master/hopjs.png)](http://hopjs.com)\n\n[![Version](https://img.shields.io/badge/HopJS-0.3.2-47AD9E.svg)](https://github.com/codemeasandwich/HopJS)\n[![License](http://img.shields.io/:license-mit-blue.svg)](http://doge.mit-license.org)\n[![build](https://api.travis-ci.org/codemeasandwich/HopJS.svg)](https://travis-ci.org/codemeasandwich/HopJS)\n[![Coverage Status](https://coveralls.io/repos/github/codemeasandwich/HopJS/badge.svg?branch=master)](https://coveralls.io/github/codemeasandwich/HopJS?branch=master)\n\n\nHop.js is a Full-stack Javascript framework that unify fround and backend code. The aim is to share; views, modles and controlle login for maximum code reuse.\n\n### This Frame work is build on [![NodeJs](https://img.shields.io/badge/node-6.0.0-brightgreen.svg)](https://github.com/nodejs/node/blob/v6.2.1/doc/changelogs/CHANGELOG_V6.md#6.0.0) [![npm](https://img.shields.io/badge/npm-3.8.6-green.svg)](https://www.npmjs.com/) \n\n[![Server](https://img.shields.io/badge/Sails.js-0.12.3-46AAC0.svg)](http://sailsjs.org/) \n[![Client](https://img.shields.io/badge/Backbone-1.3.3-0071B5.svg)](http://backbonejs.org/) \n[![View](https://img.shields.io/badge/React.Js-0.14.6-00D8FF.svg)](http://facebook.github.io/react/) \n[![UI](https://img.shields.io/badge/BootStrap+React-0.29.3-blue.svg)](https://react-bootstrap.github.io/) \n[![Build](https://img.shields.io/badge/Webpack-1.12.9-lightgrey.svg)](http://webpack.github.io/)\n\nThe Client uses **Flux** built using Backbone [events](http://backbonejs.org/#Events). A simple implementation example can be found [here](http://jsfiddle.net/codemeasandwich/bsj8onr8/).\n![flux](https://facebook.github.io/flux/img/flux-simple-f8-diagram-1300w.png)\n\n### features\n* Client side routes with real URLs, not hash links\n  * routes will automatically trailing slashes routes for completeness\n  * All page receive full address information. Brake down of, URL fragments \u0026 Query augments\n* Flux store exposes\n  * Server DB Modles as backbone model\n  * Moke model helps for attribute and form inputs\n* Language Extensions available in the frontend and backend\n* Automatic wiring of UI actions to business logic\n\n## editing\n\n**That are 4 areas when editing**\n\n1. Application logic [/assets/js/logic/...](https://github.com/codemeasandwich/HopJS/tree/master/assets/js/logic)\n2. User interface [/assets/js/views/...](https://github.com/codemeasandwich/HopJS/tree/master/assets/js/views)\n3. Storage logic [/api/models/...](https://github.com/codemeasandwich/HopJS/tree/master/api/models)\n4. Application config [/config/platform.js](https://github.com/codemeasandwich/HopJS/tree/master/config/platform.js)\n\n### install\n```\ngit clone https://github.com/codemeasandwich/HopJS.git\ncd HopJS\nnpm install\n```\n\nIf you don´t have [nodemon](http://nodemon.io/) installed\n```\nnpm install -g nodemon\n```\nNodemon is a utility that will monitor for any changes in your source and automatically restart your server.\n\n### start server\nin HopJS directory, enter the command\n```\n./hop\n```\nNow you can check out the server running on\n\n[localhost:2020](http://localhost:2020)\n\n### testing\n```\nnpm test\n```\n\n#### todo\n* unit-tests\n* ES6 -\u003e ES5/4 transforms\n* Error Logging\n* Client side localisation\n* [React Hot Loader](https://gaearon.github.io/react-hot-loader/)\n* [Live-Reload](https://github.com/wladiston/sails-browsersync-example)\n* JSX not watched by Nodemon\n* set code style\n* compress \u0026 hide source map for Production!\n* webpack [assets CSS + FONTS](https://webpack.github.io/docs/loaders.html) [*](https://webpack.github.io/docs/using-loaders.html) [+](https://webpack.github.io/docs/list-of-loaders.html)\n\n#### random commands\n``npm test``\n\n``istanbul cover node_modules/mocha/bin/_mocha -- -R spec tests/index``\n\n[![GitHub version](https://badge.fury.io/gh/codemeasandwich%2FHopJS.svg)](https://badge.fury.io/gh/codemeasandwich%2FHopJS)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodemeasandwich%2Fhopjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodemeasandwich%2Fhopjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodemeasandwich%2Fhopjs/lists"}