Skip to content

Contributing to UA Smart Signage

Welcome to UA Smart Signage! We appreciate your interest in contributing. Before you get started, please take a moment to review the following guidelines.

Reporting Bugs

Server Repository

  1. Ensure the bug has not already been reported by checking the Issues section.
  2. If the bug has not been reported, open a new issue. Please use the provided pull request template to ensure all necessary information is included.
  3. Provide a clear and detailed description of the bug, including steps to reproduce it.
  4. Include any relevant screenshots or error messages.

Media Player Repository

  1. Ensure the bug has not already been reported by checking the Issues section.
  2. If the bug has not been reported, open a new issue. Please use the provided pull request template to ensure all necessary information is included.
  3. Provide a clear and detailed description of the bug, including steps to reproduce it.
  4. Include any relevant logs or error messages.

Proposing New Features

We welcome suggestions for new features or enhancements to UA Smart Signage. To propose a new feature, please follow these steps:

Server Repository

  1. Open a new issue in the Issues section.
  2. Use the provided feature request template to describe the proposed feature or enhancement in detail.
  3. Explain the rationale behind the feature and how it would benefit the project.
  4. Be open to feedback and discussion from the community.

Media Player Repository

  1. Open a new issue in the Issues section.
  2. Use the provided feature request template to describe the proposed feature or enhancement in detail.
  3. Explain the rationale behind the feature and how it would benefit the project.
  4. Be open to feedback and discussion from the community.

Running Tests and Setting Up Your Environment

Before contributing code changes to UA Smart Signage, it's important to ensure that your environment is properly set up and that all tests pass. Here's how to do it:

  1. Clone the Server repository from GitHub:

    git clone https://github.com/UA-Smart-Signage-Platform/Content-Manager-System-and-Content-Creator-Tool
    
  2. Install any necessary dependencies by following the instructions in the README.md file.

  3. Run the tests to ensure everything is functioning correctly. You can do this by executing the following command:

    ./mvnw clean verify
    
  4. If any tests fail, investigate the issue and make necessary corrections before proceeding.

Code Style and Conventions

Please adhere to the coding style and conventions used throughout the project. This includes:

  • Following the style guide for the programming language used in the project.
  • Writing clear, concise, and well-documented code.
  • Using meaningful variable names and comments where necessary.

Definition of Done (DOD)

The Definition of Done (DOD) outlines the criteria that must be met for a task to be considered complete. It ensures that all contributions to UA Smart Signage meet a consistent standard of quality and completeness. Below is our Definition of Done:

  1. Functionality Implemented: The code must implement the desired functionality as described in the task or user story.
  2. Unit Tests Written: Unit tests covering the implemented functionality must be written and passing.
  3. Code Reviewed: The code must undergo a review by at least one other team member to ensure quality, readability, and adherence to coding standards.
  4. Documentation Updated: Any relevant documentation, including README files, API documentation, and comments within the code, must be updated to reflect changes introduced by the contribution.
  5. Integration Tests Passed: If applicable, integration tests must be executed, and all relevant tests must pass.
  6. Quality Assurance (QA) Testing: The contribution must undergo QA testing to verify its correctness, usability, and compatibility with other components of UA Smart Signage.
  7. Peer Approval: A peer must approve the completion of the task based on the above criteria.

By adhering to this Definition of Done, we ensure that all contributions meet the required standards of quality and readiness for deployment.