https://github.com/codemeasandwich/hopjs
Full-Stack JS
https://github.com/codemeasandwich/hopjs
Last synced: 12 months ago
JSON representation
Full-Stack JS
- Host: GitHub
- URL: https://github.com/codemeasandwich/hopjs
- Owner: codemeasandwich
- License: mit
- Created: 2016-01-06T18:10:26.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-06-12T16:03:24.000Z (about 10 years ago)
- Last Synced: 2025-03-29T13:27:57.991Z (over 1 year ago)
- Language: JavaScript
- Size: 278 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](http://hopjs.com)
[](https://github.com/codemeasandwich/HopJS)
[](http://doge.mit-license.org)
[](https://travis-ci.org/codemeasandwich/HopJS)
[](https://coveralls.io/github/codemeasandwich/HopJS?branch=master)
Hop.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.
### This Frame work is build on [](https://github.com/nodejs/node/blob/v6.2.1/doc/changelogs/CHANGELOG_V6.md#6.0.0) [](https://www.npmjs.com/)
[](http://sailsjs.org/)
[](http://backbonejs.org/)
[](http://facebook.github.io/react/)
[](https://react-bootstrap.github.io/)
[](http://webpack.github.io/)
The Client uses **Flux** built using Backbone [events](http://backbonejs.org/#Events). A simple implementation example can be found [here](http://jsfiddle.net/codemeasandwich/bsj8onr8/).

### features
* Client side routes with real URLs, not hash links
* routes will automatically trailing slashes routes for completeness
* All page receive full address information. Brake down of, URL fragments & Query augments
* Flux store exposes
* Server DB Modles as backbone model
* Moke model helps for attribute and form inputs
* Language Extensions available in the frontend and backend
* Automatic wiring of UI actions to business logic
## editing
**That are 4 areas when editing**
1. Application logic [/assets/js/logic/...](https://github.com/codemeasandwich/HopJS/tree/master/assets/js/logic)
2. User interface [/assets/js/views/...](https://github.com/codemeasandwich/HopJS/tree/master/assets/js/views)
3. Storage logic [/api/models/...](https://github.com/codemeasandwich/HopJS/tree/master/api/models)
4. Application config [/config/platform.js](https://github.com/codemeasandwich/HopJS/tree/master/config/platform.js)
### install
```
git clone https://github.com/codemeasandwich/HopJS.git
cd HopJS
npm install
```
If you don´t have [nodemon](http://nodemon.io/) installed
```
npm install -g nodemon
```
Nodemon is a utility that will monitor for any changes in your source and automatically restart your server.
### start server
in HopJS directory, enter the command
```
./hop
```
Now you can check out the server running on
[localhost:2020](http://localhost:2020)
### testing
```
npm test
```
#### todo
* unit-tests
* ES6 -> ES5/4 transforms
* Error Logging
* Client side localisation
* [React Hot Loader](https://gaearon.github.io/react-hot-loader/)
* [Live-Reload](https://github.com/wladiston/sails-browsersync-example)
* JSX not watched by Nodemon
* set code style
* compress & hide source map for Production!
* 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)
#### random commands
``npm test``
``istanbul cover node_modules/mocha/bin/_mocha -- -R spec tests/index``
[](https://badge.fury.io/gh/codemeasandwich%2FHopJS)