{"id":17128051,"url":"https://github.com/msmathers/hipstack","last_synced_at":"2025-03-24T04:18:49.857Z","repository":{"id":142565048,"uuid":"42613106","full_name":"msmathers/hipstack","owner":"msmathers","description":"Starter kit for building modern web applications","archived":false,"fork":false,"pushed_at":"2015-09-16T21:18:55.000Z","size":148,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-29T10:19:13.228Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/msmathers.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":"2015-09-16T21:00:20.000Z","updated_at":"2015-09-16T21:59:02.000Z","dependencies_parsed_at":"2023-03-14T05:00:29.074Z","dependency_job_id":null,"html_url":"https://github.com/msmathers/hipstack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msmathers%2Fhipstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msmathers%2Fhipstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msmathers%2Fhipstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msmathers%2Fhipstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/msmathers","download_url":"https://codeload.github.com/msmathers/hipstack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245206834,"owners_count":20577583,"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-14T19:06:08.071Z","updated_at":"2025-03-24T04:18:49.837Z","avatar_url":"https://github.com/msmathers.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hipstack\n\nStarter kit for building modern web applications.\n\n## Languages, libraries, and technologies\n\n- [Coffeescript](http://coffeescript.org/) - Enhanced Javascript.\n- [CoffeeJSX](https://github.com/jsdf/coffee-react-transform) - Coffee-flavored [JSX](https://facebook.github.io/jsx/), an XML-like Javascript syntax extention used by React.\n- [React](https://facebook.github.io/react/) - Javascript library for building user interfaces.\n- [ReactRouter](https://github.com/rackt/react-router) - Complete routing solution for React.\n- [Socket.io](http://socket.io/) - Realtime browser/server communication library.\n- [Axios](https://github.com/mzabriskie/axios) - [Promise](https://www.promisejs.org/)-based AJAX library.\n- [Node.js](https://nodejs.org/en/) - Event-driven Javascript runtime for building servers.\n- [Express](http://expressjs.com/) - Web server framework for Node.js\n- [Passport.js](http://passportjs.org/) - Authentication middleware for Express.\n- [Grunt](http://gruntjs.com/) - Javascript task runner.\n- [Bower](http://bower.io/) - Package manager for browser Javascript libraries.\n- [SASS](http://sass-lang.com/) - Enhanced CSS.\n- [Bootstrap](http://v4-alpha.getbootstrap.com/) - CSS framework for building responsive, compliant UIs.\n- [FontAwesome](https://fortawesome.github.io/Font-Awesome/) - Vector-based, CSS-customizable icon set.\n\n## Code organization\n\n- `src/app` - Browser-based application code.\n- `src/app/components/*.cjsx` - React component definitions.\n- `src/app/lib/*.coffee` - Framework-agnostic library code.\n- `src/app/main.cjsx` - React routes and application initialization.\n- `src/server` - Node.js web server code.\n- `styles/*.scss` - Browser style definitions.\n- `views/*.html` - Server-side HTML templates.\n- `Gruntfile.coffee` - Build/dev task configuration.\n- `bower.json` - Third-party browser library definitions.\n- `package.json` - Third-party Node.js library definitions.\n\n## Install \u0026 Run\n```\nnpm install\nnpm run bower\nnpm start\n```\nTo run the server with Google user authentication enabled, create [Google OAuth2 credentials](https://github.com/googleads/googleads-dotnet-lib/wiki/How-to-create-OAuth2-client-id-and-secret) and provide the following environment variables:\n```\nGOOGLE_CLIENT_ID=\u003c...\u003e GOOGLE_CLIENT_SECRET=\u003c...\u003e npm start\n```\nIn your browser, go to\n```\nhttp://localhost:8999\n```\n## How-To\n\n### Add third-party browser library\n\n1. Add entry to `bower.json`\n1. Run `npm run bower`\n1. Locate .js file in `bower_components/\u003cmy_library\u003e/`\n1. Add `\u003cscript\u003e\u003c/script\u003e` tag to `views/index.html`\n\n### Add third-party server library\n\n1. Add entry to `package.json`\n1. Run `npm install`\n\n### Add React Component\n\n1. Create new `.cjsx` file in `src/app/components`\n\n        MyNewComponent = React.createClass\n          render: -\u003e\n            \u003cdiv className=\"new-component-style\"\u003e\n              \u003cp\u003eOh hai\u003c/p\u003e\n            \u003c/div\u003e\n\n1. (Optional) Add route to new component by adding `\u003cRoute\u003e` tag in `src/app/main.cjsx`\n\n### Add HTTP endpoint to server\n\n1. Add route to `src/server/main.coffee`\n\n        app.get '/hello/world', (req, res) -\u003e\n          res.json\n            hello: 'world'\n\n## Next Steps\n\n1. Add a testing framework such as [Karma](http://karma-runner.github.io/0.13/index.html) or [Jasmine](http://jasmine.github.io/)\n1. Include a database backend such as [PostgreSQL](http://www.postgresql.org/) or [MongoDB](https://www.mongodb.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsmathers%2Fhipstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmsmathers%2Fhipstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsmathers%2Fhipstack/lists"}