CiviCRM

Your OpenVeda Playbook

CiviCRM Logo

OpenVeda Playbook: CiviCRM

Your guide to contributing to the world's leading open-source CRM for the civic sector.


1. The "Why": Mission & Impact

  • The Mission: CiviCRM is an open-source Constituent Relationship Management (CRM) platform designed specifically for the needs of non-profits, advocacy groups, and other civic sector organizations.
  • Your Impact: Your code helps thousands of non-profits manage their members, donors, and events more effectively, allowing them to focus on their mission of making the world a better place.
  • Why it's great for your career: Contributing to a large, enterprise-grade CRM application is a fantastic experience. You will gain deep experience in PHP and the Symfony framework, as well as JavaScript (AngularJS and transitioning to modern frameworks). It shows you can work on a complex, data-heavy application with a long history.

2. The "What": Tech Stack

  • Core Backend: PHP, built on the Symfony framework.
  • Core Frontend: A mix of Smarty (a PHP templating engine), jQuery, and AngularJS. They are in the process of modernizing the frontend.
  • Database: MySQL.
  • Key Tools: GitHub for code, Mattermost for chat, and a dedicated Stack Exchange for Q&A.

3. The "How": Your Onboarding Journey

3.1: Join the Community

3.2: The Setup Guide

  • Official Guide: They have a very comprehensive guide for setting up a development environment.
  • OpenVeda Pro-Tip: Use the "buildkit" method described in their documentation. It's a command-line tool that automates the entire setup process and is the most reliable way to get started.

3.3: The Contribution Workflow

  • Official Guide: They use a standard GitHub PR workflow.
  • Key Point: All PRs must have corresponding tests. Their documentation has a great guide on writing tests.

4. GSoC History & Focus Areas

  • Historical Focus: CiviCRM is a frequent GSoC organization. Projects often focus on modernizing the user interface (e.g., rewriting a screen in React/Vue), building new integrations, and improving the search and reporting capabilities.
  • What Mentors Look For: A problem-solving mindset. They value contributors who can not only write code but can also understand the needs of their non-profit users. Making a small bug fix or improvement before GSoC is a great way to show your commitment.

5. Key Repositories to Know


6. Find Your First Task Right Now


7. The Unwritten Rules (Mentor Insights)

  • Understand the User: Remember that the end-user is often a non-technical person at a non-profit. Usability and clarity are extremely important.
  • Tests are Not a Suggestion: Your PR will not be merged without tests. Learn how to use their PHPUnit testing framework.
  • Be Active in Chat: The Mattermost chat is the best place to get a feel for the community and get real-time help from core developers.

Stuck? Get Unstuck. Now.

As the founder of OpenVeda, I'm personally offering free 1-on-1 help sessions. Book a 15-minute slot with me and let's solve your problem together.

Book a Free Session with Ayush