Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update style of our group across all MD #104

Merged
merged 1 commit into from
Jan 12, 2025
Merged
Show file tree
Hide file tree
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
118 changes: 57 additions & 61 deletions collaboration/README.md
Original file line number Diff line number Diff line change
@@ -1,85 +1,81 @@
# Collaboration
# 🤝 Collaboration

<!-- group norms summary -->

## Group Norms Summary
## 🌟 Group Norms Summary

Our team prioritizes productivity through clear communication, timely task
delivery, and collaborative problem-solving. We hold efficient, purposeful
meetings and make decisions democratically. By fostering a supportive
environment, we ensure every member's contributions drive
progress toward our shared goals.
Our team prioritizes productivity through:
📣 Clear communication
⏰ Timely task delivery
🤔 Collaborative problem-solving
We hold efficient, purposeful meetings 🗓️ and make decisions democratically.
By fostering a supportive environment 🫂, we ensure every member's contributions
drive progress toward our shared goals.

<!-- group norms list -->
## Group Norms for Effective Collaboration
## 🚀 Group Norms for Effective Collaboration

### 1. Building Trust
### 1. 🤝 Building Trust

- Trust is built through action: deliver tasks on
time, with quality, and clarity.
- Foster trust by assuming good intentions and maintaining
honesty and transparency.
- Acknowledge each member's contributions regularly and openly.
- Clearly define tasks, deadlines, and expectations to avoid misunderstandings.
- Respect others’ time and schedules, and ask for help when needed.
- ✅ Deliver tasks on time, with quality and clarity.
- 🛡️ Foster trust through honesty and transparency.
- 🎉 Acknowledge contributions regularly and openly.
- 📌 Define tasks, deadlines, and expectations clearly.
- 🕒 Respect others’ time and ask for help when needed.

### 2. Strengthening Relationships
### 2. 🤗 Strengthening Relationships

- Listen actively during discussions, ensuring everyone feels heard.
- Avoid interrupting or dismissing others’ ideas.
- Avoid personalizing conflicts and focus on solutions.
- Show appreciation for teammates' efforts and celebrate collective successes.
- Use constructive feedback to resolve disagreements, offering
solutions rather than criticism.
- 🛑 Avoid interrupting or dismissing others’ ideas.
- 👂 Listen actively to ensure everyone feels heard.
- 🛠️ Focus on solutions, not personalizing conflicts.
- 🙌 Show appreciation and celebrate successes.
- ✍️ Use constructive feedback to resolve disagreements.

### 3. Communication Practices
### 3. 💬 Communication Practices

- Use Google Meet for major decisions and updates.
- Slack or WhatsApp is preferred for detailed discussions and quick questions.
- Keep dedicated project files organized and accessible to everyone.
- Share meeting notes, updates, and agendas on Slack for transparency.
- 📞 Use Google Meet for major updates and decisions.
- 💻 Use Slack or WhatsApp for quick questions and discussions.
- 📂 Keep files organized and accessible to all.
- 📝 Share meeting notes and updates on Slack for transparency.

### 4. Meetings and Coordination
### 4. 🗓️ Meetings and Coordination

- Plan meetings using Slack polls and finalize times with Google Calendar.
- Assign roles for smooth coordination:
- **Coordinator**: Manage meetings and oversee organization.
- **Vice-Coordinator**: Record outcomes and handle updates.
- **Technical Supervisor**: Oversee project technicalities and support the team.
- Meetings should only be held when they add value.
- Set the agenda for each meeting during the previous one to ensure preparedness.
- Wait a maximum of 5 minutes for late members before proceeding.
- Start and end meetings on time, adhering to a clear agenda.
- Promote open communication about scheduling preferences and potential conflicts.
- 🗳️ Plan meetings with Slack polls, finalize times on Google Calendar.
- 🎯 Assign roles for smooth coordination:
- **Coordinator**: Manages meetings and organization.
- **Vice-Coordinator**: Records outcomes and updates.
- **Technical Supervisor**: Oversees technical aspects.
- 🕔 Wait a max of 5 minutes for late members before proceeding.
- ⏱️ Start and end meetings on time with a clear agenda.

### 5. Balancing Discussions and Debates
### 5. ⚖️ Balancing Discussions and Debates

- Prioritize discussions over debates in most cases.
- Engage in discussions to explore ideas and seek consensus.
- Reserve debates for situations with well-formed differing opinions.
- Define the purpose of each debate, avoid redundancy, and listen to diverse perspectives.
- 💡 Prioritize discussions over debates for most decisions.
- 🤝 Seek consensus during discussions.
- 🔄 Reserve debates for clear, differing opinions.
- 🎯 Focus debates on specific purposes and diverse perspectives.

### 6. Decision-Making and Conflict Resolution
### 6. 🗳️ Decision-Making and Conflict Resolution

