Thank you for considering contributing to SearchsBugs! Your help is essential for improving and growing this project. This document provides guidelines to help you understand how you can contribute effectively.
Please note that this project is governed by a Code of Conduct. By participating, you are expected to adhere to this code.
To get started with contributing, make sure you have a basic understanding of the following technologies:
- .NET Core for backend development with Domain-Driven Design (DDD) principles.
- React for frontend development.
- Git for version control.
If you're unfamiliar with any of these technologies, there are plenty of resources available online to get up to speed.
If you encounter a bug, please open an issue on GitHub. Include as much detail as possible, such as:
- Steps to reproduce the bug.
- Expected behavior.
- Actual behavior.
- Any relevant screenshots or error messages.
We welcome suggestions for new features! Please check the existing issues and discussions to see if your idea has already been mentioned. If not, feel free to open a new issue with a detailed description of the feature and any benefits it would bring to the project.
-
Clone the repository:
git clone https://github.com/yourusername/searchsbugs.git cd SearchsBugs
-
Set up the backend:
Ensure you have .NET SDK installed.
dotnet restore dotnet build dotnet run
-
Set up the frontend:
Ensure you have Node.js and npm installed.
cd SearchBugs.Ui npm install npm start
-
Run tests:
- Backend tests:
dotnet test
- Frontend tests:
npm test
- Backend tests:
-
Fork the repository and create a new branch:
git checkout -b feature/your-feature-name
-
Make your changes with clear and descriptive commit messages.
-
Push to your fork:
git push origin feature/your-feature-name
-
Open a pull request on GitHub. Please include a description of your changes and reference any related issues.
Adhering to a consistent style guide helps keep the codebase clean and readable.
- Follow the C# Coding Conventions.
- Use meaningful names for classes, methods, and variables.
- Group related classes in the same namespace.
- Follow the Airbnb JavaScript Style Guide.
- Use functional components and React hooks where appropriate.
- Keep components small and focused on a single responsibility.
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.