Skip to content

JOSS publication requirements #70

Description

@ChristopherMarais

JOSS Submission Checklist for GTMNERR Science Dashboard

This checklist outlines the necessary steps to prepare the repository for a successful submission to the Journal of Open Source Software (JOSS).


✅ Essential Files & Metadata

These items are required by JOSS for a submission to be considered.

  • Add an OSI-approved LICENSE file.

    • Create a file named LICENSE or LICENSE.md in the root of the repository.
    • Choose a license (e.g., MIT, GPL-3, Apache 2.0). You can use choosealicense.com for help.
  • Create the paper.md file.

    • This is a short (250-1000 word) paper describing the research application of the software.
    • It must be in the root of the repository.
    • Follow the JOSS Paper Format guidelines.
    • Include a title, summary, author list with affiliations, and statement of need.
  • Create a references.bib file.

    • This file will contain all references cited in paper.md in BibTeX format.
    • Ensure the .bib file is referenced correctly within the paper.md file.

👍 Recommended Files for Community & Discoverability

These files are not strictly required but are best practices that JOSS reviewers look for.

  • Add a CONTRIBUTING.md file.

    • Explain how others can contribute to the project (e.g., reporting bugs, submitting pull requests).
  • Add a CODE_OF_CONDUCT.md file.

    • Adopt a code of conduct to foster a welcoming community. The Contributor Covenant is a good template.
  • Generate a codemeta.json file.

    • This file provides standardized metadata about the software. JOSS provides an R script to help generate this.

🚀 Documentation & Local Usability

Reviewers must be able to easily install and run the software locally.

  • Update the main README.md with clear instructions.

    • Add a dedicated section for local installation and execution. Include the following two methods:

    • Method 1: Running with R

      • List prerequisites (R version).
      • Provide a git clone command.
      • Provide a command to install all R package dependencies:
        install.packages(c(
          "shiny", "shinydashboard", "shinyjs", "shinyWidgets", "shinybusy",
          "bslib", "leaflet", "plotly", "sf", "dplyr", "readr", "lubridate",
          "stringr", "forcats", "tidyr", "ggplot2", "ggthemes", "scales",
          "viridis", "RColorBrewer", "cowplot"
        ))
      • Provide the command to launch the app: shiny::runApp()
    • Method 2: Running with Docker

      • List prerequisites (Docker Desktop).
      • Provide a git clone command.
      • Provide the command to build the Docker image: docker build -t gtm-dashboard -f 05_DASHBOARD/Dockerfile .
      • Provide the command to run the container: docker run -p 3838:3838 gtm-dashboard
      • Provide the URL to access the app: http://localhost:3838
  • Add instructions for running tests.

    • Create a section in the README.md explaining how a user can run the tests located in the 04_Tests directory.

🔬 Final Review

Perform a final check against JOSS policies before submitting.

  • Confirm software meets JOSS "substantial scholarly effort" criteria.

    • The software should represent a significant contribution (rule of thumb is >3 months of effort).
    • The code is feature-complete and well-structured.
  • Confirm software meets criteria for web-based tools.

    • The application is built around a "core library" of functions and demonstrates rigorous design. Be prepared to explain this in the paper.md and review thread.
  • Check for any potential conflicts of interest.

    • All authors must disclose any potential COIs at submission time.
  • Review authorship list.

    • Ensure all major contributors are listed as authors and have agreed to be listed.
  • Read through the full JOSS Submission Requirements one last time.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions