tabiya-tech / 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.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Architecture Overview

The image below shows a high level overview 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
  • 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:

  1. set the SONAR_TOKEN environment variable to your sonarcloud token
  2. ensure you have installed the sonar-scanner cli tool by running the following command at the projects root directory:
 yarn install
  1. run the sonarcloud the following command:
    yarn run sonar:local

Code Formatting

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.

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

Guidelines for Log assertions

To ensure component stability, refer to our "Guidelines for log assertions" in the log-assertions-guidelines.md

Guidelines for Snapshot Testing

To ensure component stability, refer to our "Snapshot Testing Guidelines" in the snapshot-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 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.

  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! πŸš€

Deployment Guidelines

πŸš€ For deployment guidelines, please refer to the Deployment Guidelines πŸš€

License

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

About

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.

License:MIT License


Languages

Language:TypeScript 98.9%Language:JavaScript 0.4%Language:HTML 0.2%Language:Shell 0.2%Language:CSS 0.1%Language:Batchfile 0.1%