flesh out README.md
This commit is contained in:
parent
81bbad1319
commit
384aaf2fe7
43
README.md
43
README.md
@ -1,3 +1,42 @@
|
||||
# watterblock
|
||||
watterblock
|
||||
===========
|
||||
|
||||
Webbasierter Watterblock
|
||||
This project is a web based notepad specialized for keeping score in the game of watten. It is not
|
||||
an online version of the game, and it has no social features. It is only intended to replace a
|
||||
piece of paper.
|
||||
|
||||
Principles
|
||||
----------
|
||||
|
||||
This is a hobby project, and I don't want to spend a lot of time maintaining it. Therefore, the
|
||||
following principles will guide its development.
|
||||
|
||||
1. **No feature creep:** For the time beeing, this project will not grow beyond being a simple
|
||||
score keeping tool. Logical expansions, like synching a session between users / devices, will
|
||||
not be implemented, because they would be too complicated for the time I intend to spend on
|
||||
maintenance.
|
||||
2. **Simple and stable dependencies:** I have learned in past projects that fast moving
|
||||
environments, like many modern JS frameworks, are very tedious to keep up with. Therefore all
|
||||
libraries must be stable and consistent. Also, I don't want to spend much time wrangling npm.
|
||||
Therefore all dependencies must be vendorable as a couple of files.
|
||||
3. **Baseline HTML, CSS, JS:** I don't want to spend a lot of time on build tools, transpilers,
|
||||
and similar things. Therefore all code I write has to be in one of the three fundamental web
|
||||
languages. Also, I target _baseline widely available_, nothing else. All dev tools used have to
|
||||
be able to run in the browser.
|
||||
4. **Extensive tests:** I don't want to spend a lot of time on bug hunting, therefore everything
|
||||
that can be tested automatically should be.
|
||||
|
||||
Structure
|
||||
---------
|
||||
|
||||
1. `index.html` is the main HTML file bootstraping everything.
|
||||
2. `style.css` defines how to present the notepad.
|
||||
3. `models/` contains the "business logic", i.e. classes representing the current state and its
|
||||
behaviour at runtime.
|
||||
4. `data/` contains components to store that state in persistent storage for later access.
|
||||
5. `ui/` contains UI components.
|
||||
6. `service-worker.js` is a ServiceWorker-Script, allowing for offline usage.
|
||||
7. `manifest.json` makes it possible to install the notepad as an app.
|
||||
8. `test.html` is a unit test runner, that runs the tests in `test.js`. That in turn loads tests
|
||||
from various `*.test.js` files from across the project.
|
||||
9. `vendored/` contains copies of external dependencies, for direct use.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user