First off, thank you for considering contributing to ePlant! By submitting your work, you agree that it can be shared under the terms of our license.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
If you find a bug, please create an issue on GitHub with the following information:
- Summary: A brief summary of the bug.
- Steps to Reproduce: Detailed steps to reproduce the bug.
- Expected Result: What you expected to happen.
- Actual Result: What actually happened.
- Screenshots: Any screenshots that might help us understand the issue.
We welcome feature requests! To suggest a new feature, please open an issue on GitHub and provide:
- Summary: A brief summary of the feature.
- Motivation: Why you think this feature is needed.
- Use Cases: How you expect the feature to be used.
- Workarounds (Optional): Any workaround that you currently use.
-
Fork the repository: Click the "Fork" button at the top of this repository to create your own copy of the project.
-
Clone the repository: Go to the new fork. There is a big green button to clone.
git clone <fork_address>
-
Set upstream: Set up the main ePlant project as your upstream branch.
git remote add upstream https://github.com/BioAnalyticResource/ePlant
-
Verify versions: Most folks are working with _Node v18.0.0^ and npm 9.8.0^. You can install Node from here.
node -v npm -v
-
Download all dependancies:
npm i
-
Run the app locally:
npm run dev
- Create a branch
git checkout -b your-branch-name
- Make changes: Make changes in your forked repository.
- Test your changes: Make sure your changes are working correctly.
- Commit your changes:
git commit -m "Your commit message"
- Push to your own fork:
git push origin your-branch-name
- Submit a pull request: Choose your fork as the head repository and https://github.com/BioAnalyticResource/ePlant/ as the base repository.
Please include in the PR:
- Issue: The issue(s) related to the work done.
- Previous behaviour: A description of the behaviour was changed.
- Updated behaviour: How the new changes affect the expected behaviour.
- Notes (Optional): Additional notes.
This is an abridged version of the Google style guide and MS Typescript Coding guidelines, plus some tweaks to make it our own.
Use Prettier and ESLint for code formatting. You may want to install the plugin for your IDE to get live feedback and you can configure your IDE to apply auto formatting when you save a file. Using the tsconfig.json file, you can customize the rules for type checking. Avoid removing and/or ignoring default rules as much as possible. If you feel strongly about a rule please outline the changes into a PR and we can discuss the merits of introducing a new change.
All the new code must be written in typescript and all the types should be clearly defined in the project.
If your change affects any part of the documentation, please update the README.md
accordingly.
Make sure to run all tests before submitting your changes. If you add new functionality, please include tests for it.
If you need help, feel free to ask questions by opening an issue. We appreciate your contributions!
Thank you for contributing to ePlant!