Welcome to the Taxonomy Model App! This open-source project enables users to seamlessly explore and modify taxonomy models within the platform.
The Taxonomy Model App is a crucial component of our platform, allowing users to interact with and enhance taxonomy models. Taxonomy models play a pivotal role in organizing and categorizing data effectively. By contributing to this project, you'll be helping improve data organization and accessibility.
- API Specifications: Explore the API Specifications directory for detailed insights into the API documentation.
- Infrastructure As Code (IaC): Explore the Infrastructure as code(IAC) directory for detailed insights about the infrastructure-as-code components.
- Frontend: Explore the Frontend directory for detailed insights about the frontend react project.
- Backend: Explore the Backend directory for detailed insights about the backend Node.js project.
- Locales: Explore the Locales directory for detailed insights about the locales used in the project.
- Contribution Guidelines: Help us improve the project by contributing to various aspects.
- Deployment Guidelines: Help us improve the project by contributing to various aspects.
- Getting Started: Easy steps to set up your environment and start contributing.
- License: The project is licensed under MIT License.
- @tabiya/prettier-config: The configuration for prettier.
The image below shows a high level overview of the solution architecture of the Taxonomy Model App.
There is a more detailed architecture diagram in the IaC Readme.
- Make an Impact: Your contributions will directly improve the user experience and functionality of our platform.
- Help achieve our goals: Help improve the lives of individuals by assisting in our goal of provide access to labor market taxonomy data that is critical to job availability in lower and middle income countries
- Reporting Issues: If you encounter bugs or have suggestions, don't hesitate to open an issue on GitHub. Your feedback is valuable.
- Code Contributions: Help us enhance the codebase by submitting pull requests.
- Write/Improve Tests: We are aiming at 100% code coverage for our code. You can help us achieve this goal by writing/improving tests.
- Documentation: Improve project documentation by submitting pull requests. Clear documentation is crucial for new contributors.
- Support: Give the project a star on GitHub β your support encourages us to keep improving!
π Thank you for considering contributing to the Taxonomy Model App! π
We aim to achieve the following metrics on SonarCloud:
- Code Coverage: 100%
- Bugs: 0
- Security Rating: A
- Reliability Rating: A
- Maintainability Rating: A
- Security Hotspots Reviewed: 100%
Note: To run sonarcloud analysis locally you need to do the following:
- set the SONAR_TOKEN environment variable to your sonarcloud token
- ensure you have installed the sonar-scanner cli tool by running the following command at the projects root directory:
yarn install
- run the sonarcloud the following command:
yarn run sonar:local
We follow the Prettier code formatting guidelines to make sure the code is properly formatted in a uniform way.
You can find the configuration in the .prettierrc.json file.
Note:
For Intellij IDEA, if you make any changes to the prettier config file, you many have to restart your IDE to make sure the changes are applied, before you can format the code using the IDE's formatting function.
Please follow the Conventional Commits format for your commit messages.
To contribute to our 100% code coverage goal, refer to our "Guidelines for Readable BDD Testing" in the testing-guidelines.md
To ensure component stability, refer to our "Guidelines for log assertions" in the log-assertions-guidelines.md
To ensure component stability, refer to our "Snapshot Testing Guidelines" in the snapshot-testing-guidelines.md
To work with this repository you should have a system with a bash compatible terminal (linux, macOS, cygwin) as most of the scripts are written for bash and will not work on windows cmd or powershell.
-
Fork the repository and clone it to your local environment.
-
Create a new branch for your changes.
-
After making your changes, ensure the code is clean, properly formatted and passes all tests.
You can use the provided script,
run-before-merge.sh
, for assistance. This script performs checking of the code formatting, linting, building, and testing on the subprojects of the repository. The script also supports running sonarcloud analysis locally for the current branch and checks if it passes the quality gates. To run it, use the following command:./run-before-merge.sh
If you get any errors, fix them before proceeding.
-
Commit them, and push to your fork.
-
Use descriptive commit messages following Conventional Commits.
-
Open a pull request to our main branch.
Happy contributing! π
π For deployment guidelines, please refer to the Deployment Guidelines π
This project is licensed under the MIT License. See the LICENSE file for more information.