Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In general our O2A software is open source, free of charge and may be re-used in other contexts. Our software is administrated in the gitlab.awi.de repository and you can also find examples on github.com also. To foster and streamline software development we want to have one central managed code basis. All splitted branches for new features and bug fixes shall be finally merged into the central master branch aligned with Gitflow. The agile software development process for each O2A component is managed in 2-weekly sprints with jira-software.awi.de following SCRUM-based principles.

...

Our software development follows some simple rules as best practices. Use the following topics and tasks as guideline and checklist.

...

  •  Use Git. gitlab.awi.de
  •  Commit and push your daily work.
  •  Use Gitflow semantics to structure contributions aligned with tickets.
  •  Each repository must have a README.md markdown file in its root directory describing the project (see template below).
  •  Each repository must have a .gitignore file in its root directory defining files to exclude or force inclusion (see example below).


Code Block
titleREADME.md template
collapsetrue
# Name of the project and repository content

* Short description of the project and repository content.

* Provide relative links to demonstrators in this repository.

* Provide an overview of the architecture and relation to other projects.

* Use [diagrams.net](https://diagrams.net) for your sketches and provide a editable link here.


## Getting started

* Describe how to start with this project.


### Prerequisites

* Describe requirements to fulfill before starting.


### Installing

* Describe how to install required software and this software.


## Tests

* Describe how to test this software.


## Deployment

* Describe how to deploy this software including required prerequisites and configuration.


## Contributing

* Describe how to contribute to this project. At best you link to general [documentation](https://spaces.awi.de/x/bu7FEw) and improve it if necessary.


## Versioning

* Describe shortly the versioning approach.


## Authors

* List the authors and emails here.


## License

We have a BSD-3-Clause license and refer to [documentation](https://spaces.awi.de/x/bu7FEw).


## Acknowledgments

* Any acknowledgements?


## Notes

* Any additional notes?

...

  •  Use basic JavaScript supported features.
  •  Follow the JavaScript, HTML/CSS code style guides.
  •  Don't get for 3rd-party libraries for simple and standard functions if not required. Discuss the trade-off.
  •  Use JavaScript modules where ever possible and useful. Keep an eye on re-usability and usage in other contexts.
  •  Provide an index.js in module directories to bundle useful module classes.
  •  Always provide JSDoc for classes, methods and integrations. Don't comment every line or simple getters and setters.
  •  Use primary used frameworks: Bootstrap, Leaflet, D3.js, Plotly, jQuery. Discuss using frameworks like React, Vue or similar.
  •  Use bundling tools for web-optimizing, not for primary development.

...