Skip to content

Latest commit

 

History

History
91 lines (61 loc) · 5.57 KB

CONTRIBUTING.md

File metadata and controls

91 lines (61 loc) · 5.57 KB

Contributor Guidelines

First off, we thank you for your interest in contributing to our project. Your contributions are essential to making this project successful. In order to ensure a smooth development process for all, we humbly request that you follow these guidelines:

How to File a Bug Report

  1. Check Existing Issues: Before creating a new bug report, please check the existing Issues to see if the bug has already been reported.
  2. Create a New Issue: If the bug has not been reported, open a new issue and please provide the following information:
    • Title: A concise summary of the issue.
    • Description: A detailed description of the problem. Try include as many steps to reproduce the bug as possible.
    • Expected Behavior: What you expected to happen.
    • Actual Behavior: What actually happened.
    • Environment: Information about the environment in which the bug occured(e.g., OS, version of the project).
    • Screenshots: Attach screenshots if possible.

How to Suggest a New Feature

  1. Check Existing Features: First check out the existing Issues to ensure the feature hasn’t already been suggested.
  2. Open a New Feature Request: If you do not see the feature there, please create a new issue with the following information:
    • Title: A clear and concise title for the feature request.
    • Description: A detailed explanation of the feature, and why you think the feature would be a good addition to the project.
    • Example: An example or a mockup of how the feature would look like once implemented.

How to Submit a Pull Request

  1. Fork the Repository: Fork the repository to your GitHub account and clone it to your local machine.
  2. Create a Branch: Create a new branch for your changes with a descriptive name (git checkout -b branch-name).
  3. Make Your Changes: Implement your changes and ensure they follow good coding standards and best practises.
  4. Run Tests: Make sure all existing and new tests pass.
  5. Submit a Pull Request: Push your branch to your fork and create a pull request to the main repository. Include:
    • Title: A clear title describing the changes.
    • Description: Detailed information about the changes made and any relevant context.
    • Related Issues: Reference any related issues (e.g., Fixes #123).

The Code Review Process

  1. Code Review: Your pull request will be reviewed by project maintainers.
  2. Approval and Merge: Once approved, your pull request will be merged into the main branch.
  3. Feedback: You will receive feedback on your contribution as a comment in the pull request.

How to Set Up Your Environment and Run Tests

  1. Clone the Repository: git clone https://github.com/Stacked-Success/Softeng310.git
  2. Install Dependencies: Follow the instructions in README.md to install required dependencies.
  3. Run Tests: Use the following command to run tests: mvn test

Types of Contributions We’re Looking For

  • Bug Fixes: Identifying and resolving issues.
  • Feature Enhancements: Adding new features or improving existing ones.
  • Documentation: Improving and updating documentation.
  • Code Quality: Refactoring and improving code quality.

Types of Contributions We Do Not Want

  • Inappropriate Content: Contributions that include offensive or inappropriate content.
  • Duplicate Features: Features that are already planned or under development.
  • Unsupported Code: Code that does not adhere to our style guidelines or technical requirements.

How To Get Started As A Newcomer

If you’re new to the project, look for issues labeled good first issue or help wanted. These issues are ideal for newcomers and provide a great starting point.

Technical Requirements For Contributions

  • Testing: Please ensure that your contribution includes tests where appropriate. All tests should pass before submitting a pull request.
  • Code Style: Follow general good coding standards and best practises to maintain consistency across the project.
  • Documentation: Update documentation as needed to reflect changes made.

Our Vision

Through this project we aim to create an experience of joy for all those who love tetris. Initially our project will contain only the main gameplay features of the game Tetris, but in the future many different features will be implemented, which will help set it apart from the original game.

High-Level Design Information

As of now, the high-level design for the Tetris clone is still in the initial stages of planning. We have not yet fully defined the specific architecture or components of the project. This section will be updated as we develop the design further.

Current Status

  • Design Phase: We are in the process of conceptualizing the overall architecture and key components of the game.
  • Details: Specific details about the game engine, block management, user interface, and other components have not yet been determined.

Project Ground Rules And Expected Behaviour

  • Code of Conduct: As a contributor of our project you are expeced to adhere to our Code of Conduct.

How to Get in Touch

If you have any general questions, please use the Discussions section. For anything urgent, you can contact the maintainers directly through email.

Thank you for taking the time to read through our contributing guidlines, happy coding!