First off, thank you for considering contributing to ChronoCare! 🎉 Your efforts are greatly appreciated and help make this project better for everyone.
- Code of Conduct
- How to Contribute
- Development Setup
- Coding Guidelines
- Commit Message Guidelines
- Testing
- Acknowledgements
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.
- 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.
- Harassment, hate speech, or discriminatory remarks.
- Disruption of project activities.
- Unauthorized use of project resources.
If you find a bug in ChronoCare, please follow these steps:
- Open an Issue: Click here to create a new issue.
- 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.
Have an idea to improve ChronoCare? We'd love to hear it!
- Open an Issue: Click here to create a new issue.
- Use the
enhancement
Tag: Label your issue appropriately. - Provide a Detailed Description: Explain the feature and its benefits.
Pull requests are welcome! Follow these steps to submit your contributions:
-
Fork the Repository
- Click the Fork button at the top right of the repository page.
-
Clone Your Fork
git clone https://github.com/yourusername/ChronoCare.git
-
Create a New Branch
git checkout -b feature/YourFeatureName
-
Make Your Changes
- Ensure your code adheres to the Coding Guidelines.
-
Run Tests and Linting
npm install npm run lint npm run test
-
Commit Your Changes
git commit -m "Add: Your descriptive commit message"
-
Push to Your Fork
git push origin feature/YourFeatureName
-
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.
To set up the project locally, follow these steps:
-
Clone the Repository
git clone https://github.com/yourusername/ChronoCare.git
-
Navigate to the Project Directory
cd ChronoCare
-
Install Dependencies
npm install # or yarn install
-
Configure Environment Variables
- Duplicate the
.env.example
file and rename it to.env
. - Fill in the required Firebase configuration and other necessary variables.
- Duplicate the
-
Start the Development Server
npm run dev # or yarn dev
The app will be available at
http://localhost:5173
.
- 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.
Ensure your code is properly formatted:
npm run lint
This command will run ESLint and Prettier to check and fix formatting issues.
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
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.
- 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.