{"id":23968623,"url":"https://github.com/vutran/spa-starter-kit","last_synced_at":"2025-04-13T15:40:36.504Z","repository":{"id":57155427,"uuid":"42567674","full_name":"vutran/spa-starter-kit","owner":"vutran","description":":package: Quick starter kit for booting up a NodeJS container with React, webpack, babel/ES2015, Redux, and more.","archived":false,"fork":false,"pushed_at":"2016-01-07T19:45:43.000Z","size":40,"stargazers_count":79,"open_issues_count":0,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-09T04:11:20.435Z","etag":null,"topics":["babel","docker","node","react","redux","webpack"],"latest_commit_sha":null,"homepage":"","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/vutran.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-16T05:58:15.000Z","updated_at":"2023-10-03T11:07:06.000Z","dependencies_parsed_at":"2022-08-26T09:31:27.108Z","dependency_job_id":null,"html_url":"https://github.com/vutran/spa-starter-kit","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vutran%2Fspa-starter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vutran%2Fspa-starter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vutran%2Fspa-starter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vutran%2Fspa-starter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vutran","download_url":"https://codeload.github.com/vutran/spa-starter-kit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248739765,"owners_count":21154225,"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":["babel","docker","node","react","redux","webpack"],"created_at":"2025-01-07T00:15:24.260Z","updated_at":"2025-04-13T15:40:36.463Z","avatar_url":"https://github.com/vutran.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Single Page Application (SPA) Starter Kit (NodeJS, React, webpack, babel/ES2015, Redux, Hot Loader)\n=====\n\nQuick starter kit for booting up a NodeJS container with React, webpack, babel/ES2015, Redux, and more.\n\n# Features\n\n- [Docker Node](https://hub.docker.com/_/node/)\n- [webpack](webpack.github.io)\n- [ReactJS](http://facebook.github.io/react/)\n- [Babel (ES2015)](https://babeljs.io/)\n- [Sass](http://sass-lang.com/)\n- [PostCSS](https://github.com/postcss/postcss)\n - [Autoprefixer](https://github.com/postcss/autoprefixer)\n- [ES Lint](http://eslint.org/)\n- [Redux](http://rackt.github.io/redux/)\n- [Redux DevTools](https://github.com/gaearon/redux-devtools)\n- [React Hot Loader](http://gaearon.github.io/react-hot-loader/)\n- [Hot Reload Server](https://github.com/vutran/hot-reload-server)\n- [dotenv](https://github.com/motdotla/dotenv)\n\n# Quickstart Guide\n\nClone the repository.\n\n`git clone git@github.com:vutran/spa-starter-kit.git`\n\nSwitch to project directory.\n\n`cd spa-starter-kit`\n\nBoot up with Docker.\n\n`docker-compose up`\n\nOpen the URL in your browser.\n\n***Note: You need to add `dockerhost` to your `/etc/hosts` file and point that to your Docker machine's address.***\n\n[http://dockerhost:4000](http://dockerhost:4000)\n\n# Environmental Variables\n\nYou can manage your environmental variables via the `.env` file.\n\n````\nNODE_ENV=development\nDOCKER_HOST=192.168.99.100\n````\n\n# React Components\n\nReact components should be created and placed inside of the `/app/components/` directory. Below is a sample React component in ES6.\n\nFor more information, please read the [React docs](http://facebook.github.io/react/docs/), or [ES6](https://babeljs.io/docs/learn-es2015/).\n\n````javascript\nimport { Component } from 'react'\n\nexport default class MyComponent extends Component {\n    render() {\n        return \u003cp\u003eHello, world!\u003c/p\u003e\n    }\n}\n````\n\n### Importing a React Component\n\nTo render a React component, you will need to import the component before calling [`React.render()`](http://facebook.github.io/react/docs/top-level-api.html#react.render)\n\n````javascript\nimport ReactDOM from 'react-dom'\nimport MyComponent from './component/MyComponent'\n\n// Render the component\nReactDOM.render(\n  \u003cMyComponent /\u003e,\n  document.getElementbyId('app')\n)\n````\n\n# Redux Implementation\n\nFor more information, please refer to the [demo application boilerplate](https://github.com/vutran/react-todo).\n\n### Actions and Action Creators\n\nYou can place all your Action Types and Action Creators in the `app/actions/index.js` file.\n\n### Reducers\n\nReducer functions should be stored in the `app/reducers/` directory. Once your reducer is created, you can combine them with the root reducer that is found in the `app/reducers/index.js` file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvutran%2Fspa-starter-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvutran%2Fspa-starter-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvutran%2Fspa-starter-kit/lists"}