Last Revised: 2023-01-08
This README is an overview of
- the tools used by Mushroom Observer (MO) and
- the other READMEs in this repository.
See https://mushroomobserver.org/info/intro for an introduction to the website itself.
MO uses git for version control and management of MO code. The source code is hosted on github. The URL for the MO source repository is https://github.com/MushroomObserver/mushroom-observer.
We use Github Actions to implement Continuous Integration (CI). Pushing a commit to GitHub triggers a workflow run that includes:
- testing with minitest,
- submitting the results to Coveralls to get a coverage report,
- running Codeclimate to get a quality control report.
Our test suite uses minitest and extensions. See our Gemfile for more details. The test suite is run as part of our CI, and also can be run locally.
We use Coveralls to obtain a report about test coverage. Coveralls is run as part of our CI, and also can be run locally. Its reports include total coverage and coverage for each line of code. The reports highlight newly uncovered lines so that we can maintain a high degree of coverage.
We use Codeclimate and plugins, like RuboCop and Brakeman, to help maintain and improve code quality, including a consistent style. See our Codeclimate configuration file for more details.
We use RuboCop and extensions to help with code quality and consistentcy of style. See our RuboCop configuration file for more details. RuboCop is run as part of our CI, and also can be run locally. (We are a long way from where we want to be. We have hundreds of offenses to fix. See our Ruboco Todo file.)
We use Brakeman to highight some security issues.
To get started developing we recommend that you head over to https://github.com/MushroomObserver/developer-startup which provides instructions for getting a virtual machine development environment set up on Mac, Linux and Windows machines.
The following files should provide useful information for working with the Mushroom Observer code base. These files are quite out-of-date, so be sure to take them with a grain of salt.
README_CODE: Provides a snapshot of the major components of Mushroom Observer.
README_DEVELOPMENT_INSTALL: If for some reason you want to install our code locally, this file describes the steps used by one developer. You are encouraged to update this document with your own experience. Also see MACOSX_NOTES for notes about setting up a local Apple M1 working under the Monterey (12.4) version of MacOS.
Rather than running our code locally on your hardware, we recommend using the process outlined in https://github.com/MushroomObserver/developer-startup to create a development environment on a virtual machine.
README_PRODUCTION_INSTALL: Describes the steps needed to setup our production environment.
README_STANDARDS: The closest we have to coding standards. Currently this is very brief.
README_TRANSLATIONS: Details needed for translators to provide support in for the site in a new language.
Copyright (c) © 2006-2023 Mushroom Observer, Inc. See License for further details.