- Discuss disagreements calmly in dedicated meetings.
- Use a democratic approach:
- In meetings: Quick voting, with the majority deciding.
- Online: Slack or WhatsApp polls with a 12-hour response window.
- 🤔 Discuss disagreements calmly in meetings.
- 🗳️ Use democratic voting:
- **Meetings**: Majority vote.
- **Online**: Slack or WhatsApp polls (12-hour response).

### 7. Rebuilding Trust When Broken
### 7. 🔄 Rebuilding Trust When Broken

- Address concerns openly and focus on solutions rather than assigning blame.
- Take responsibility for mistakes and commit to improvement.
- Reset expectations and work collaboratively to rebuild confidence.
- 🤗 Address concerns openly and focus on solutions.
- 🤝 Take responsibility for mistakes and commit to improving.
- 📅 Reset expectations and rebuild confidence together.

### 8. Respectful Collaboration
### 8. 🤝 Respectful Collaboration

- Respect is shown by acknowledging ideas, even if they’re not adopted.
- Constructive disagreements involve proposing alternatives or seeking solutions.
- Avoid ignoring deadlines, input, or contributions from team members.
- 🤗 Acknowledge ideas, even if not adopted.
- ✍️ Propose alternatives when disagreeing constructively.
- 🚫 Avoid ignoring deadlines or team contributions.

### 9. Fostering Positivity and Inclusion
### 9. 🌟 Fostering Positivity and Inclusion

- Use emoji codes for quick replies and a "compliments jar" in Slack
to recognize contributions.
- During challenging discussions, pause to ensure everyone feels heard.
- 😄 Use emoji codes for quick responses.
- 🎁 Keep a "compliments jar" in Slack to recognize contributions.
- 🙋 Pause during challenging discussions to ensure everyone is heard.
43 changes: 24 additions & 19 deletions collaboration/communication.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,50 +4,50 @@ everything you write here will be public so share only what you are comfortable
sharing online you can share the rest in confidence with you group by another
channel -->

# Communication
# 📡 Communication

---

## Communication Guidelines
## 📝 Communication Guidelines

This document outlines our team's communication practices and expectations.

### **General Principles**

- Communicate clearly and respectfully.
- Keep discussions focused on tasks, challenges, and solutions.
- Use the appropriate channel for each type of communication to maintain efficiency.
- 🗣️ Communicate clearly and respectfully.
- 🎯 Keep discussions focused on tasks, challenges, and solutions.
- 🔄 Use the appropriate channel for each type of communication to maintain efficiency.

---

## Communication Channels
## 📬 Communication Channels

Here is how we’ll use our channels:

- **GitHub Issues**:
- **📌 GitHub Issues**:
- Use issues to track tasks and share updates on progress.
- Provide clear, actionable comments when discussing challenges or asking for clarification.

- **Pull Requests (PRs)**:
- **🔄 Pull Requests (PRs)**:
- Use PRs to propose changes and review code collaboratively.
- Include detailed descriptions of what the PR addresses.
- Follow the PR review process: reviewers provide constructive feedback,
and authors respond promptly.

- **Slack/WhatsApp**:
- **💬 Slack/WhatsApp**:
- Use for quick updates, scheduling calls, or informal discussions.
- Use designated threads.

- **Video Calls (Google Meet)**:
- Reserved for in-depth discussions, presentations, or team retrospectives.
- Ensure the agenda is shared as an issue beforehand to make the most
of everyone's time, and share the MoM after the meeting
- **🎥 Video Calls (Google Meet)**:
- Reserved for deep dives, presentations, or retrospectives.
- Share the agenda in advance to respect everyone’s time.
- Share the 📝 MoM (Minutes of Meeting) afterward

---

## Availability
## Availability

### **Calling and Messaging Availability**
### **📞 Calling and Messaging Availability**

### **Team Availability Schedule**

Expand All @@ -67,6 +67,8 @@ Here is how we’ll use our channels:
`✓` = Available
`✘` = Unavailable

## 📊 Team Commitment

### How many hours everyone has per day

1. WuorBhang: _5h_;
Expand All @@ -79,12 +81,15 @@ Here is how we’ll use our channels:
8. Ibrahim Elmisbah: _2h_;
9. Nahom Tekle: _4h_;

## Asking for Help
## 🙋 Asking for Help

There's a fine line between confidently learning from your mistakes,
and stubbornly getting nowhere. Here is a general guide for when to ask for help
based on how long you've been stuck on the same problem:

1. _0 -> 60 min_: Try on your own
2. _60 -> 120 min_: Ask your group for help
3. _120+ min_: Tag your coaches in Slack or GitHub
1. 🧠 **0 -> 60 min**: Try it yourself. You got this! 💪
2. 💬 **60 -> 120 min**: Ask your group for guidance.
Teamwork makes the dream work! ✨
3. 🚨 **120+ min**: Tag your coaches on Slack or GitHub. Don’t hesitate! 👩‍🏫👨‍🏫

