Skip to content

Latest commit

 

History

History
198 lines (134 loc) · 5.17 KB

CONTRIBUTING.md

File metadata and controls

198 lines (134 loc) · 5.17 KB

Contributing to ChronoCare

First off, thank you for considering contributing to ChronoCare! 🎉 Your efforts are greatly appreciated and help make this project better for everyone.

Table of Contents

Code of Conduct

We are committed to fostering a welcoming and inclusive community. Please read and adhere to our Code of Conduct to ensure a positive experience for everyone.

Our Standards

  • Be Respectful: Interact with others in a kind and considerate manner.
  • Be Collaborative: Work together to achieve common goals.
  • Be Inclusive: Welcome diverse perspectives and backgrounds.
  • Be Constructive: Provide helpful and actionable feedback.

Unacceptable Behavior

  • Harassment, hate speech, or discriminatory remarks.
  • Disruption of project activities.
  • Unauthorized use of project resources.

How to Contribute

Reporting Bugs

If you find a bug in ChronoCare, please follow these steps:

  1. Open an Issue: Click here to create a new issue.
  2. Provide Details:
    • Description: Clearly describe the bug.
    • Steps to Reproduce: List the steps that cause the issue.
    • Expected Behavior: Explain what you expected to happen.
    • Screenshots: Include any relevant screenshots.
    • Environment: Specify your OS, browser, and other relevant details.

Suggesting Enhancements

Have an idea to improve ChronoCare? We'd love to hear it!

  1. Open an Issue: Click here to create a new issue.
  2. Use the enhancement Tag: Label your issue appropriately.
  3. Provide a Detailed Description: Explain the feature and its benefits.

Submitting Pull Requests

Pull requests are welcome! Follow these steps to submit your contributions:

  1. Fork the Repository

    • Click the Fork button at the top right of the repository page.
  2. Clone Your Fork

    git clone https://github.com/yourusername/ChronoCare.git
  3. Create a New Branch

    git checkout -b feature/YourFeatureName
  4. Make Your Changes

  5. Run Tests and Linting

    npm install
    npm run lint
    npm run test
  6. Commit Your Changes

    git commit -m "Add: Your descriptive commit message"
  7. Push to Your Fork

    git push origin feature/YourFeatureName
  8. Open a Pull Request

    • Navigate to the original repository and click New Pull Request.
    • Provide a clear description of your changes and reference any related issues.

Development Setup

To set up the project locally, follow these steps:

  1. Clone the Repository

    git clone https://github.com/yourusername/ChronoCare.git
  2. Navigate to the Project Directory

    cd ChronoCare
  3. Install Dependencies

    npm install
    # or
    yarn install
  4. Configure Environment Variables

    • Duplicate the .env.example file and rename it to .env.
    • Fill in the required Firebase configuration and other necessary variables.
  5. Start the Development Server

    npm run dev
    # or
    yarn dev

    The app will be available at http://localhost:5173.

Coding Guidelines

  • Language & Frameworks: TypeScript, React, Vite
  • Style Guide: Follow Airbnb's JavaScript Style Guide with Prettier formatting.
  • Component Structure: Organize components logically within the src/components directory.
  • State Management: Utilize React Context and custom hooks for state management.
  • Documentation: Comment complex logic and provide JSDoc annotations where applicable.

Formatting

Ensure your code is properly formatted:

npm run lint

This command will run ESLint and Prettier to check and fix formatting issues.

Commit Message Guidelines

Use Conventional Commits for a consistent commit history.

Examples

feat: Add user authentication fix: Resolve issue with data visualization docs: Update README with installation instructions style: Format code with Prettier refactor: Improve state management logic test: Add tests for the RecordForm component

Testing

Ensure all tests pass before submitting a pull request:

npm run test
# or
yarn test

Write clear and concise tests for new features and bug fixes.

Acknowledgements

  • Vite
  • React
  • Material-UI
  • Firebase
  • Chart.js
  • Recharts
  • Conventional Commits

Thank you for your interest in contributing to ChronoCare! Together, we can make health monitoring accessible and efficient for everyone.