Code Monkey home page Code Monkey logo

nextgen-info's Introduction

OWP Open Source Project Template Instructions

  1. Create a new project.
  2. Copy these files into the new project
  3. Update the README, replacing the contents below as prescribed.
  4. Add any libraries, assets, or hard dependencies whose source code will be included in the project's repository to the Exceptions section in the TERMS.
  • If no exceptions are needed, remove that section from TERMS.
  1. If working with an existing code base, answer the questions on the open source checklist
  2. Delete these instructions and everything up to the Project Title from the README.
  3. Write some great software and tell people about it.

Keep the README fresh! It's the first thing people see and will make the initial impression.

Installation

To install all of the template files, run the following script from the root of your project's directory:

bash -c "$(curl -s https://raw.githubusercontent.com/NOAA-OWP/owp-open-source-project-template/open_source_template.sh)"

Project Title

Description: Put a meaningful, short, plain-language description of what this project is trying to accomplish and why it matters. Describe the problem(s) this project solves. Describe how this software can improve the lives of its audience.

Other things to include:

  • Technology stack: Indicate the technological nature of the software, including primary programming language(s) and whether the software is intended as standalone or as a module in a framework or other ecosystem.
  • Status: Alpha, Beta, 1.1, etc. It's OK to write a sentence, too. The goal is to let interested people know where this project is at. This is also a good place to link to the CHANGELOG.
  • Links to production or demo instances
  • Describe what sets this apart from related-projects. Linking to another doc or page is OK if this can't be expressed in a sentence or two.

Screenshot: If the software has visual components, place a screenshot after the description; e.g.,

Dependencies

Describe any dependencies that must be installed for this software to work. This includes programming languages, databases or other storage mechanisms, build tools, frameworks, and so forth. If specific versions of other software are required, or known not to work, call that out.

Installation

Detailed instructions on how to install, configure, and get the project running. This should be frequently tested to ensure reliability. Alternatively, link to a separate INSTALL document.

Configuration

If the software is configurable, describe it in detail, either here or in other documentation to which you link.

Usage

Show users how to use the software. Be specific. Use appropriate formatting when showing code snippets.

How to test the software

If the software includes automated tests, detail how to run those tests.

Known issues

Document any known significant shortcomings with the software.

Getting help

Instruct users how to get help with this software; this might include links to an issue tracker, wiki, mailing list, etc.

Example

If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.

Getting involved

This section should detail why people should get involved and describe key areas you are currently focusing on; e.g., trying to get feedback on features, fixing certain bugs, building important pieces, etc.

General instructions on how to contribute should be stated with a link to CONTRIBUTING.


Open source licensing info

  1. TERMS
  2. LICENSE

Credits and references

  1. Projects that inspired you
  2. Related projects
  3. Books, papers, talks, or other sources that have meaningful impact or influence on this project

nextgen-info's People

Contributors

hankherr-noaa avatar

Watchers

Phil Miller - NOAA avatar Nels avatar Andy Wood avatar Naoki Mizukami avatar Scott D. Peckham avatar Shengting Cui avatar  avatar Ryan Grout avatar Justin Singh-M. - NOAA avatar Chris Tubbs avatar AJKhattak-NOAA avatar Brian Avant avatar StephenDrake-NOAA avatar K. Jennings avatar Adam Wlostowski avatar

nextgen-info's Issues

Meta framework versioning and integration semantics

NextGen consists of a several moving parts each with standalone development and versioning semantics. In order to know what parts are compatible when integrated and used together, some semantic versioning of the meta framework would be quite useful. Here is a proposed scheme for versioning:

Each repository related to NextGen maintains its own versioning and releases based on whatever that project decides/needs, but when a component is tested in the larger NextGen context and shown to work, it can apply a Git tag to its history indicating the semantic framework version it is compatible with, this might look like

tag: meta-alpha-0.1
for a component tested with other NextGen components at the meta alpha-0.1 release
The project could have its own tags/releases without the meta prefix for tracking its own history and release/state, e.g.

tag: beta-0.2 -- component released version beta-0.2

The "trick" here is likely defining the semantic bumps in the meta framework version -- what constitutes non-breaking changes? I would say initially that can simply be when any component or combination of components is "updated" to newer component versions but the overall system still integrates (at least technically) without breaking another component.

Major version changes would bump when a component/s change in such a way that other components break without their own changes to make them compatible. No these changes could be done in conjunction and joined into a minor meta release, or if done independently, maybe this constitutes a major bump?

I don't have all the answers at the moment, but wanted to put this thought down and invite discussion/ideas about how this may be implemented, used, and/or helpful!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.