/taxonomy-model-application

Labor markets are diverse and fast changing, so a useful taxonomy must be localizable and adaptable in a transparent way. Our open taxonomy platform empower partners to do this.

Primary LanguageTypeScriptMIT LicenseMIT

SonarCloud

Security Rating Reliability Rating Maintainability Rating Bugs Coverage

License: MIT

Taxonomy Model App

Welcome to the Taxonomy Model App! This open-source project enables users to seamlessly explore and modify taxonomy models within the platform.

Project Overview

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.

Table of Contents

  • 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.
  • Contribution 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.

Architecture Overview

The image below shows a high level oveeview of the solution architecture of the Taxonomy Model App.

Tabiya Architecture Overview

There is a more detailed architecture diagram in the IaC Readme.

Why Contribute?

  • 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

Ways to Contribute

  1. Reporting Issues: If you encounter bugs or have suggestions, don't hesitate to open an issue on GitHub. Your feedback is valuable.
  2. Code Contributions: Help us enhance the codebase by submitting pull requests.
  3. Write/Improve Tests: We are aiming at 100% code coverage for our code. You can help us achieve this goal by writing/improving tests.
  4. Documentation: Improve project documentation by submitting pull requests. Clear documentation is crucial for new contributors.
  5. Support: Give the project a star on GitHub – your support encourages us to keep improving!

Contribution Guidelines

🎉 Thank you for considering contributing to the Taxonomy Model App! 🎉

Code Quality

We aim to achieve the following metrics on SonarCloud:

  • Code Coverage: 100%
  • Bugs: 0
  • Reliability Rating: A
  • Maintainability Rating: A

Conventional Commits

Please follow the Conventional Commits format for your commit messages.

Guidelines for Readable BDD Testing

To contribute to our 100% code coverage goal, refer to our "Guidelines for Readable BDD Testing" in the testing-guidelines.md

Getting Started

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.

  1. Fork the repository and clone it to your local environment.

  2. Create a new branch for your changes.

  3. 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 linting, building, and testing on the subprojects of the repository. To run it, use the following command:

    ./run-before-merge.sh
  4. Commit them, and push to your fork.

  5. Use descriptive commit messages following Conventional Commits.

  6. Open a pull request to our main branch.

Happy contributing! 🚀

License

This project is licensed under the MIT License. See the LICENSE file for more information.