Skip to content

Commit a7ca24b

Browse files
authored
docs: project documentation (#60)
* docs: improve README documentation * docs: add architecture overview * docs: add development guide * docs: add user guide * docs: add supported formats
1 parent 5d646f9 commit a7ca24b

5 files changed

Lines changed: 161 additions & 36 deletions

File tree

README.md

Lines changed: 77 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,106 @@
11
# OpenWebSheet
2-
OpenSource Web based spreadsheet
32

3+
<<<<<<< HEAD
44
[<img src=https://github.com/code-by-sia/OpenWebSheet/workflows/CI/badge.svg />](https://github.com/code-by-sia/OpenWebSheet/actions?query=workflow%3ACI)
5+
=======
6+
OpenWebSheet is an open-source, web-based spreadsheet application. It runs in the browser, can be installed as a Progressive Web App (PWA), and stores spreadsheet documents in the project’s `.ows` format.
7+
>>>>>>> abec997 (docs: improve README documentation)
58
6-
7-
### Installed PWA:
9+
[<img src="https://github.com/SiamandMaroufi/OpenWebSheet/workflows/CI/badge.svg" alt="CI status" />](https://github.com/SiamandMaroufi/OpenWebSheet/actions?query=workflow%3ACI)
810

11+
<<<<<<< HEAD
912
<img src="https://code-by-sia.github.io/OpenWebSheet/demo.png" />
13+
=======
14+
## Demo and PWA installation
15+
>>>>>>> abec997 (docs: improve README documentation)
1016
11-
##### for installing the pwa app click on install icon at the url bar's right side
17+
<img src="https://siamandmaroufi.github.io/OpenWebSheet/demo.png" alt="OpenWebSheet demo" />
1218

19+
<<<<<<< HEAD
1320
1. <a href="https://code-by-sia.github.io/OpenWebSheet/" >Install</a> the PWA application <br />
1421
2. <a href="https://code-by-sia.github.io/OpenWebSheet/demo/DEMO.ows" download="download" target="_blank" >Download</a> the `demo.ows` sample file
1522
3. click on load *Folder Icon* and load the sample file
23+
=======
24+
1. Open the hosted app: <https://siamandmaroufi.github.io/OpenWebSheet/>
25+
2. Install the PWA using the install icon in the browser address bar.
26+
3. Download the sample file: <https://siamandmaroufi.github.io/OpenWebSheet/demo/DEMO.ows>
27+
4. Use the folder/load icon in the app to open the sample `.ows` file.
28+
>>>>>>> abec997 (docs: improve README documentation)
29+
30+
## Features
31+
32+
- Canvas-based spreadsheet rendering
33+
- Basic cell content editing
34+
- Borders
35+
- Merge and split cells
36+
- Basic formula support
37+
- Import/export support for the native `.ows` format
38+
- PWA support
39+
40+
## Roadmap
41+
42+
- [x] Basic structure
43+
- [x] Canvas rendering
44+
- [x] Basic content editor
45+
- [x] Borders
46+
- [x] Merge and split
47+
- [ ] Formula and expressions
48+
- [x] Basic support
49+
- [ ] Advanced features
50+
- [x] Import/export
51+
- [x] Mathematical formulas
52+
- [ ] OpenOffice/OpenDocument format support
53+
- [ ] Advanced UI features
1654

55+
## Project setup
1756

57+
Install dependencies:
1858

19-
20-
### Roadmap
21-
22-
* [x] basic structure
23-
* [x] canvas rendering
24-
* [x] basic content editor
25-
* [x] borders
26-
* [x] merge and split
27-
* [ ] formula and expressions
28-
* [x] Basic Support
29-
* [ ] Advanced features
30-
* [x] import/export
31-
* [x] Mathematical formulas
32-
* [ ] Open office format support
33-
* [ ] advanced ui features
34-
35-
36-
37-
## Project setup
38-
```
59+
```sh
3960
npm install
4061
```
4162

42-
### Compiles and hot-reloads for development
43-
```
63+
Start the development server:
64+
65+
```sh
4466
npm run serve
4567
```
4668

47-
### Compiles and magnifies for production
48-
```
69+
Build for production:
70+
71+
```sh
4972
npm run build
5073
```
5174

52-
### Run your tests
53-
```
54-
npm run test
55-
```
75+
Run linting:
5676

57-
### Lints and fixes files
58-
```
77+
```sh
5978
npm run lint
6079
```
6180

62-
### Run your unit tests
63-
```
81+
Run unit tests:
82+
83+
```sh
6484
npm run test:unit
6585
```
86+
87+
## Documentation
88+
89+
Additional documentation is available in the [`docs/`](docs/) directory:
90+
91+
- [Development guide](docs/development.md)
92+
- [Architecture overview](docs/architecture.md)
93+
- [User guide](docs/user-guide.md)
94+
- [Supported formats](docs/supported-formats.md)
95+
96+
## Contributing
97+
98+
1. Create an issue or choose an existing one.
99+
2. Create a focused branch for the change.
100+
3. Keep changes small and reviewable.
101+
4. Run linting and tests before opening a pull request.
102+
5. Update documentation when behavior, setup, or architecture changes.
103+
104+
## License
105+
106+
No license file is currently included in the repository. Add one before publishing or reusing the project in environments that require explicit licensing terms.

docs/architecture.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Architecture Overview
2+
3+
## High-Level Components
4+
5+
- UI Layer (currently Vue-based)
6+
- Spreadsheet core logic
7+
- Canvas renderer
8+
- Formula evaluation
9+
- Import/export subsystem
10+
- PWA integration
11+
12+
## Design Principles
13+
14+
- Keep spreadsheet logic independent from UI frameworks.
15+
- Minimize coupling between rendering and business logic.
16+
- Allow future UI migrations without rewriting the spreadsheet engine.
17+
18+
## Future Direction
19+
20+
A future React migration should focus on the UI layer only while preserving the existing spreadsheet core.

docs/development.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Development Guide
2+
3+
## Setup
4+
5+
```bash
6+
npm install
7+
npm run serve
8+
```
9+
10+
## Build
11+
12+
```bash
13+
npm run build
14+
```
15+
16+
## Testing
17+
18+
```bash
19+
npm run test:unit
20+
```
21+
22+
## Linting
23+
24+
```bash
25+
npm run lint
26+
```
27+
28+
## Contribution Workflow
29+
30+
1. Create an issue.
31+
2. Create a branch.
32+
3. Implement changes.
33+
4. Run tests and linting.
34+
5. Open a pull request.

docs/supported-formats.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Supported Formats
2+
3+
## Current
4+
5+
- .ows (OpenWebSheet native format)
6+
7+
## Planned
8+
9+
- OpenDocument Spreadsheet (.ods)
10+
11+
## Notes
12+
13+
Compatibility and import/export behavior should be documented as support expands.

docs/user-guide.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# User Guide
2+
3+
## Opening Files
4+
5+
Open the application and load an OWS spreadsheet file.
6+
7+
## Editing
8+
9+
Select cells and modify their content.
10+
11+
## Formatting
12+
13+
Borders, merge and split operations are supported.
14+
15+
## Formulas
16+
17+
Basic formula support is available. Advanced formula capabilities are tracked as a separate roadmap item.

0 commit comments

Comments
 (0)