Creating scalable, universal and well tested JavaScript application for enterprise companies with many teams and products is a hard task. We at Immowelt Group took gathered all of our knowledge and aimed to fill this void. create-react-microservice
is a scaffold that will provide you with an mono-repository structure so it is easy as pie to share code with co-workers, best practices in regards to testing as well as server side rendering support. All of it while providing you the whole flexibility of changing stuff under the hood. :rocket:
What's in the box?
- Universal by default using AirBnB's hypernova render microservice under the hood.
- Built with React, Redux, Reselect and Plow-JS.
- Comes with best-practices in regards on how to unit- and performance-test your universal application.
- 100% Statically typed via Flow from Facebook.
- Built in support for internationalization (i18n).
- No assumptions about your CSS setup, but with guides on how to setup each in minutes.
- Containerized via Docker.
- Highly flexible and performing architecture under the hood.
What about Next.js?
This scaffold is not aimed at "competing" against Next.js, quite the contrary we see Next.js as a valid addition to the scaffold! We even provide you with a guide on how to integrate Next.js into the scaffold structure within minutes! :-)
Why is this scaffold called create-react-microservice
/ What is a frontend-microservice?
At ImmoweltGroup we are currently re-structuring our plattform from a big monolithic application into small, composable services that take care of one specific UI part, the bigger picture will be composed at a higher level with a tool such as node-tailor. If you haven't heard of frontend microservices, we recommend you to read Tom Söderlund's great article Micro frontends—a microservice approach to front-end web development. This scaffold is a result of the requirements and therefore called create-react-microservice
, nevertheless this scaffold can still be used for traditional web applications, e.g. in combination with Zeit's great next.js framework.
Quick Start
yarn global add create-react-microservice
create-react-microservice my-fancy-ui
cd my-fancy-ui
yarn run dev
That's it - A browser should automatically open up http://localhost:8080/ as soon as the application was compiled the first time.
Documentation
A detailed documentation including a test feature integration guide as well as a bunch of recipes to integrate other technologies/frameworks into the scaffold can be found over at https://immoweltgroup.gitbooks.io/create-react-microservice/ - Check it out! :-)
Contributing
See the CONTRIBUTING.md
file at the root of the repository.
Licensing
See the LICENSE
file at the root of the repository.