React-Proto is a React application prototyping tool for developers and designers.
React-Proto allows the user to visualize/setup their application architecture upfront and eject this architecture as application files either into a previous project or a new create-react-app project or a starter template from any repository.
- Mac users only: for now you might need to go to your security settings to allow the app run on your system as we do not have an Apple license yet.
If you find any issues, file issue
How To Use
Application can be run from cli using
react-protocommand or by clicking on the application icon.
To start a new project, either import a mockup or start with a blank stage.
Add components you would like to create using the input, then drag the component frame into place and resize accordingly.
While building, you can use the icons in the toolbar to zoom, toggle draggability of the stage, update or remove an image, collapse the left container, and export your files.
For each component you have the ability to define whether your component will have state, the color of the frame component, and the ability to apply a parent component.
If you place a container around other components and can no longer access them, you can use the layer buttons in the corresponding dropdown menu to change layer order down or up.
In the right container, the props tab allows you to define props in key value pairs, as well as the necessary prop type.
Once you are finished, you can use the export button in the toolbar to choose from three options of how to export your files:
- Import your files into an existing project. Just choose the path where you would like to create your components folder.
- Use create-react-app to start a new project (the project will be under the "proto_app").
- Clone your favorite Github repo to start a project with your favorite starter files.
- Lastly, start building!
Running Your Own Version
Fork and Clone Repository.
Open project directory
- Install dependencies
- Run application
- For development experience...
- and on another terminal