🎉 Welcome! 🎉
We are excited that you're interested in contributing to this project. Whether you're new to open-source or an experienced developer, your contributions are welcome and appreciated.
Please take a moment to read through this guide before making contributions.
We have a range of tasks for all skill levels, including:
- Feature Implementation: Add new features or improve existing ones.
- Bug Fixes: Help resolve issues or bugs in the project.
- Documentation: Improve the existing documentation or create new content.
- Code Refactoring: Clean up or optimize code without changing functionality.
Feel free to check out our issue tracker for issues labeled:
good first issue: Ideal for beginners.help wanted: Tasks where we need assistance.bug: Known issues that need fixing.
-
Fork the Repository:
Click theForkbutton at the top right of this page to create your own fork of the repository. -
Clone the Repository:
Clone your forked repository to your local machine using:git clone https://github.com/your-username/repository-name.git
-
Set Up the Project Locally:
Follow these steps to get the project up and running locally:cd repository-name npm install # Install dependencies npm start # Run the project locally
-
Create a Branch:
Make a new branch for your changes:git checkout -b your-branch-name
-
Make Your Changes:
Implement the features, fix bugs, or update the documentation. Follow the coding standards mentioned below. -
Test Your Changes:
Ensure your changes don't break any functionality. Run the following command:npm test -
Commit Your Changes:
Add meaningful commit messages. Format your commit messages like this:git add . git commit -m "Add: [description of the changes]"
-
Push Your Changes:
Push your branch to your forked repository:git push origin your-branch-name
-
Submit a Pull Request (PR):
Go to the original repository and open a Pull Request. Make sure to:- Clearly describe your changes.
- Reference any issues your PR addresses (if applicable).
To maintain quality and consistency in the codebase, please follow these guidelines:
- JavaScript/TypeScript: Follow the Airbnb JavaScript style guide.
- HTML/CSS: Write semantic HTML5 and modular, reusable CSS classes (preferably BEM or similar conventions).
- Prettier/ESLint: Run the linter and auto-formatter before submitting code.
npm run lint npm run format
- Variables and Functions: Use camelCase (e.g.,
myFunction). - CSS Classes: Use BEM-like conventions (e.g.,
.block__element--modifier). - Component Names: Use PascalCase for React components (e.g.,
MyComponent).
If you notice a bug or have a suggestion for a feature, feel free to open an issue. Please ensure that your issue:
- Clearly describes the problem.
- Provides steps to reproduce if it's a bug.
- Includes relevant screenshots, if applicable.
We want to ensure a safe and welcoming community for everyone. Please follow our Code of Conduct when interacting in this repository.
If you're having trouble getting started or have questions about the repository, feel free to ask in the issue tracker or contact us directly.
Happy coding! 🎉