FitTrackee/CONTRIBUTING.md
2022-04-09 10:16:52 +02:00

2.6 KiB

Contributing to FitTrackee

First off, thank you for your interest in contributing!

Report issues, ask for features

  • If a bug is a security vulnerability, please refer to security policy.

  • Ensure an issue was not already opened by searching on GitHub under Issues.

  • If not, open a new one with a descriptive title and provide a description.

Contributing Code

Project repository

The GitHub repository contains:

  • source code (note that the repository also includes client build),
  • tests,
  • documentation (source and build).

Continuous integration workflows run on Github Actions platform (on push and pull requests).

How to install FitTrackee

see Installations instructions

Pull Requests

Please make your changes from the development branch (dev).

  • Fork the repository (see GitHub instructions)

  • Implement your feature.

  • If your changes need a database migration:

    • You can generate one after updating models with the following command:
      $ make migrate-db
      
    • For data migration, an empty migration can be created with this following command:
      $ make revision MIGRATION_MESSAGE="<MIGRATION_MESSAGE>"
      
    • Rename the migration, prefixing with the next number.
    • To apply database changes:
      $ make upgrade-db
      
    • Check the downgrade migration.
  • Run checks (lint, type check and unit tests).

    $ make check-all
    

    There are some end-to-end tests, to run them (needs a running application):

    $ make test-e2e
    
  • If needed, add or update tests.

  • If needed, update documentation (no need to build documentation, it will be done when releasing).

  • If updated code contains client-side changes, you can generate a build, in a separate commit to ease code review (or to easily drop it in case of conflicts when updating your branch).

    $ make build-client
    
  • Create your pull request to merge on dev branch.

  • Ensure the pull requests description clearly describes the problem and solution. Include the relevant issue number if applicable.

  • If needed, update your branch.

Thanks.