{"id":17166385,"url":"https://github.com/andreaferretti/react-stack","last_synced_at":"2025-10-05T22:44:56.456Z","repository":{"id":13310008,"uuid":"15996476","full_name":"andreaferretti/react-stack","owner":"andreaferretti","description":"Skeleton of a React - Coffeescript - Require.js app","archived":false,"fork":false,"pushed_at":"2015-02-13T09:18:22.000Z","size":237,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T17:53:11.752Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"CoffeeScript","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/andreaferretti.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-01-17T10:13:20.000Z","updated_at":"2017-01-26T14:54:31.000Z","dependencies_parsed_at":"2022-08-28T20:24:13.728Z","dependency_job_id":null,"html_url":"https://github.com/andreaferretti/react-stack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andreaferretti/react-stack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaferretti%2Freact-stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaferretti%2Freact-stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaferretti%2Freact-stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaferretti%2Freact-stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreaferretti","download_url":"https://codeload.github.com/andreaferretti/react-stack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaferretti%2Freact-stack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278532356,"owners_count":26002345,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"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-10-14T23:05:26.726Z","updated_at":"2025-10-05T22:44:56.405Z","avatar_url":"https://github.com/andreaferretti.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"React stack\n===========\n\nThis is the skeleton of a basic single page application based on\n\n* CoffeeScript\n* Require.js to manage modules\n* Facebook React for the views\n* SASS and Compass for the stylesheets\n* Bootstrap as a base style (wrapped with React Bootstrap components)\n\nI have also added a few modules that are not mandatory, but are useful common dependencies of most apps:\n\n* React Router Component to handle routing\n* Prelude.ls, which is a general purpose collections and utility library\n* Pajamas to fire HTTP requests and return Q promises\n\nFinally, there are a few modules that may be useful, but possibly not for each type of application. These are in a separate `optDependencies` field in `bower.json` and are commented in `src/coffee/main.coffee`, and are\n\n* Moment.js to handle dates and times\n* Socket.io to support cross-browser websockets\n* Amanda for object schema validation\n* Catiline for multi-threading support via Web Workers\n* Paths.js to generate SVG graphics\n\nAll of these libraries handle orthogonal concerns and integrate seamlessly with each other.\n\nThere is also a [twin example](https://github.com/andreaferretti/ractive-stack) with Ractive.js.\n\nSee also the related yeoman generator [Auser](https://github.com/mfirry/generator-auser).\n\nStructure of the application\n----------------------------\n\nThe source of the application goes under `src`; specifically `src/coffee` contains your coffeescript code and `src/sass` the stylesheets. Client side dependencies are declared in `bower.json` and usually require an AMD shortcut in `src/coffee/main.coffee`.\n\nPrelude.ls is split under different modules in `src/coffee/prelude`, namely `_l` for functions that work with lists, `_o` for objects, `_s` for strings, `_f` for functions and `_n` for numbers. This makes it easier to import the different Prelude.ls submodules directly and to augment them with other common utility functions (see `_o.pick` as an example).\n\nReact views are prefixed with a pragma comment\n\n    `/** @jsx React.DOM */\\`\n\nMore generally, parts of the code that are to be translated by JSX are to be left unchanged by the coffeescript compiler, hence they are surrounded by backticks, like this:\n\n    React.renderComponent(\n      `\u003cCompositeView data={ countries } /\u003e`,\n      document.getElementById 'content'\n    )\n\nUsage\n-----\n\nThe skeleton uses Bower to handle client-side dependencies and Grunt to build the actual application. First, install the necessary Grunt plugins with\n\n    npm install\n\nand add the client side dependencies with\n\n    bower install\n\nThen you have the commands\n\n    grunt server\n\nto interactively develop the application, with auto-refresh, and\n\n    grunt\n\nto build a self-contained distribution of the app in the `dist` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreaferretti%2Freact-stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreaferretti%2Freact-stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreaferretti%2Freact-stack/lists"}