{"id":20393146,"url":"https://github.com/aichbauer/lukasaichbauer","last_synced_at":"2025-07-24T06:05:47.357Z","repository":{"id":82477572,"uuid":"80423680","full_name":"aichbauer/lukasaichbauer","owner":"aichbauer","description":null,"archived":false,"fork":false,"pushed_at":"2017-01-30T13:52:49.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-04T20:40:51.723Z","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/aichbauer.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-30T13:28:07.000Z","updated_at":"2017-01-30T13:52:50.000Z","dependencies_parsed_at":"2023-03-06T21:30:46.990Z","dependency_job_id":null,"html_url":"https://github.com/aichbauer/lukasaichbauer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aichbauer/lukasaichbauer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aichbauer%2Flukasaichbauer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aichbauer%2Flukasaichbauer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aichbauer%2Flukasaichbauer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aichbauer%2Flukasaichbauer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aichbauer","download_url":"https://codeload.github.com/aichbauer/lukasaichbauer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aichbauer%2Flukasaichbauer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266801456,"owners_count":23986371,"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-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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-15T03:47:40.671Z","updated_at":"2025-07-24T06:05:47.330Z","avatar_url":"https://github.com/aichbauer.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Redub\n#### a react *REDU*x *B*oilerplate\n\n# recommended usage\n\nwith `redub-cli`\n\n```shell\n# installation\n$ npm i -g redub-cli\n\n# create anew project\n$ redub new testProject\n\n# generate a new component\n$ redub generate comp myNewComponent\n```\n\n\nDocumentation for redub-cli [click here](https://github.com/rudolfsonjunior/redub-cli/readme.md)\n\n## install \u0026 use\n\u003e cd into root directory\n```shell\n$ npm install\n```\n\u003e run this for to copy index.html to dist and to bundle javascript and load to dist/js\n```shell\n$ npm run dev\n```\n\u003e run this for serving the index.html and the bundle.js on localhost:3000\n```shell\n$ npm run start\n```\n\n## Folder Structure\n```\n.\n+-- src\n|   +-- config\n|   |\n|   +-- js\n|   |   +-- actions\n|   |   +-- components\n|   |   +-- conainers\n|   |   +-- reducers\n|   |   +-- views\n|   |   app.js\n|   |\n|   +-- scss\n|   |\n|   index.html\n|\n.babel.rc\n.gitignore\npackage.json\nreadme.md\nwebpack.config.js\n\n```\n\n## src directory\n\nInside here is the code for the complete redux application.\n\nIt holdes the following files \u0026 folders:\n* **config:**     for now it only holdes the configuration for the API routes\n* **js:**         basically is the redux application\n* **scss:**       holdes the stylesheets for the application\n* **index.html:** is the only html file you need\n\n## config directory\n\nInside here all the configurations are set.\n\nIt holds the following files \u0026 folders:\n* **apiRoutes.js:** this file configures the url-path to the api\n\n## js directory\n\nInside here is all the javascript code for the redux application.\n\nIt holds the following files \u0026 folders:\n* **actions:** the complete logic of the redux application\n* **components:** the *dumb* just presentational components of the application (rarely have a state)\n* **conainers:** the *intelligent* conainer components (often statefull components)\n* **reducers:** the complete statemanagement for the redux application\n* **views:** the different views that are displayed to the user. Can consist of multiple components and/or containers\n* **app.js:** the entrypoint for the application\n\n## scss directory\n\nInside here is all the scss code for the redux application.\n\nIt holdes the following files \u0026 folders:\n* **style.scss:** the scss code for the redux application\n\n## index.html\n\nThis is the only html file you need for the redux application.\nIt holds a div with an id 'root' (here will the application render) and a script with the src 'js/bundle.js' which is the webpacked js code for the redux application.\n\n\n## Dependencies\n\n* **axios:** promise based HTTP client for the browser and node.js\n* **babel-polyfill:** for backwards compatibility, so that ES2015 APIs are available in older browsers\n* **react:** library for building user interfaces\n* **react-dom:** package for working with the DOM\n* **react-redux:** official React bindings for Redux\n* **react-router:** routing library for react\n* **react-redux-router:** ruthlessly simple bindings to keep react-router and redux in sync\n* **redux:** predictable state container for javascript apps\n* **redux-thunk:** the thunk can be used to delay the dispatch of an action, or to dispatch only if a certain condition is met\n\n\n```json\n\"dependencies\": {\n\n    \"axios\": \"^0.15.3\",\n    \"babel-polyfill\": \"^6.20.0\",\n    \"react\": \"^15.4.1\",\n    \"react-dom\": \"^15.4.1\",\n    \"react-redux\": \"^5.0.1\",\n    \"react-router\": \"^3.0.0\",\n    \"react-router-redux\": \"^4.0.7\",\n    \"redux\": \"^3.6.0\",\n    \"redux-thunk\": \"^2.1.0\"\n\n  },\n```\n\n## Developer Dependencies\n\n* **babel-core:** babel compiler, to use es6 and jsx\n* **babel-loader:** babel loader module for webpack, depends on babel-core\n* **babel-preset-es2015:** babel preset for all es2015 plugins\n* **babel-preset-react:** babel preset for all React plugins\n* **copy-webpack-plugin:** copy files and directories in webpack\n* **css-loader:** css loader module for webpack\n* **node-sass:** is nessacary for sass-loder\n* **sass-loader:** sass loader module for webpack, depends on node-sass\n* **style-loader:** style loader module for webpack\n* **webpack:** Packs CommonJs/AMD modules for the browser. Allows to split the codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jade, coffee, css, less, ... and the custom stuff.\n* **webpack-dev-server:** serves a webpack app, updates the browser on changes\n\n```json\n  \"devDependencies\": {\n\n    \"babel-core\": \"^6.21.0\",\n    \"babel-loader\": \"^6.2.10\",\n    \"babel-preset-es2015\": \"^6.18.0\",\n    \"babel-preset-react\": \"^6.16.0\",\n    \"copy-webpack-plugin\": \"^4.0.1\",\n    \"css-loader\": \"^0.26.1\",\n    \"node-sass\": \"^4.1.1\",\n    \"sass-loader\": \"^4.1.1\",\n    \"style-loader\": \"^0.13.1\",\n    \"webpack\": \"^1.14.0\",\n    \"webpack-dev-server\": \"^1.16.2\"\n\n  }\n```\n\n## webpack\n\n* serves files from \"./dist\" on localhost:3000\n* entry point for bundeling is \"./src/js/app.js\"\n* outputs in \"./dist/js\" directory and renames the bundle to app.bundle.js\n* module: transpiles es6 and react jsx in es2015 via babel\n* module: transpiles sass; loads css, inline-styles and sass that was imported in js via \"require('./example.scss')\"\n* plugin: loads the index.html from \"./src\" to \"./dist\"\n\n```js\nvar CopyWebpackPlugin = require('copy-webpack-plugin');\n\n\nmodule.exports = {\n\n  devServer: {\n\n    inline: true,\n    contentBase: './dist',\n    port: 3000\n\n  },\n  entry: './src/js/app.js',\n  output: {\n\n    path: './dist',\n    filename: 'js/app.bundle.js'\n\n  },\n  module: {\n\n    loaders: [\n\n      {\n\n        test: /\\.js$/,\n        exclude: /node_modules/,\n        loaders: ['babel']\n\n      },\n      {\n\n        test: /\\.scss$/,\n        loader: ['style-loader', 'css-loader', 'sass-loader']\n\n      }\n\n    ]\n\n  },\n  plugins: [\n\n    new CopyWebpackPlugin([\n\n      {\n\n        from: 'src/index.html'\n\n      }\n\n    ])\n\n  ]\n\n};\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faichbauer%2Flukasaichbauer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faichbauer%2Flukasaichbauer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faichbauer%2Flukasaichbauer/lists"}