Overview
Project WebCube is a continuously updated JavaScript infrastructure designed for modern web development. It offers a monorepo that serves as a template or starter for Universal JS projects. The repo includes various packages like webcube, eslint-config-webcube, nodecube, redux-cube, and more. With these packages, developers can easily build web applications, microservices, APIs, and manage app state using Redux.
Features
- webcube: Continuously updated JS infrastructure for modern Universal JS web app/site and static web.
- eslint-config-webcube: A sharable ESLint preset that integrates Prettier and explicitly configures all available rules from ESLint core and commonly used plugins.
- nodecube: Continuously updated JS infrastructure for Node.js microservice or API gateway service.
- redux-cube: App state manager that simplifies the use of Redux and its ecosystem, reduces boilerplate, and provides additional features like Sub App and Reducer Bundle.
- redux-cube-with-router: Pluggable module for react-router v4+ that works seamlessly with redux-cube.
- redux-cube-with-i18next: Pluggable module for react-i18next that integrates with redux-cube.
- redux-cube-with-persist: Pluggable module for redux-persist that works with redux-cube to persist the state.
- redux-cube-with-immutable: Pluggable module for redux-immutable that enables the use of immutable data structures with redux-cube.
- redux-source: Using GraphQL schema and query language to access any data source and automatically generate reducers, actions, and normalized state.
- redux-source-immutable: The Immutable.js version of redux-source.
- redux-source-connect: Connect React components to Redux states maintained by redux-source automatically.
- redux-source-connect-immutable: Connect React components to Redux states maintained by redux-source-immutable automatically.
- redux-source-with-notify: A React higher-order component for displaying notifications based on Redux states maintained by redux-source.
- redux-source-with-block-ui: A React higher-order component for displaying “React Block UI” based on Redux states maintained by redux-source.
- react-with-scripts: Ability to add third party script tags, JS SDK, and tracking code without modifying any HTML code.
- react-common-kit: Wrappers for some commonly used React components and utilities.
- hifetch: A minimal higher-level wrapper around the Fetch API.
Installation
To install Project WebCube, follow these steps:
Clone the Project WebCube monorepo:
git clone https://github.com/webcubic/webcube.gitInstall the necessary dependencies for each package:
cd webcube yarn install cd packages/webcube yarn install cd ../eslint-config-webcube yarn install ...Start using Project WebCube in your project.
Summary
Project WebCube is a comprehensive JavaScript infrastructure that provides various packages for modern web development. It offers a monorepo template that simplifies the setup process for Universal JS projects. With features like Redux state management, pluggable modules, and wrappers for common React components, Project WebCube aims to streamline the development process and enhance productivity for web developers.