Home

Awesome

OpusCapita Showroom

CircleCI Status badge-npm-version badge-license NPM Downloads

Synopsis

Awesome react based components catalog which provides you with markdown documentation and live examples. :boom:

If you're interested in project development, please star it and send us your pull-requests!

showroom-demo

Live demos

Start a new project in 2 minutes!

Video

We have preconfigured a project template with webpack, babel, tests, etc. (full overview)

Install template generator globally

npm install -g @opuscapita/react-showroom-template

Create an empty directory

mkdir my-react-project && cd my-react-project

Init a project and ask several questions

showroom init

Install deps

npm install

Done :star2: Let's run it!

npm start

Open in browser: http://localhost:3000


You can easily add a new component.

showroom add and specify component name

Component will be added to src/client/components directory

Component is a directory that includes:

Add showroom to existing project

See documentation here

Need help with integration to your open-source project? Create an issue or contact us :innocent:

See also

Motivation to develop

The fundamental ideas of ReactJS is modularity and code reuse. You shouldn't rewrite same things every time.

What ReactJS creators say about it:

How do you know what should be its own component? Just use the same techniques for deciding if you should create a new function or object. One such technique is the single responsibility principle, that is, a component should ideally only do one thing. If it ends up growing, it should be decomposed into smaller subcomponents.

As you start to build large libraries of components, you'll appreciate this explicitness and modularity, and with code reuse, your lines of code will start to shrink. :)

O.K., ReactJS creators :+1: We are sure you are clever. We understand your ideas. But if we want to have a large libraries of components we must have a easy way to organize and browse this library.

Allen Carr The easy way to start organizing libraries:

Contributors

<img src="https://avatars.githubusercontent.com/u/24603787?v=3" width="100px;"/>Alexey Sergeev
<img src="https://avatars.githubusercontent.com/u/24652543?v=3" width="100px;"/>Kirill Volkovich

Contributing is welcome. We need YOU! :metal:

Contributing guide

How to start

npm start npm script of @opuscapita/react-showroom-client can confuse if you want to contribute to showroom. Use this npm goal only to start showroom in server variant.

More preferred way is: run npm link, then npm run link-mode;

Install showroom-template separately.

Before running showroom-template's npm start run npm link @opuscapita/react-showroom-client. After that you can change showroom's source-code and see result.

If you need more info about contribution - please create an issue.

License

OpusCapita Showroom is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.