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.
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.
-
Fork the repository
-
Clone the repository:
git clone https://github.com/HarshS16/Civix.git
cd Civixgit clone https://github.com/Harshs16/civix.git
- Set up the project.
Before you start, make sure you have the following installed on your system:
- Node.js (v18.x or later)
- npm (v8.x or later)
- PostgreSQL (v13.x or later)
- Clone the repository:
- Install dependencies:
npm install
- Database Setup: Create a new database for Civix:
createdb civixEdit your configuration (typically a .env) to connect to your Postgres database:
DB_NAME=civix
DB_HOST=localhost
DB_PORT=5432
DB_USER=your_username
DB_PASSWORD=your_pass- Running the Application: Start the application in development:
npm start- Always branch out from
main:
git checkout -b feat/your-feature-name- Use these prefixes for your branches:
| Type | Prefix |
|---|---|
| Feature | feat/ |
| Fix | fix/ |
| Docs | docs/ |
| Chore | chore/ |
Use Conventional Commits for all commit messages.
This ensures a consistent and meaningful commit history thatβs easy to read and automate.
Example:
git commit -m "feat(component): add navbar component"- 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
Maintainers will review your PR and may request changes before approval. Once approved, your PR will be merged into the main branch.
If youβve found a bug or unexpected behavior, please help us by reporting it:
- Open a new issue.
- Select the Bug Report template.
- 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.
We welcome new ideas that can make Civix better for everyone. To request a feature:
- Open a new issue.
- Select the Feature Request template.
- Clearly describe the following:
- π§© 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.
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
mainbranch (git pull origin mainbefore pushing) - Ready for review: tagged with appropriate labels (e.g.,
enhancement,bug,docs) - Reviewed and approved by at least one maintainer
We follow the Contributor Covenant Code of Conduct.
Please be respectful, inclusive, and collaborative in all contributions.
Thank you for helping make Civix a thriving, community-driven project. Your contributions β big or small β make a real difference.