Giter Site home page Giter Site logo

arpitgo4 / react-redux-scaffold Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 137 KB

Scaffolding for frontend only applications with React-Redux.

Home Page: https://react-redux-scaffold.herokuapp.com/

JavaScript 88.52% HTML 5.05% CSS 1.07% Dockerfile 5.36%
reactjs redux react-redux webpack nodejs express html css3 react-router babel

react-redux-scaffold's Introduction

React-Redux-Scaffold Build Status

Client side scaffold with React-Redux on the frontend and Express server to serve built files in the production mode. Scaffold supports production and development modes, with Best Developer Experience ( DX ) by Hot-Loading for the client side application. There will be no need to restart during development, hence making the experience smooth and decrease the delivery time.

Scaffold Structure

	.
	├── src                     	#  Frontend source files
	|   ├── actions			#  Action Creators
	|   ├── components          	#  React component's source
	|   ├── config              	#  Redux store's configuration
	|   ├── layouts             	#  React layout component's source
	|   |   └── App.Router.js 	#  React Router    
	|   ├── reducers            	#  Redux reducer's source
	|   ├── index.html          	#  Root HTML template
	|   ├── index.js            	#  Frontend source entry point
	|   └── style.scss           	#  Global Sass stylesheet
	├── .babelrc                	#  Babel configuration ( ES6, React, JSX )
	├── .eslintrc               	#  ESLint configuration
	├── .travis.yml 		#  Travis CI configuration file
	├── devServer.js            	#  Hot loading server source ( development mode )
	├── Dockerfile			#  Docker build script
	├── dist                      	#  Compiled files
	├── .gitignore                	#  Ignored files from git commit
	├── nginx.conf                	#  Nginx production server configuration
	├── package.json              	#  Frontend dependencies
	├── postcss.config.js 		#  PostCSS configuration
	├── Procfile			#  Heroku procfile, for deployment
	├── README.md                 	#  This file
	├── webpack.config.js           #  Webpack configuration for 'production' & 'development' 

Development

# Start client in development mode with hot code loading,
docker run --rm -it -p 3000:3000 -v $(pwd):/usr/src/app arpitgo4/alpine-node

# Inside docker container,
cd /usr/src/app 
npm run start:development

# Open web browser at http://localhost:3000
# Hit frontend dev server to load application in the browser, enjoy developing :)

Refer to the react-hot-boilerplate for further description.

Production

# Docker image build
docker build -t react-redux-scaffold .

# Start the project
docker run --rm --name react-redux-scaffold -d -p 80:80 react-redux-scaffold

# Open web browser at http://localhost
# You will see a sample Single Page Application

Known Limitations

  • Hot Reloading of the Routes ( Browser refresh is needed! ).

Feedback

In case of any query or feedback, please feel free to connect via

Or, open an issue at github.

react-redux-scaffold's People

Contributors

arpit-squadx avatar arpitgo4 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

react-redux-scaffold's Issues

style.css in bundling in style.bundle.css

Extract-text-plugin configuration is moved to a seperate branch "extract-text-plugin_integration".

Styles from the main stylesheet of the project are not included in the style.bundle.css.

Check for the ExtractTextPlugin configuration, 'style-loader' was make as fallback mechanism in its configuration, otherwise 'self not defined' error was being thrown.

Bootstrap and font-awesome styles are there in the bundle, but style from the project is not included.
Also, check for the hot-loading in development for styles with ExtractTextPlugin as loader.

react-hot-loader added as project dependency

React hot loader is being used in loaders for webpack irrespective of the environment in which application is started.

Desired behaviour,
webpack loaders array for html, css and js must not have react-hot-loader.
so, that react-hot-loader dependecy can be moved to the dev dependencies in the package.json.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.