103 lines
3.3 KiB
Markdown
103 lines
3.3 KiB
Markdown
# Dyomedea
|
|
|
|
## Hiking app.
|
|
|
|
## Documentation
|
|
|
|
```bash
|
|
vdv@nuc:~/projects/tea/dyomedea/dyomedea$ npx typedoc
|
|
./src/serviceWorkerRegistration.ts:21:0 - warning Config is referenced by serviceWorkerRegistration.register.register.config but not included in the documentation.
|
|
|
|
21 type Config = {
|
|
|
|
Documentation generated at ./doc
|
|
vdv@nuc:~/projects/tea/dyomedea/dyomedea$
|
|
```
|
|
|
|
## Components
|
|
|
|
TBD
|
|
|
|
## Data formats
|
|
|
|
There is a number of data formats more or less specific to geography and hiking, such as:
|
|
|
|
* [GPX 1.1 Schema Documentation](https://www.topografix.com/GPX/1/1/)
|
|
* [GeoJSON](https://geojson.org/)
|
|
* [Keyhole Markup Language - Wikipedia](https://en.m.wikipedia.org/wiki/Keyhole_Markup_Language)
|
|
* [Elements — OpenStreetMap Wiki](https://wiki.openstreetmap.org/wiki/Elements)
|
|
* [<svg> - SVG: Scalable Vector Graphics | MDN](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/svg)
|
|
|
|
SVG is very generic and is used to draw 2D figures in HTML applications and doesn't care about geography.
|
|
|
|
KML, GeoJSON and OSM elements have been designed to represent generic geographical points and shapes.
|
|
|
|
GPX is more specific, having been designed to represent routes and tracks and its semantics are directly useable in our application.
|
|
|
|
The structure of our components and indexes can therefore follow the GPX format.
|
|
|
|
OSM elements is interesting to extract information from the OSM DB, either by querying their API or by downloading portions of the database.
|
|
|
|
GeoJSON might be of interest as an intermediate format since a number of JS libraries have been developed to perform queries or draw GeoJSON data as SVG.
|
|
|
|
KML might be considered as an import format.
|
|
|
|
And SVG, of course will be used to render tracks and routes on a map since its elements are directly supported by React.
|
|
|
|
## Notes to self
|
|
|
|
### Patching node_modules
|
|
|
|
This can be done by updating their sources in the node_modules directory and using the patch-package npm CLI command (thanks [stackoverflow](https://stackoverflow.com/a/13302095/1402881)) :
|
|
|
|
```
|
|
$npx patch-package localized-strings
|
|
```
|
|
|
|
However, it takes ages before `ionic serve` takes these modifications into account.
|
|
|
|
### Visual Code snippets
|
|
|
|
* [Create Your Own VSCode Snippets - DEV Community 👩💻👨💻](https://dev.to/brianmmdev/create-your-own-vscode-snippets-33c7)
|
|
* [vscode settings - How can I create templates for file extensions in Visual Studio Code? - Stack Overflow](https://stackoverflow.com/questions/50571130/how-can-i-create-templates-for-file-extensions-in-visual-studio-code)
|
|
|
|
|
|
### Useful commands
|
|
```bash
|
|
vdv@nuc:~/projects/tea/dyomedea/dyomedea$ adb --version
|
|
Android Debug Bridge version 1.0.41
|
|
Version 33.0.3-8952118
|
|
Installed as /homext/Android/Sdk/platform-tools/adb
|
|
|
|
$ ionic capacitor run --target RFCN20NEZ4R android
|
|
|
|
$ ionic serve --no-open
|
|
|
|
$ npm test
|
|
|
|
$ npx typedoc
|
|
|
|
$ npx trapeze run trapeze.config.yaml
|
|
|
|
vdv@nuc:~/projects/tea/dyomedea/dyomedea$ echo $ANDROID_SDK_ROOT
|
|
/home/vdv/Android/Sdk
|
|
|
|
```
|
|
|
|
### To (re)generate android/
|
|
|
|
```bash
|
|
$ rm capacitor.config.ts
|
|
$ rm -rf android
|
|
$ npx cap init dyomedea com.dyomedea.dyomedea # assets in dist/
|
|
$ npx cap add android
|
|
$ cp AndroidManifest.xml ./android/app/src/main/AndroidManifest.xml
|
|
$ npx cap run --target RFCN20NEZ4R android
|
|
|
|
```
|
|
|
|
### Patches
|
|
|
|
* suid: https://github.com/swordev/suid/issues/89
|
|
|