Techies Garage Open Source Internship Contribution and Collaboration Guidelines
A guide for all community contributors and collaborators
Welcome to Techies Garage Open Source Internship! We're thrilled that you're considering contributing to our open-source software development projects. To make the collaboration process as smooth and enjoyable as possible, please take a moment to review and follow these guidelines.
Table of Contents
Code of Conduct
Getting Started
Choosing a Project
Contributing Code
Bug Reports and Feature Requests
Pull Request Process
Review Process
Community Support
Recognition
Feedback and Improvement
1. Code of Conduct
Our community follows a Code of Conduct that outlines the expected behavior of all participants. Please read and adhere to it.
At Techies Garage Open Source Internship community, we are committed to fostering a welcoming, respectful, and inclusive community for all contributors. We value diversity and believe that everyone should be treated with kindness, respect, and empathy. This Code of Conduct outlines the expected behavior for all participants in our community, whether you are contributing code, discussing projects, or interacting in any way.
1.1. Be Respectful:
Treat all community members with respect, kindness, and empathy, regardless of their background, identity, or experience.
Use inclusive language and be considerate of differing opinions and experiences.
1.2. Harassment-Free Environment:
We do not tolerate harassment or any form of discrimination based on race, gender, sexual orientation, disability, age, religion, or any other personal characteristic.
Harassment includes but is not limited to offensive comments, derogatory language, threats, or unwelcome advances. Please report any harassment promptly to the project maintainers.
1.3. Inclusive Language:
Use inclusive and gender-neutral language. Avoid making assumptions about gender, pronouns, or identity.
Be mindful of cultural differences and language barriers, and strive for effective and respectful communication.
1.4. Respect Privacy:
Do not share personal or confidential information about others without their consent.
Use private channels for discussions that require discretion.
1.5. Collaboration and Constructive Feedback:
Encourage and welcome newcomers and contributors of all skill levels.
Provide constructive feedback during code reviews and discussions. Focus on the code, not the person.
1.6. Reporting Violations:
If you witness or experience behavior that violates this Code of Conduct, please report it to the project maintainers or administrators. All reports will be treated confidentially and promptly investigated.
1.7. Consequences of Violations:
Violations of this Code of Conduct may result in warnings, temporary suspension, or permanent expulsion from the community, depending on the severity and frequency of the offense.
Decisions on consequences will be made by the project maintainers or administrators, with fairness and due process.
We, the Techies Garage Open Source Internship community, are collectively responsible for upholding and enforcing this Code of Conduct. By participating in our community, you agree to adhere to these guidelines and to help create a safe, welcoming, and respectful environment for everyone.
We are grateful for your commitment to these principles and for your contributions to our community.
2. Getting Started
Join our discord server where we meet for various community-based events and sessions. All announcements and events are updated on the server's announcement channel, as well as valuable resources and materials that would be of value to our members.
Share your ideas on our Idea discussion channel, where community members can see it and add their inputs or give feedback. Also, when the idea has gained general acceptance, a team would be created around it to bring the idea to life.
Follow the community on our socials @techiesgarage (LinkedIn, Twitter).
3. Choosing a Project
Join an existing project team based on your skill set. This is usually made known on the announcement channel.
Familiarize yourself with the ongoing project being handled by the team.
You will be added to the project repository and Figma file accordingly.
4. Contributing Code
Each project is handled by a team including frontend engineers, backend engineers, product designers, product managers and other skill sets as needed for the project. Each project has a repository that contains the entire project's codebase. The folder structure of repository is as follows;
Backend
Codebase
Documentation
PRD
UML Documentation
Frontend
Codebase
Mobile
Android
IOS
README.md
In order to contribute you should follow these steps;
Review the project's coding standards and guidelines in its README file (containing the Project stack and other necessary details).
Fork the project's repository to your own GitHub account and create a feature branch for your work.
Make changes, write clear commit messages, and maintain an organized commit history.
Before submitting a pull request, make sure your code is properly tested and it meets the standard being used by the rest of the team (ensure that your code passes tests and linting checks).
5. Bug Reports and Feature Requests
Use GitHub issues for the specific project you are on to report bugs, request features, or suggest improvements.
Clearly describe the issue or enhancement you're proposing, providing relevant details and context.
6. Pull Request Process
Create a pull request following the project's pull request template.
Include a descriptive title and a detailed description of the problem you're solving or the feature you're adding.
Respond promptly to feedback and engage in constructive discussions during the review process.
Pull Request (PR) Checklist
I have read the contribution guideline (stated above).
My code follows the project's coding standards and style guidelines.
I have tested my changes thoroughly.
I have provided appropriate documentation for my changes (if applicable).
I have made small, focused, and atomic commits.
I have written clear and descriptive commit messages.
I have referenced related issues or pull requests in my description.
When doing a PR the following should be included in the comment;
Description
Briefly describe your changes here, including any context or motivation for the change.
Related Issues
Specify if your PR resolves any existing issues by using this format -
Closes #[Issue Number]
Specify if your PR is related to any existing issues by using this format -
Related to #[Issue Number]
Screenshots (if applicable)
Add screenshots or images that help visualize the changes made in this PR.*
Additional Notes (if any)
Add any additional notes, context, or instructions for reviewers here.
7. Review Process
Code reviews are crucial to maintaining code quality and consistency.
Be respectful and open to feedback during reviews, and work collaboratively with reviewers.
Reviewers
Reviewer1 - Project Team Engineering Lead
Reviewer2 - Community Engineering Team Lead
Checklist for Reviewers
The code follows the project's coding standards and style guidelines.
The changes are well-tested and do not introduce regressions.
Documentation has been updated (if applicable).
Commit messages are clear and descriptive.
The PR resolves the issue(s) it references or addresses the described problem.
The PR is ready for merge and doesn't require further changes.
8. Community Support
The community would assist by making some resources available through articles, blogs, and live sessions.
Contribute not only through code but also by helping others with issues, answering questions, and offering guidance.
Be patient, considerate, and welcoming to newcomers and contributors of all skill levels.
9. Recognition
Pioneer contributors would be given honorary mentions on all platforms and would stand as the core contributors of the project.
Outstanding contributors may be recognized and showcased in our project's documentation or website.
10. Feedback and Improvement
We welcome suggestions and ideas to improve our guidelines and processes.
Feel free to open an issue or PR to propose changes to these guidelines.
Thank you for joining Techies Garage Open Source Internship and for your commitment to open-source collaboration. Together, we can make a positive impact on the world of technology!