|
| 1 | +<p align="center"> |
| 2 | + <img src ="./images/greygreen_gg_full_350w.png" width="200"/> |
| 3 | +</p> |
| 4 | + |
| 5 | +# Rewind: A Time Travel Debugger for React *useReducer* |
| 6 | + |
| 7 | +[](https://github.com/reactrewind/react-rewind/pulls) [](https://opensource.org/licenses/MIT) |
| 8 | +<br/><br/> |
| 9 | + Designed to help engineers fix bugs faster by recording and replaying through different states of their applications. Debug your app more easily by “rewinding” your session instead of having to reproduce the issue until you find the problem. <br/> |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | +- Press record and start interacting with your application. |
| 14 | +- Each dispatched action will be stored as a unique event in time. |
| 15 | +- Rewind through your recorded actions with the back button or by dragging the slider. |
| 16 | +- Analyze the state, the effects and the action object of every disptached event. |
| 17 | +- Press play and watch your app change! |
| 18 | +<p align="center"> |
| 19 | + <img src ="images/BrowserPreview_tmp.gif" width="600"> |
| 20 | +</p> |
| 21 | + |
| 22 | + **React Rewind is in active development. Follow this repo for contribution guidelines.** |
| 23 | +## Getting Started |
| 24 | + |
| 25 | +These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. |
| 26 | + |
| 27 | +### Prerequisites |
| 28 | +Your application must be using the hook `useReducer` for actions to be recorded. |
| 29 | + |
| 30 | +### Installing |
| 31 | +React Rewind will soon be available as a Chrome extension through the Google Chrome Web Store. |
| 32 | + |
| 33 | +To install locally, setup instructions are as follows: |
| 34 | + |
| 35 | +1. `git clone https://github.com/reactrewind/react-rewind.git` |
| 36 | +2. `cd react-rewind` |
| 37 | +3. `npm run install_dep` |
| 38 | +4. `npm run build` |
| 39 | +5. Visit the URL `chrome://extensions/` |
| 40 | +6. Click Load Unpacked button and select the folder `react-rewind/src/browser/chrome` |
| 41 | +7. On your application page, open the Chrome Developer tools and select `React Rewind` from the tool bar |
| 42 | +8. Click Record and begin interacting with your application |
| 43 | + |
| 44 | + |
| 45 | +As you interact with your application, actions will populate the events panel. Click on these actions to view more details about them, such as the action object that was dispatched, the effects or state difference, and the whole state of the application after the dispatch. The time slider panel allows you to rewind, fast forward, and play through all recorded actions. |
| 46 | + |
| 47 | +### Application Features |
| 48 | +<p align="center"> |
| 49 | + <img src ="images/effects_900w.gif" width="700" /> |
| 50 | +</p> |
| 51 | + |
| 52 | +| Field | Description | |
| 53 | +| ------------- | ------------- | |
| 54 | +| events | action types and time since last dispatch | |
| 55 | +| actions | the action object that was dispatched | |
| 56 | +| effects | difference between the states before and after the action was dispatched | |
| 57 | +| state | the state object after the action was dispatched | |
| 58 | + |
| 59 | +## Contributing |
| 60 | + |
| 61 | +Please fork this repo. We welcome pull requests. For suggestions or to report bugs please log an issue. |
| 62 | + |
| 63 | +## Versioning |
| 64 | + |
| 65 | +We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags). |
| 66 | + |
| 67 | +## Authors |
| 68 | + |
| 69 | +[Brandon Murphy](https://github.com/murphybrandon) | [Victor Varaschin](https://github.com/victorvrv) | [Kia Colbert](https://github.com/kiacolbert) | [Gaber Mowiena](https://github.com/GaberMowiena) |
| 70 | + |
| 71 | +## License |
| 72 | + |
| 73 | +This project is licensed under the MIT License - see the [LICENCE.md](./LICENCE) file for details |
| 74 | + |
0 commit comments