# Thank you for your interest and contribution to PrivyDrop!

We warmly welcome contributions from the community. Every bit of your effort helps make this project better. Before you start, please take a few moments to read the following guidelines.

## Where to Start? The Roadmap!

Before you dive in, the best place to start is our project roadmap. It outlines our future plans and current priorities, giving you a clear picture of where the project is headed and where your help is most needed.

➡️ **[Check out our Project Roadmap](../ROADMAP.md)**

After checking the roadmap, you can find a suitable task in the [GitHub Issues](https://github.com/david-bai00/PrivyDrop/issues), especially those tagged with `help wanted` or `good first issue`.

## Code of Conduct

We are committed to providing a friendly, safe, and welcoming environment for all. Please ensure your conduct aligns with our [Code of Conduct](./CODE_OF_CONDUCT.md). All participants are expected to uphold this code.

## How to Contribute

### Reporting Bugs

If you find a bug while using the application, please submit it via [GitHub Issues](https://github.com/david-bai00/PrivyDrop/issues). To help us locate and fix the problem faster, please provide the following information when submitting:

-   **Clear Title and Description**: Briefly summarize the issue.
-   **Steps to Reproduce**: Detail how to reproduce the bug step-by-step.
-   **Expected Behavior**: Describe what should happen without the bug.
-   **Actual Behavior**: Describe what actually happened.
-   **Screenshots or Screencasts**: If possible, attach screenshots or a screen recording to visually demonstrate the issue.
-   **Environment Information**: Your operating system, browser version, etc.

### Suggesting Enhancements

If you have an idea for a new feature or an improvement to an existing one, you are welcome to propose it via [GitHub Issues](https://github.com/david-bai00/PrivyDrop/issues). Please describe the feature you're suggesting, the problem it solves, and its potential use cases in detail.

### Submitting Pull Requests

We gladly accept code contributions through Pull Requests (PRs).

1.  **Fork the Repository**: Click the "Fork" button in the top-right corner of the project's homepage to fork the main repository to your own account.
2.  **Clone Your Fork**: `git clone https://github.com/YOUR_USERNAME/PrivyDrop.git`
3.  **Create a Branch**: Create a new feature branch from the `main` (or `develop`) branch. Please give your branch a descriptive name (e.g., `feature/add-dark-mode` or `fix/login-bug`).
    ```bash
    git checkout -b feature/your-new-feature
    ```
4.  **Make Changes**: Write your code. Please ensure you follow the existing code style of the project.
5.  **Commit Changes**: `git commit -m "feat: Add some amazing feature"` (We recommend using the [Conventional Commits](https://www.conventionalcommits.org/) specification).
6.  **Push to Your Fork**: `git push origin feature/your-new-feature`
7.  **Create a Pull Request**: Go to your GitHub fork page, click the "New pull request" button, and create a PR targeting the main repository. Please clearly explain what you did and what problem you solved in the PR description.

## Coding Style

-   Please follow the existing coding style of the project.
-   We use ESLint and Prettier to ensure consistent code style. Before submitting your code, please make sure it passes all checks.

Thank you again for your contribution! Any contribution you make will be licensed under the MIT License. 