Contributing

Contributing Guidelines

Thank you for contributing! Please follow these guidelines to keep the project clean and maintainable.

Project Structure

  • Follow the existing folder and file structure.

  • Place new code in the most logical module; avoid duplications.

Code Style & Linting

  • Run the linter before committing:

    npm run lint
  • Ensure there are no lint errors or warnings.

  • Use consistent formatting (configured via ESLint).

TypeScript Rules

  • Always type everything explicitly – avoid any.

  • Favor type safety over convenience.

Ensure Business Logic is Efficient

Try to not only write correct code, but also think about performance and clarity.

  • Strive to keep logic simple, maintainable, and optimized.

  • Avoid unnecessary computations or complex nesting.

  • Always ask: Is this the most efficient and understandable way to solve the problem?

Pull Requests

  • Always create a Pull Request (PR) for any new feature or fix.

  • Use "Squash and Merge" when merging PRs.

  • Delete the branch after the PR is merged.

  • Keep PRs small, focused, and well-described.

Commit Messages

  • Write clear and descriptive commit messages and when squashing flag the final commit by as per git-flow rules.

  • Reference issues where applicable (e.g., Fixes #123).

Making changes or adding new API routes

  • All API is to be documented via a postman collection for development purposes, make sure to add it to the existing collection and commit back to /docs/api

  • Swagger is used for visual presentation of the collection

    • If any changes have been made to Postman collection, make sure to convert it to OpenAPI format. (You can use this CLI tool for that)

Last updated