Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
141 changes: 82 additions & 59 deletions contributing.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,27 @@
# Contributing to Civix
# 🤝 Contributing to Civix

We appreciate your interest in contributing to Civix!
Civix aims to foster civic engagement and community collaboration, and we welcome contributors from all backgrounds.
Thank you for your interest in contributing to **Civix**!
Our mission is to **foster civic engagement and strengthen community collaboration**, and we’re excited to have contributors from all backgrounds help make that vision a reality.

## 👏 How you can contribute
## 💡 Ways You Can Contribute

- Reporting bugs or issues
- Suggesting new features or improvements
- Submitting bug fixes or new code
- Updating or adding to the documentation
- Providing UI/UX suggestions or design tweaks
There are many ways to get involved — no contribution is too small!

- 🐞 **Report Bugs or Issues**
Help us improve by reporting bugs, errors, or unexpected behavior.

- 💭 **Suggest Features or Improvements**
Have an idea that could make Civix better? Share your suggestions for new features, enhancements, or workflow improvements.

- 💻 **Submit Code Contributions**
Fix bugs, implement new features, or improve existing functionality. We welcome pull requests that help Civix grow and evolve.

- 📘 **Improve Documentation**
Clear and accessible documentation helps everyone. You can fix typos, add examples, or expand explanations.

- 🎨 **Contribute to UI/UX Design**
Share design feedback, propose layout improvements, or enhance accessibility and usability across the app.

---

## 🛠 Setting up for development

Expand All @@ -29,16 +39,14 @@ git clone https://github.com/Harshs16/civix.git

## Contributing Guidelines

### Project Setup Instructions
**Prerequisites**
Node.js and npm
PostgreSQL
### ⚙️ Project Setup Instructions

Before you start, make sure you have the following installed:
#### Prerequisites
Before you start, make sure you have the following installed on your system:

- [Node.js](https://nodejs.org/) (v18.x or later)
- [npm](https://www.npmjs.com/) (v8.x or later)
- [Postgres](https://www.postgresql.org/) (v13.x or later)
- [Node.js](https://nodejs.org/) (v18.x or later)
- [npm](https://www.npmjs.com/) (v8.x or later)
- [PostgreSQL](https://www.postgresql.org/) (v13.x or later)

---

Expand Down Expand Up @@ -85,80 +93,95 @@ git checkout -b feat/your-feature-name
| Docs | `docs/` |
| Chore | `chore/` |

### Commit Message Format
### 📝 Commit Message Format

Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/):
Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for all commit messages.
This ensures a consistent and meaningful commit history that’s easy to read and automate.

Example:
```bash
git commit -m "feat(component): add navbar component"
```

### Pull Request Process
### 🔄 Pull Request Process

* Ensure your PR includes a clear title and description.
* Link to any relevant issues.
* Add screenshots or demos if applicable.
* Ensure your PR includes a **clear title and description**.
* Link to any **relevant issues**.
* Add **screenshots or demos** if applicable.
* PRs should:
- ✅ **Pass lint and formatting checks**
- 👀 **Be reviewed by at least one maintainer**
- 🔧 **Be rebased or merged cleanly with `main`**

* Pass lint and formatting checks
* Be reviewed by at least one maintainer
* Be rebased or merged cleanly with `main`
Maintainers will review your PR and may request changes before approval. Once approved, your PR will be merged into the main branch.

---

## How to File a Bug
## 🐛 How to File a Bug

* Open an [issue]https://github.com/HarshS16/Civix/issues/new/choose
* Choose **Bug Report** template
* Include:
If you’ve found a bug or unexpected behavior, please help us by reporting it:

* Steps to reproduce
* Expected vs actual behavior
* Screenshots or logs if helpful
1. Open a new [issue](https://github.com/HarshS16/Civix/issues/new/choose).
2. Select the **Bug Report** template.
3. Include the following details:
- 🔁 **Steps to reproduce**
- ⚙️ **Expected vs. actual behavior**
- 🖼️ **Screenshots or logs**, if applicable

Providing detailed and clear reports helps us resolve issues faster and more accurately.

---

## How to Request a Feature
## ✨ How to Request a Feature

We welcome new ideas that can make **Civix** better for everyone. To request a feature:

* Open an [issue]https://github.com/HarshS16/Civix/issues/new/choose
* Choose **Feature Request** template
* Describe:
1. Open a new [issue](https://github.com/HarshS16/Civix/issues/new/choose).
2. Select the **Feature Request** template.
3. Clearly describe the following:
- 🧩 **The problem you're solving**
- 💡 **Why it's important**
- 🚀 **Your proposed solution**

* The problem you're solving
* Why it's important
* Your proposed solution
Providing as much context as possible helps us understand your idea and evaluate how it fits into Civix’s goals.

---

## Pull Request Checklist

## ✅ Pull Request Checklist

Before submitting your pull request, please ensure the following:

* [ ] **Clear title and description** that explain what the PR does
* [ ] **Follows the branching strategy** (`feat/`, `fix/`, etc.) and **uses Conventional Commits**
* [ ] Code is **well-formatted**
* [ ] Includes **tests** or **relevant usage examples**, if applicable
* [ ] All **new/updated components are documented**
* [ ] Screenshots/demos included (for UI changes)
* [ ] Linked to a related **issue** (if one exists)
* [ ] PR is up-to-date with the `main` branch (`git pull origin main` before pushing)
* [ ] Ready for review: tagged with appropriate labels (e.g., `enhancement`, `bug`, `docs`)
* [ ] Reviewed and approved by at least one maintainer
* [ ] **Clear title and description** that explain what the PR does
* [ ] **Follows the branching strategy** (`feat/`, `fix/`, etc.) and **uses Conventional Commits**
* [ ] Code is **well-formatted**
* [ ] Includes **tests** or **relevant usage examples**, if applicable
* [ ] All **new/updated components are documented**
* [ ] Screenshots/demos included (for UI changes)
* [ ] Linked to a related **issue** (if one exists)
* [ ] PR is up-to-date with the `main` branch (`git pull origin main` before pushing)
* [ ] Ready for review: tagged with appropriate labels (e.g., `enhancement`, `bug`, `docs`)
* [ ] Reviewed and approved by at least one maintainer

---

## Useful Resources

* [node](https://nodejs.org/en)
* [Conventional Commits Guide](https://www.conventionalcommits.org/en/v1.0.0/)
* [Open Source Guide](https://opensource.guide/how-to-contribute/)
## 🧭 Useful Resources

- [Node.js](https://nodejs.org/en)
- [Conventional Commits Guide](https://www.conventionalcommits.org/en/v1.0.0/)
- [Open Source Guide](https://opensource.guide/how-to-contribute/)

---

## Code of Conduct
## 📜 Code of Conduct

We follow the [Contributor Covenant Code of Conduct](./CODE_OF_CONDUCT.md). Be respectful, inclusive, and collaborative in all contributions.
We follow the [Contributor Covenant Code of Conduct](./CODE_OF_CONDUCT.md).
Please be **respectful, inclusive, and collaborative** in all contributions.

---

Let’s build something great together!
## 🚀 Let’s Build Something Great Together!

Thank you for helping make Civix a thriving, community-driven project.
Your contributions — big or small — make a real difference.