Skip to content
This repository has been archived by the owner on Mar 15, 2024. It is now read-only.

USGS-WiM/StreamStats

Repository files navigation

WiM

Update, 2024-03-15: Deprecated

This repository has been has moved to a different hosting platform and is no longer being actively maintained. Please see StreamStats Repository for latest updates related to this effort.

StreamStats

StreamStats client application

Prerequisites

required software

Install global dependencies

npm install -g gulp
npm install -g typings

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Installing

Clone the repository (https://help.github.com/articles/cloning-a-repository/)

git clone https://github.com/USGS-WiM/StreamStats

Inside of your project folder (after clone):

npm install
typings install 
npm install -g concurrently
npm install -g live-server

Development Workflow

An issue will be assigned to you via GitHub. Your workflow begins after assignment:

  1. Create a branch based on the dev branch with your initials and the issue number as the branch name (e.g. JD-5): git checkout -b JD-5
  2. Work on the issue.
    1. In the "Projects" section on the sidebar of the issue page, under "StreamStats Ecoystem", change the "Status" to "In Progress".
    2. While you work, you may wish to have the app running live with live reload: npm start
    3. Add your changes: git add .
    4. Check that your files were added as expected: git status
    5. Frequently commit your work to your local branch. Use simple, short, and descriptive messages with a verb describing the work. Include the issue number. Example: git commit -m "#5 added styling"
  3. Update the CHANGELOG.md to describe your work.
  4. Ensure your code is synced with the latest version of the dev branch:
    1. Use this command: git pull origin dev
    2. If there are no merge conflicts, the updates made to the dev branch will be incorporated into your local branch automatically.
    3. If there are merge conflicts, you will need to resolve conflicts manually. Please be careful with this step so that no code is lost. Once complete, you will need to add your changes: git add . and then commit again: git commit -m "add message here"
  5. Push your committed and synced branch to the remote repository on GitHub: git push origin JD-5
  6. Submit a Pull Request:
    1. Request that your branch be merged into the dev branch.
    2. Name the Pull Request in this format: "Fixes #5 - Issue Description".
    3. Use keywords to automatically close issues (e.g. "Closes #5).
    4. Assign a reviewer (typically the lead developer).
  7. Once your Pull Request is reviewed, address any feedback that needs to be addressed. Once you have addressed feedback, click the button to re-request review.
  8. Upon approval of the Pull Request, your issue will be merged into the dev branch and you can start on a new issue.

Building and testing

Serve files with hot module replacement (live reload)

npm start

To build a production version of the app:

npm run-script build

Contributing

Please read CONTRIBUTING.md for details on the process for submitting pull requests to us. Please read CODE_OF_CONDUCT.md for details on adhering by the USGS Code of Scientific Conduct.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Commit, Sync, and Merge Pull Request on any current project changes. The steps below require a clean git status.

Make sure you have the latest dependencies by running npm install

Step 1.

Update version number. Search for the current version number in the code, replace all instances of old version number with new version number.

Step 2.

Push the commit that contains the json files with bumped versions to your personal github repo

git add .
git commit -m "bump version"
Step 3.

Create pull request with version incremented (github.com)

Step 4.

Create new release on github.com

To push tags to remote origin: git push origin --tags

*Note that your alias for the remote origin may differ.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the Creative Commons CC0 1.0 Universal License - see the LICENSE.md file for details

Suggested Citation

In the spirit of open source, please cite any re-use of the source code stored in this repository. Below is the suggested citation:

This project contains code produced by the Web Informatics and Mapping (WIM) team at the United States Geological Survey (USGS). As a work of the United States Government, this project is in the public domain within the United States. https://wim.usgs.gov

About WIM

  • This project authored by the USGS WIM team
  • WIM is a team of developers and technologists who build and manage tools, software, web services, and databases to support USGS science and other federal government cooperators.
  • WiM is a part of the Upper Midwest Water Science Center.