epiverse-trace / epishiny

[FORK] Tools for interactive visualisation of epidemiological linelist data
Other
0 stars 0 forks source link

Document structure of app and interaction with analysis #5

Open adamkucharski opened 1 year ago

adamkucharski commented 1 year ago

Useful to have overview of how to edit app functionality and how it fits together for experienced R users who have less shiny experience. Could use issue #2 and issue #3 as motivating use cases for this.

Could also expand on when package will be most useful (e.g. frequent data updates relative to plot functionality/customisation required).

rebeccanash commented 1 year ago

On the branch: adapt_existing. Function documentation added (this was in agreement with edits made by the package maintainer at the same time), vignette in progress outlining the structure of the app (vignettes/epishiny_structure.Rmd).

JamesABaker commented 1 year ago

Coming into this cold, I think this is a great issue to solve.

Once a PR is opened, https://github.com/epiverse-trace/epishiny/commit/e5a2e12143785e3bc9f72c4711905390e513bbfd and https://github.com/epiverse-trace/epishiny/tree/adapt_existing goes a long way to improving the docstrings and general function documentation.

I think it could also be useful to have a couple of starting documents for contributors at a more overview level.

For example a project structure description like in https://github.com/drivendata/cookiecutter-data-science. This would help contributors to know where to put their code and data, and where functions might be that they could use, modify, and extend.


├── LICENSE
├── Makefile           <- Makefile with commands like `make data` or `make train`
├── README.md          <- The top-level README for developers using this project.
│
├── docs               <- A default Sphinx project; see sphinx-doc.org for details
│
├── references         <- Data dictionaries, manuals, and all other explanatory materials.
│
├── reports            <- Generated analysis as HTML, PDF, LaTeX, etc.
│   └── figures        <- Generated graphics and figures to be used in reporting
│
├── requirements.txt   <- The requirements file for reproducing the analysis environment, e.g.
│                         generated with `pip freeze > requirements.txt`
│
├── setup.py           <- makes project pip installable (pip install -e .) so src can be imported
├── src                <- Source code for use in this project.
│   ├── __init__.py    <- Makes src a Python module
│   │
│   └── data           <- Scripts to download or generate data
│       └── make_dataset.py
visualizations
│       └── visualize.py
│
└── tox.ini            <- tox file with settings for running tox; see tox.readthedocs.io

In the same spirit, it could also be useful to include a contributing.md file that describes how to contribute to the project. This could include things like how to set up a development environment, how to run tests on the functions, how to run/deploy the shiny server, and how to submit a PR for improving the functions.

chathuracse commented 1 year ago

It may be useful to have documentation on the minimal dataset needed and its format to help early package users.