{"id":19151502,"url":"https://github.com/sc5/backbone-serverside-koa","last_synced_at":"2026-06-20T17:31:39.966Z","repository":{"id":14814979,"uuid":"17537455","full_name":"SC5/backbone-serverside-koa","owner":"SC5","description":"This is an example on how to build, package and run an isomorphic Backbone application.","archived":false,"fork":false,"pushed_at":"2014-03-21T05:19:49.000Z","size":212,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-22T20:48:19.500Z","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/SC5.png","metadata":{"files":{"readme":"README.md","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":"2014-03-08T07:32:23.000Z","updated_at":"2015-05-07T15:15:00.000Z","dependencies_parsed_at":"2022-08-03T02:00:15.548Z","dependency_job_id":null,"html_url":"https://github.com/SC5/backbone-serverside-koa","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SC5/backbone-serverside-koa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SC5%2Fbackbone-serverside-koa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SC5%2Fbackbone-serverside-koa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SC5%2Fbackbone-serverside-koa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SC5%2Fbackbone-serverside-koa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SC5","download_url":"https://codeload.github.com/SC5/backbone-serverside-koa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SC5%2Fbackbone-serverside-koa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34580039,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-11-09T08:14:51.534Z","updated_at":"2026-06-20T17:31:39.947Z","avatar_url":"https://github.com/SC5.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Backbone Serverside, KOA example\n\nThis is an example on how to build, package and run an isomorphic Backbone application. It is\nbased on [Gulp BoBrSASS Boilerplate](https://github.com/SC5/gulp-bobrsass-boilerplate) and\ndemonstrates the use of [Backbone Server-side Adapters](https://github.com/SC5/backbone-serverside-adapters).\n\n## How does it work?\n\nNode.js can execute JavaScript in a sandbox that does not pollute node.js global scope.\nThis sandbox has no node.js globals or anything, so it is a perfect clean slate for\nexecuting isomorphic apps in a sandbox. The isomorphic app is compiled, and when a\nHTTP request arrives, the application script is executed in a new context in its own\nsandbox. This permits the\n\nBrowserify creates self-contained application bundles which fits to the idea of running\napplications in isolation. In theory, this permits storing the contexts between requests,\nso contrary to several earlier approaches, we could simulate stateful browsing between pages\nusing this approach.\n\n## Installation\n\nIf you don't already have node.js 0.11.9 or later, fetch it from\n[nodejs.org](http://www.nodejs.org/). In addition we need a few dependencies\nyou may have.\n\n    \u003e npm install -g gulp\n\nIn addition, you will need [Ruby](https://www.ruby-lang.org/en/downloads/) to use\nCompass framework for compiling SASS stylesheets into CSS and sprite sheets:\n\n    \u003e gem update --system\n    \u003e gem install sass\n    \u003e gem install compass\n\nNote that you may need to first uninstall other SASS versions than (3.2.x).\n\nInstalling the project itself is easy. Both build system dependencies and app dependencies are\ntriggered by\n\n    \u003e npm install\n\nIt actually performs a release build, too (to verify that everything is ok).\n\n## Building\n\nThe build is based on BoBrSASS, so the same commands apply. What you will need here to get started is:\n\n    \u003e npm install     # to install \u0026 update dependencies\n    \u003e gulp            # for builds\n    \u003e gulp clean      # for cleanup\n    \u003e gulp watch      # to monitor source code changes\n    \u003e npm start       # to start the server\n\n## Running the Service\n\nTo start the service, you need to first need to have a successful build. Then start the service:\n\n    \u003e npm start\n\nYou are perfectly able to run 'gulp watch', the server will listen to modifications in 'index.html'\nand 'bundle-server.js'. You may want to turn off server-side or client-side processing by using\nthe query string parameters\n\n    http://localhost:8080/?browser=off\n    http://localhost:8080/?server=off\n\n##  Extending \u0026 Hacking\n\n###  Project layout\n\n#### App\n\n    src/                    The client-side source code\n    src/index.html          The HTML entry point, stub page\n    src/app                 Application source code\n    src/app/main.js         The browser app JS entry point\n    src/app/main-server.js  The server app JS entry point\n    src/app/app.js          The common root- dependency pulled by both entry points\n    src/components          The 3rd party JS dependencies\n    src/css                 The CSS templates\n\n####  Build System\n\n    gulpfile.js             The Gulp build configuration\n    bower.json              The Bower components\n    .bowerrc                The Bower directory overrides\n    package.json            The build level dependencies\n\n### Build Results\n\n    dist/bundle-server      The build results (browser and server bundles)\n    dist/index.html         The HTML stub that is transformed by the server\n    dist/assets/            Static assets (everything that browser loads except html\n\n## TODO\n\n* Source map support for the server-side bundles. Now debugging is real hard!\n* Demonstrate user sessions, e.g. how the app state is stored between requests\n\n## Release History\n\n* 2014/03/07 - v0.1.0 - Initial commit (a working example)\n\n## License\n\nCopyright (c) 2014 [SC5 Online](http://sc5.io/), licensed for users and contributors under\n[MIT license](http://opensource.org/licenses/MIT).\n\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/SC5/backbone-serverside-koa/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsc5%2Fbackbone-serverside-koa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsc5%2Fbackbone-serverside-koa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsc5%2Fbackbone-serverside-koa/lists"}