Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/habbes/spreadsheet
Simple spreadsheet web app
https://github.com/habbes/spreadsheet
javascript react spreadsheet webapp
Last synced: 7 days ago
JSON representation
Simple spreadsheet web app
- Host: GitHub
- URL: https://github.com/habbes/spreadsheet
- Owner: habbes
- Created: 2019-07-19T14:03:04.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T04:50:38.000Z (almost 2 years ago)
- Last Synced: 2024-04-14T20:23:22.706Z (8 months ago)
- Topics: javascript, react, spreadsheet, webapp
- Language: JavaScript
- Homepage: https://sheets.habbes.xyz
- Size: 20.7 MB
- Stars: 7
- Watchers: 3
- Forks: 2
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Quicksheets
A simple browser-based spreadsheet app: https://sheets.habbes.xyz
![Quicksheets screencast](screencast.gif)
## How it works
When a cell on the spreadsheet is updated, all the non-empty cells
are parsed and evaluated and updated with their new values (or errors). It has plenty of room for optimization but should be good enough for a sparse 50x26 grid.To enter a formula in a cell, prefix the formula expression with `=`, e.g. `=SUM(A1:A10)`.
### Code organisation
- `src`
- `app`: contains all the UI code, based on React and Redux
- `lib`: contains the modules implementing the core spreadsheet engine
- `eval`: modules responsible for parsing and evaluating formulae and expressions
- `functions`: implementations of the functions available in the spreadsheet (e.g. SUM, PRODUCT, etc.)
- `grid`: abstractions for working with 2-D grids
- `spreadsheet.js`: implements the `Spreadsheet` class that encapsulate the entire spreadsheet engineThe formula syntax is specified in [grammar.md](grammar.md).
All available built-in functions are listed in [functions.md](functions.md)
Unit tests are located in `tests` folders in the various subfolders under the `src` directory.
E2E tests are located in `cypress/integration` directory.## Available Scripts
In the project directory, you can run:
- `yarn start`
Runs the app in the development mode.
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.The page will reload if you make edits.
You will also see any lint errors in the console.- `yarn test`
Runs unit tests in interactive mode. Tests are re-run when files are changed.
- `yarn test:e2e`
Runs end-to-end tests (using Cypress)
- `yarn test:e2e-watch`
Allows you to run end-to-end tests interactively and watch them on a GUI.
- `yarn test:all`
Runs all the tests
- `yarn build`
Builds the app for production to the `build` folder.
- `yarn deploy`
Builds and deploys the app to Firebase hosting.