Skip to content

Commit 8fc70af

Browse files
committed
Update README contents, still missing new gif
1 parent f23c59d commit 8fc70af

File tree

5 files changed

+106
-103
lines changed

5 files changed

+106
-103
lines changed

README.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
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)
8+
9+
10+
![demo](./archive/MyMovie.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 state whenever it is changed and allows the user to jump to any previously recorded state.
16+
17+
Reactime is for 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+
### Additional Features
62+
63+
- hover functionality to view tooltip details on state visualizations
64+
- ability to pan and zoom on state visualizations
65+
- a dropdown to support development of projects on multiple tabs
66+
- a slider to move through snapshots quickly
67+
- a play button to move through snapshots automatically
68+
- a pause button, which stops recording each snapshot
69+
- a lock button to freeze the DOM in place. setState will lose all functionality while the extension is locked
70+
- a persist button to keep snapshots upon refresh (handy when changing code and debugging)
71+
- export/import the current snapshots in memory
72+
- declarative titles in the actions sidebar
73+
74+
## <b>Authors</b>
75+
- **Haejin Jo** - [@haejinjo](https://github.com/haejinjo)
76+
- **Hien Nguyen** - [@hienqn](https://github.com/hienqn)
77+
- **Jack Crish** - [@JackC27](https://github.com/JackC27)
78+
- **Kevin Fey** - [@kevinfey](https://github.com/kevinfey)
79+
- **Carlos Perez** - [@crperezt](https://github.com/crperezt)
80+
- **Edwin Menendez** - [@edwinjmenendez](https://github.com/edwinjmenendez)
81+
- **Gabriela Jardim Aquino** - [@aquinojardim](https://github.com/aquinojardim)
82+
- **Greg Panciera** - [@gpanciera](https://github.com/gpanciera)
83+
- **Nathanael Wa Mwenze** - [@nmwenz90](https://github.com/nmwenz90)
84+
- **Ryan Dang** - [@rydang](https://github.com/rydang)
85+
- **Bryan Lee** - [@mylee1995](https://github.com/mylee1995)
86+
- **Josh Kim** - [@joshua0308](https://github.com/joshua0308)
87+
- **Sierra Swaby** - [@starkspark](https://github.com/starkspark)
88+
- **Ruth Anam** - [@peachiecodes](https://github.com/peachiecodes)
89+
- **David Chai** - [@davidchaidev](https://github.com/davidchai717)
90+
- **Yujin Kang** - [@yujinkay](https://github.com/yujinkay)
91+
- **Andy Wong** - [@andywongdev](https://github.com/andywongdev)
92+
- **Chris Flannery** - [@chriswillsflannery](https://github.com/chriswillsflannery)
93+
- **Rajeeb Banstola** - [@rajeebthegreat](https://github.com/rajeebthegreat)
94+
- **Prasanna Malla** - [@prasmalla](https://github.com/prasmalla)
95+
- **Rocky Lin** - [@rocky9413](https://github.com/rocky9413)
96+
- **Abaas Khorrami** - [@dubalol](https://github.com/dubalol)
97+
- **Ergi Shehu** - [@Ergi516](https://github.com/ergi516)
98+
- **Raymond Kwan** - [@rkwn](https://github.com/rkwn)
99+
- **Joshua Howard** - [@Joshua-Howard](https://github.com/joshua-howard)
100+
101+
## <b>License </b>
102+
103+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
104+

archive/readme.md

Lines changed: 0 additions & 101 deletions
This file was deleted.

assets/readme-logo-300.png

30.8 KB
Loading

assets/readme-logo-small.png

78.5 KB
Loading

readme_2.md renamed to src/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ src/
5757
- These two files help us handle requests both from the web browser and from the Reactime extension itself
5858

5959
Still unsure about what contents scripts and background scripts do for Reactime, or for a chrome extensions in general?
60-
- The implementation details [can be found](./src/extension/background.js) [in the files](./src/extension/contentScript.ts) themselves.
60+
- The implementation details [can be found](./extension/background.js) [in the files](./extension/contentScript.ts) themselves.
6161
- We also encourage you to dive into [the official Chrome Developer Docs](https://developer.chrome.com/home). Some relevant sections are reproduced below:
6262

6363
> Content scripts are files that run in the context of web pages.
@@ -88,7 +88,7 @@ Still unsure about what contents scripts and background scripts do for Reactime,
8888

8989
The general flow of data is described in the following steps:
9090

91-
![demo](./AppStructureDiagram.png)
91+
![demo](../archive/AppStructureDiagram.png)
9292

9393
1. When the background bundle is loaded by the browser, it executes a script injection into the dom. (see section on *backend*). This script uses a technique called [throttle](https://medium.com/@bitupon.211/debounce-and-throttle-160affa5457b) to send state data from the app to the content script every specified milliseconds (in our case, this interval is 70ms).
9494

0 commit comments

Comments
 (0)