a cli tool to help you start a new project
$ [sudo] npm install project-starter -g
See the output of this project here
The generated project uses the following technologies:
- React A declarative, efficient, and flexible JavaScript library for building user interfaces
- React Router Declarative routing for React
- Redux A predictable state container for JavaScript apps.
- Axios Promise based HTTP client for the browser and node.js
- React Router Redux Ruthlessly simple bindings to keep react-router and redux in sync
- redux-axios-middleware Redux middleware for fetching data with axios HTTP client
- redux-simple-promise Promise middleware for Redux
- Redux Dev Tools DevTools for Redux with hot reloading, action replay, and customizable UI
- Material-ui A Set of React Components that Implement Google's Material Design
- redux-form to manage form state in Redux
- styled-components Use the best bits of ES6 and CSS to style your apps without stress
- socket.io-client Realtime application framework (client)
- redux-actions Flux Standard Action utilities for Redux
- redux-auth-wrapper Handling Authentication and Authorization with Routing and Redux
- redux-sockets simplify the integration of socket.io with your redux application
- reflexbox React flexbox layout and grid system
- loadable-components React code splitting made easy
- Express Fast, minimalist web framework for Node.js
- Socket.io Socket.IO enables real-time bidirectional event-based communication
- Mongoose mongodb object modeling for node.js
- express-async-router An Express Router wrapper which automatically manage Promise.
- express-json-error-handler Error handler for express JSON APIs
- express-jwt express middleware that validates a JsonWebToken
- jsonwebtoken JsonWebToken implementation for node.js
- express-static-gzip Simple wrapper on top of express.static, that allows serving pre-gzipped files
- passport Passport is authentication middleware for Node.js
- mongoose-plugin-seed Mongoose plugin to seed your models
- socketio-jwt Authenticate socket.io incoming connections with JWTs
- nodemon Nodemon is a utility that will monitor for any changes in your source and automatically restart your server
- bunyan a simple and fast JSON logging module for node.js services
- env-bunyan Bunyan wrapper with environment variables
- Babel Javascript Transpiler
- babel-preset-env automatically determine what to compile.
- babel-minify An ES6+ aware minifier
- Webpack Module bundling
- webpack-compression-plugin Prepare compressed versions of assets to serve
- Jest to allow writing unit tests for the project.
- Enzyme Javascript testing utilities for React
- Husky Git hooks made easy
- lint-staged Run linters on git staged files
- ESLint Code styling
- Plop Micro-generator
- Commitlint Lint commit messages
Bootstrap a new project repository with these steps:
-
Clone your repository
-
run
npm init
with your preferred values (if no package json is found, will runnpm init -y
for you) -
run
project-starter
in the folder
$ project-starter
project-starter 0.0.0 - a cli tool to help you start a new project
USAGE
project-starter [path]
ARGUMENTS
[path] Directory to initialize optional default: "/path/to/cwd"
GLOBAL OPTIONS
-h, --help Display help
-V, --version Display version
--no-color Disable colors
--quiet Quiet mode - only displays warn and error messages
-v, --verbose Verbose mode - will also output debug messages
git clone https://github.com/me/my-project
cd my-project
project-starter