Let’s communicate, collaborate, and conquer! 🚀
70 changes: 40 additions & 30 deletions collaboration/constraints.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
<!-- this template is for inspiration, feel free to change it however you like! -->

# Constraints
# 🚧 Constraints

Some boundaries around our project are here now live.
Some boundaries around our project are now live and in action! 🎯
Let’s stay on track and deliver with focus. 💪

## External
---

## 🌐 External Constraints
<!--
constraints coming from the outside that your team has no control over:
- projects deadlines
Expand All @@ -14,19 +16,20 @@ Some boundaries around our project are here now live.
- power or connectivity
- ...
-->
These are the non-negotiables, folks. Let’s roll with them:

**1. Deadline:** Ensure the project is completed and tested before 10th/Jan/2025.
**1. Deadline:** 🕒 Complete and test the project by **12th/Jan/2025**. 🗓️

**2. Code Review:** The code must pass at least 4 unit tests to be considered complete.
**2. Code Review:** ✅ Code must pass at least **4 unit tests** to be considered complete.

**3. Libraries:** Use only standard Python libraries and `pytest` for testing.
**3. Libraries:** 📚 Use only **standard Python libraries** and `pytest` for testing.

**4. Version Control:** Use Git and GitHub for collaboration. Main branch
protection enabled.
**4. Version Control:** 🔗 Collaboration is through **Git** and **GitHub**, with
main branch protection enabled.

**5. Packaging:** Ensure the module is packaged for installation using `setup.py`.
**5. Packaging:** 📦 Ensure the module is packaged for installation using `setup.py`.

## Internal: Involuntary
## 🏠 Internal: Involuntary Constraints

<!--
constraints that come from within your team, and you have no control over:
Expand All @@ -35,13 +38,13 @@ Some boundaries around our project are here now live.
- Most members are inactive on slack
-->

**1. Daily Time Commitment:** Each team member commits at least 2 hours per day
to work on his/her own project.
1. ⏳ **Daily Time Commitment**: Each team member dedicates at least
**2 hours/day** to their project.

**2. Hardware:** All team members must use devices capable of running
Python 3.10.0 or higher.
2. 💻 **Hardware**: All team members must use devices capable of running
**Python 3.10.0+**.

## Internal: Voluntary
## 🤝 Internal: Voluntary Constraints

<!--
constraints that your team decided on to help scope the project. they may include:
Expand All @@ -50,43 +53,50 @@ Some boundaries around our project are here now live.
- the number of hours you want to spend working
- only using the colors black and white
-->
Here’s what we’ve agreed upon to scope the project effectively:

**1. Language and Frameworks:**
### 🛠️ **Language and Frameworks**

- Use Python (minimum version 3.10.0).
- 🚀 Use **Python** (minimum version **3.10.0**).

**(a). Naming Conventions:**

- File names must be in lowercase and use underscores (e.g., `good_fruit_names.py`).
- 📂 File names: Must be lowercase with underscores (e.g., `good_fruit_names.py`)

- Testing files must follow the naming pattern `test_<module_name>.py` (e.g., `test_good_fruit_names.py`).
- 📂 Test files: Follow `test_<module_name>.py` (e.g., `test_good_fruit_names.py`).

**(b). Collaboration Tools:**

- Use GitHub Issues and Projects for task tracking.
- 📋 Use **GitHub Issues** and **Projects** for task tracking.

- Use Slack for communication.
- 💬 Communicate via **Slack**.

**2. Team Roles:**
### 🤝 **Team Roles**

**(a). Developer:** Writes the main logic for the module.
Everyone plays their part to make magic happen:

**(b). Tester:** Develops unit tests and ensures code coverage.
**(a). Developer:** 🖥️ Writes the main logic for the module.

**(c). Documenter:** Prepares project documentation, including a README.md file.
**(b). Tester:** 📋 Develops unit tests and ensures code coverage.

**(d). Reviewer:** Reviews pull requests before merging to the main branch.
**(c). Documenter:** 📖 Prepares project documentation, including a README.md file.

**3. Scope of the Module:**
**(d). Reviewer:** 🔍 Reviews pull requests before merging to the main branch.

### 🎯 **Scope of the Module**

- Input: A name (string).

- Output: Boolean value indicating if the name contains consecutive identical letters.

- Edge cases: Handle special characters, empty strings, and numeric values gracefully.

**4. Documentation:**
### 📚 **Documentation**

- 📖 Include a **README** file with clear usage instructions

- 🛠️ Provide **example input and output** for better understanding

- Include a README file with clear instructions on usage.
---

- Provide example input and output.
🎉 Let’s stick to these constraints and make our project shine! 🚀
Loading
Loading