Skip to content

Commit 2dacf69

Browse files
authored
Merge pull request #30 from haejinjo/readme2
Finalize official README and developers' `src` README
2 parents e181354 + 42a77a2 commit 2dacf69

20 files changed

+233
-270
lines changed

.babelrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"presets": [
3+
"airbnb"
4+
]
5+
}

README.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
<p align="center">
2+
<img src ="./assets/readme-logo-300.png" width="300"/>
3+
</p>
4+
5+
<h1 align="center"><b>State Debugger for React</b></h1>
6+
7+
[![GitHub](https://img.shields.io/github/license/oslabs-beta/reactime)](https://github.com/oslabs-beta/reactime) [![Build Status](https://travis-ci.com/oslabs-beta/reactime.svg?branch=master)](https://travis-ci.com/oslabs-beta/reactime) [![npm version](https://badge.fury.io/js/reactime.svg)](http://badge.fury.io/js/reactime) [![Dependencies](https://david-dm.org/oslabs-beta/reactime.svg)](https://david-dm.org/oslabs-beta/reactime#info=dependencies) [![DevDependencies](https://david-dm.org/oslabs-beta/reactime/dev-status.svg)](https://david-dm.org/oslabs-beta/reactime?type=dev) [![Vulnerabilities](https://snyk.io/test/github/oslabs-beta/reactime/badge.svg)](https://snyk.io/test/github/oslabs-beta/reactime)![BabelPresetPrefs](https://img.shields.io/badge/babel%20preset-airbnb-ff69b4)![LintPrefs](https://img.shields.io/badge/linted%20with-eslint-blueviolet)
8+
9+
![demo](./assets/recoil-demo.gif) &nbsp;&nbsp;
10+
![demo](./assets/hooks-demo.gif)
11+
12+
👑 Nominated for the Productivity Booster award at [React Open Source Awards 2020](https://osawards.com/react/)! 👑
13+
14+
15+
<b>Reactime</b> is a debugging tool for React developers. It records a snapshot whenever a target application's state is changed and allows the user to jump to any previously recorded state.
16+
17+
Currently, Reactime supports React apps using stateful components and Hooks, with beta support for Recoil and Context API.
18+
19+
Reactime 5.0 beta extends the core functionality by including support for [Recoil](https://recoiljs.org/). The latest release incorporates additional visualizations for component relationships as well as atom-selector relationships for Recoil applications. Reactime 5.0 includes expanded [typedoc](https://typedoc.org/api/) documentation for developers looking to contribute to the source code.
20+
21+
After installing Reactime, you can test its functionalities with the following demo repositories:
22+
23+
- [Vanilla React Calculator](https://joshua0308.github.io/calculator/)
24+
- [Bitcoin Price Index](http://reactime-demo2.us-east-1.elasticbeanstalk.com)
25+
- [Recoil Design Tool](https://github.com/jacques-blom/recoil-design-tool)
26+
- [Recoil Todo List](https://github.com/kevinfey/recoilTest)
27+
28+
## <b>Installation</b>
29+
30+
To get started, install the Reactime [extension](https://chrome.google.com/webstore/detail/reactime/cgibknllccemdnfhfpmjhffpjfeidjga) from Chrome Web Store.
31+
32+
### Alternative Installation
33+
Use `src/extension/build/build.zip` for manual installation in [Developer mode](https://developer.chrome.com/extensions/faq#faq-dev-01). Turn on 'Allow access to file URLs' in extension details page if testing locally.
34+
35+
*** for depracated installation steps, [click here](https://github.com/open-source-labs/reactime/blob/master/readme-OldVersion.md) ***
36+
37+
## <b>How to Use</b>
38+
39+
After installing the Chrome extension, just open up your project in the browser.
40+
41+
Then open up your Chrome DevTools and navigate to the Reactime panel.
42+
43+
## <b>Features</b>
44+
45+
### Recording
46+
47+
Whenever state is changed (whenever setState, useState, or useRecoilState is called), this extension will create a snapshot of the current state tree and record it. Each snapshot will be displayed in Chrome DevTools under the Reactime panel.
48+
49+
### Viewing
50+
51+
You can click on a snapshot to view your app's state. State can be visualized in a Component Graph, JSON Tree, or Performance Graph. In a Recoil application, flow of data from atoms to components is visualized in the Relationships tab. Also, snapshots can be diffed with the previous snapshot, which can be viewed in Diff mode.
52+
53+
### Jumping
54+
55+
Using the actions sidebar, a user can jump to any previous recorded snapshots. Hitting the jump button on any snapshot will allow a user to view state data at any point in the history of the target application.
56+
57+
### TypeScript Support
58+
59+
Reactime offers beta support for TypeScript applications using stateful class components and functional components. Further testing and development is required for custom hooks, Context API, and Concurrent Mode.
60+
61+
### Documentation
62+
63+
After cloning this repository, developers can simply run `npm run docs` at the root level and serve the dynamically generated `/docs/index.html` file on a browser. Doing so will provide a readable, extensible, and interactive GUI view of the structure and interfaces of the codebase.
64+
65+
### Additional Features
66+
67+
- hover functionality to view tooltip details on state visualizations
68+
- ability to pan and zoom on state visualizations
69+
- a dropdown to support development of projects on multiple tabs
70+
- a slider to move through snapshots quickly
71+
- a play button to move through snapshots automatically
72+
- a pause button, which stops recording each snapshot
73+
- a lock button to freeze the DOM in place. setState will lose all functionality while the extension is locked
74+
- a persist button to keep snapshots upon refresh (handy when changing code and debugging)
75+
- export/import the current snapshots in memory
76+
- declarative titles in the actions sidebar
77+
78+
## <b>Authors</b>
79+
- **Haejin Jo** - [@haejinjo](https://github.com/haejinjo)
80+
- **Hien Nguyen** - [@hienqn](https://github.com/hienqn)
81+
- **Jack Crish** - [@JackC27](https://github.com/JackC27)
82+
- **Kevin Fey** - [@kevinfey](https://github.com/kevinfey)
83+
- **Carlos Perez** - [@crperezt](https://github.com/crperezt)
84+
- **Edwin Menendez** - [@edwinjmenendez](https://github.com/edwinjmenendez)
85+
- **Gabriela Jardim Aquino** - [@aquinojardim](https://github.com/aquinojardim)
86+
- **Greg Panciera** - [@gpanciera](https://github.com/gpanciera)
87+
- **Nathanael Wa Mwenze** - [@nmwenz90](https://github.com/nmwenz90)
88+
- **Ryan Dang** - [@rydang](https://github.com/rydang)
89+
- **Bryan Lee** - [@mylee1995](https://github.com/mylee1995)
90+
- **Josh Kim** - [@joshua0308](https://github.com/joshua0308)
91+
- **Sierra Swaby** - [@starkspark](https://github.com/starkspark)
92+
- **Ruth Anam** - [@peachiecodes](https://github.com/peachiecodes)
93+
- **David Chai** - [@davidchaidev](https://github.com/davidchai717)
94+
- **Yujin Kang** - [@yujinkay](https://github.com/yujinkay)
95+
- **Andy Wong** - [@andywongdev](https://github.com/andywongdev)
96+
- **Chris Flannery** - [@chriswillsflannery](https://github.com/chriswillsflannery)
97+
- **Rajeeb Banstola** - [@rajeebthegreat](https://github.com/rajeebthegreat)
98+
- **Prasanna Malla** - [@prasmalla](https://github.com/prasmalla)
99+
- **Rocky Lin** - [@rocky9413](https://github.com/rocky9413)
100+
- **Abaas Khorrami** - [@dubalol](https://github.com/dubalol)
101+
- **Ergi Shehu** - [@Ergi516](https://github.com/ergi516)
102+
- **Raymond Kwan** - [@rkwn](https://github.com/rkwn)
103+
- **Joshua Howard** - [@Joshua-Howard](https://github.com/joshua-howard)
104+
105+
## <b>License </b>
106+
107+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
108+

archive/MyMovie.gif

-1.49 MB
Binary file not shown.
File renamed without changes.
File renamed without changes.

archive/readme.md

Lines changed: 0 additions & 101 deletions
This file was deleted.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)