Rocket.Chat

Your OpenVeda Playbook

Rocket.Chat Logo

OpenVeda Playbook: Rocket.Chat

Your complete guide to contributing to the world's leading open-source team communication platform.


1. The "Why": Building the Future of Open Communication

  • The Mission: Rocket.Chat's mission is to create a secure, flexible, and open-source alternative to proprietary communication platforms like Slack and Microsoft Teams. It's about giving organizations full control over their communication data.
  • Your Impact: You'll be working on a real-time application used by millions of people in companies, universities, and communities worldwide. Your code will directly impact how teams collaborate, share files, and communicate securely.
  • Why it's a Career Supercharger: This is a fantastic opportunity to gain deep, hands-on experience in a complex, full-stack JavaScript/TypeScript ecosystem. Working on a real-time app with features like video conferencing, live chat, and a rich integration marketplace is a huge learning experience and a massive resume booster for any web developer role.

2. The "What": A Modern JavaScript Powerhouse

  • Core Technology: The entire platform is built on JavaScript and TypeScript.
  • Backend: Node.js with the Meteor.js framework. This is a unique full-stack framework that handles real-time data synchronization.
  • Frontend: React and Blaze.js (the original UI library for Meteor, now being migrated to React).
  • Mobile Apps: React Native.
  • Database: MongoDB.
  • Key Tools: GitHub for all source code and issue tracking.

3. The "How": Your Complete Rocket.Chat Onboarding Journey

3.1: Join the Community

Their community server is where all development discussion and real-time help happens.

  • Primary Channel (Live Chat): open.rocket.chat. This is their own public server.
  • Your First Action: Once you join, find the #gsoc or #developers channels. Post a clear introduction.

    Template: "Hello everyone! I'm Ayush, a developer from India. I'm excited to start contributing to Rocket.Chat for Hacktoberfest. I have experience with React and Node.js. I'm currently setting up the dev environment and looking for a good first issue. Looking forward to being part of the community!"

3.2: The Foolproof Environment Setup

They provide a simple script to get you started, but the Node.js version is critical.

  1. Prerequisites: You need Git, Node.js, and npm/yarn.
  2. CRITICAL - Node.js Version: Rocket.Chat is very specific about its Node.js version. Before you do anything, check the .nvmrc file at the root of their repository.
    • Action: Run nvm install in the project directory. This will automatically install the correct Node.js version. Then run nvm use.
  3. Fork & Clone: Fork the Rocket.Chat repo on GitHub and clone your fork locally.
  4. Navigate into the folder: cd Rocket.Chat
  5. Install Dependencies: Run yarn. This is a large project and will take several minutes.
  6. Run the Development Server: Run yarn dev. This command starts all the necessary processes.
  7. Access: Open your browser and go to http://localhost:3000. You should see the Rocket.Chat setup screen!
  • Official Guide (for reference): Rocket.Chat Developer Documentation
  • Common Troubleshooting Tip: 99% of setup issues are caused by using the wrong version of Node.js. Using nvm as described in Step 2 is not optional; it is mandatory for a successful setup.

3.3: The Contribution Workflow

Standard GitHub PR flow, targeting the develop branch.

  1. Find & Claim an Issue: Find an issue with the "good first issue" or "help wanted" label. Comment to claim it.
  2. Create a Branch: git checkout -b feat/your-feature-name. Make sure your branch is based on the develop branch.
  3. Code & Test: Make your changes. Run the local tests (yarn test).
  4. Commit & Push: Commit with a clear message following their guidelines (they use Conventional Commits) and push to your fork.
  5. Open a Pull Request: Open a PR against their develop branch. Fill out their PR template carefully, linking the issue.
  6. Engage in Review: The team is very active. Respond to feedback and make necessary changes.

4. GSoC History & Focus Areas

  • Historical Focus: Rocket.Chat is a veteran GSoC organization. Projects often involve building new integrations (bots), improving the mobile app experience, adding new chat features (like threading or video conferencing improvements), and refactoring older parts of the codebase to modern React.
  • What Mentors Look For: Independence and good communication. They want to see that you've read the documentation and tried to solve problems yourself before asking for help. When you do ask, be very clear and provide logs and screenshots. Making a small, successful contribution before GSoC is a huge plus.

5. Key Repositories to Know


6. Find Your First Task Right Now


7. The Unwritten Rules (Mentor Insights)

  • The develop Branch is King: All PRs must be made against the develop branch, not master.
  • UI/UX Matters: Rocket.Chat has a design system. If you're making a UI change, make sure it's consistent with the rest of the application. A screenshot or GIF in your PR is highly recommended.
  • Patience with the First Build: The first time you run yarn and yarn dev, it can take a very long time (10-15+ minutes) to download and build everything. This is normal. Be patient.

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