Skip to content

Latest commit

 

History

History
67 lines (41 loc) · 3.74 KB

File metadata and controls

67 lines (41 loc) · 3.74 KB

Contributing to Spring Petclinic Flutter

First off, thank you for taking the time to contribute! Contributions from the community help make this project a great resource for the Flutter and Spring communities.

Project Goal

This project is an educational Flutter implementation inspired by the Angular version of Spring Petclinic. Contributors should aim to keep the UI, structure, and workflow consistent with the original project and avoid unnecessary deviations unless clearly justified. For reference, you can explore the Spring Petclinic community.

How Can I Contribute?

You can contribute in several ways, including reporting bugs, suggesting enhancements, improving documentation, writing and improving tests, and providing general feedback.

Important: Please open an issue before starting any work. This allows discussion, helps define the scope, and ensures contributions align with the project direction.

Reporting Bugs

  • Check existing issues: See if the bug has already been reported in the Issue Tracker.
  • Provide detail: When opening a new issue, include a clear title, description, steps to reproduce, and any relevant logs or screenshots.
  • Environment: Mention your Flutter version (flutter doctor -v) and the platform (Android/Web) where the bug occurs.

Bug Fix

If you would like to fix a bug, please ensure that an issue exists and is clearly defined. Keep your changes focused on the problem and avoid introducing unrelated modifications.

New Features

New features should be discussed through an issue before implementation. This helps ensure the feature aligns with the project goals and avoids duplicate or unnecessary work.

Enhancements & Miscellaneous

If you have ideas for improvements such as refactoring, performance optimizations, documentation updates, or test coverage, feel free to propose them. Clearly explain the purpose and expected benefit of your changes.

Contribution Requirements

To ensure your contribution is accepted:

  • Code follows the project's formatting, linting, and style guidelines
  • Code is properly formatted (e.g., dart format .)
  • Code must pass static analysis checks (e.g., flutter analyze should show no issues)
  • All existing and newly added tests pass successfully (e.g., flutter test), and any new functionality includes appropriate test coverage where applicable
  • Pull request title and commit messages follow the conventional commit format (e.g., feat:, fix:, docs:, chore:, etc.), are clear and descriptive, and accurately reflect the changes made

Creating a Pull Request

Ensure your changes are associated with an existing issue. This helps define the scope, avoid duplicate efforts, and keep contributions aligned with the project.

  • Fork the repository and create a new branch using a meaningful name
  • Make your changes and sync with the latest updates from the main repository if needed
  • Push your branch and open a Pull Request

Keep your changes focused on the scope of the issue and avoid introducing unrelated modifications. Prefer small, easy-to-review pull requests and write clear, meaningful commit messages.

Final Checklist

  • Code follows the project structure and naming conventions, with no unrelated changes included
  • Changes are properly tested and do not break existing functionality
  • PR is focused on a single purpose and includes only necessary files and updates

Follow Your Issue

After creating an issue or Pull Request:

  • Stay responsive to feedback
  • Make requested changes promptly
  • Be open to suggestions and improvements

💙 Thanks again for contributing!