Skip to content

Commit

Permalink
Merge branch 'main' into is-even
Browse files Browse the repository at this point in the history
  • Loading branch information
Moealfadil authored Dec 28, 2024
2 parents df0ab77 + d0448ca commit 712b69e
Show file tree
Hide file tree
Showing 7 changed files with 241 additions and 69 deletions.
37 changes: 37 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# WELCOME TO THE CODE COLLABORATORS' REPOSITORY

![Visual aid code collaborators are from different parts of the world!](assets/collaboration.jpg)
We are a collaborative group of problem-solvers who are working together to tackle
exciting challenges in this particular project.

## 🚀 Mission

Our main mission is to build a foundation of creativity, collaboration, and learning
while developing basic solutions that help in the build-up of solutions that
provide aid to real-world problems.

## 🔍 Our Current Focus

We are currently exploring the endless world of project challenges.
Each member of this group will select two challenges and share their progress in
this repository.

## Repository Overview

This repository contains the following:

- Group collaborations
- Solutions and Tests to individual challenge projects.

## Contributions

Our aim is to promote collaboration among members. As we believe that
there is always room for improvement in everything we do, we welcome
contributions, suggestions, and feedback from all members.

## 🤩 What to expect?

As our project and challenges change, so will this README. Stay tuned for our
regular updates,

Join us as we grow on this platform together!
Binary file added assets/collaboration.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/goals.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 37 additions & 1 deletion collaboration/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,41 @@
# Collaboration

<!-- group norms summary -->
**Summary**: Norms were agreed upon and will be used to maintain effective teamwork.

<!-- group norms list -->
## Our List of Group Norms

### 💬 Communication

- Communicate via WhatsApp and Slack channels
- Respect the opinion of others and their way of working
- Be patient with late responses

### 🤝 Collaboration

- Provide regular updates on important milestones in your work

### 🔒 Accountability

- Setting clear goals and expectations for the role and responsibilities of each
- Setting deadlines for completing part of or all of deliverables

### ⚖️ Conflict Resolution

- Foster a culture of understanding and forgiveness
- Offer constructive criticism but avoid personal attacks
- If a conflict occurs, learn from it to strengthen dynamics and avoid future conflicts

### 📆 Meetings

- Reach a consensus for an agreed upon schedule and stick to it
- Be well prepared

### 👥 Behavioral

- Respect diversity and inclusion
- Avoid offensive language and behaviour
- Maintain confidentiality when needed

---
Group Name: Code Collaborators
83 changes: 44 additions & 39 deletions collaboration/communication.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,59 @@
<!--
this template is for inspiration, feel free to change it however you like!
Careful! be sure to protect your privacy when filling out this document
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 Schedule

| Day | How | The topic of discussion | | --- | :-: | ----------------------- |
| | | |
---

## Communication Channels

how often will we get in touch on each channel, and what we will discuss there:
Details about how often we will communicate and what to discuss on each platform:

- **Issues**:
Use GitHub Issues to document and discuss tasks. Assign yourself to an issue
when you begin a task and provide updates regularly. Add clear labels
(e.g., "Bug," "Feature," "Question") for better organization.

- **Pull Requests**:
When a task is completed, create a Pull Request (PR) on GitHub. Ensure your
PR includes a descriptive title and summary of changes.

- **Slack/WhatsApp**:
These platforms will be our primary channels for real-time communication.
Use them to:
- Share quick updates.
- Clarify immediate questions.
- Notify members of any schedule or plan changes.

- **Video Meetings**:
Regular video meetings will take place on **Google Meet**.
The meeting link will be shared on Slack or WhatsApp at least 24 hours in advance.
Use meetings for:
- Planning next steps.
- Discussing blockers or complex issues.
- Reviewing progress and setting goals.

---

- **Issues**:
- **Pull Requests**:
- **Slack/Discord**:
- **Video Calls**:
## Asking for Help

______________________________________________________________________
Avoid getting stuck for too long by following this guide:

## Availability
1. _0 -> 30 minutes_: Try to solve the issue independently.
2. _30 -> 60 minutes_: Reach out to your group via Slack or WhatsApp.
3. _60+ minutes_: Tag a coach or mentor on Slack

### Availability for calling/messaging
---

| Day | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | |
------ | :----: | :-----: | :-------: | :------: | :----: | :------: | :----: |
| _name_ | | | | | | | |
## Meeting Etiquette

### How many hours everyone has per day
1. **Agenda**: An agenda will be shared before each meeting. Review it in advance
and prepare relevant updates or questions.
2. **Punctuality**: Join meetings on time to respect everyone’s schedule.
3. **Participation**: Actively participate and ensure all voices are heard.

- name: _5h_;
- name: _6h_;
- name: _5h_;
- name: _4h_;
- name: _3h_;
---

## Asking for Help
## Feedback and Retrospectives

There's a fine line between confidently learning from your mistakes, and
stubbornly getting no where. Here is a general guide for when to ask for help
based on how long you've been stuck on the same problem:
At the end of major milestones or the project:

1. _0 -> 30 min_: Try on your own
1. _30 -> 60 min_: Ask your group for help
1. _60+ min_: Tag your coaches in Slack or GitHub
- Schedule a retrospective meeting to discuss what went well and what could be improved.
- Provide constructive feedback to help each other grow and enhance team collaboration.
96 changes: 70 additions & 26 deletions collaboration/constraints.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,78 @@
<!-- this template is for inspiration, feel free to change it however you like! -->
# **Constraints**

# Constraints
Every project operates within a unique set of boundaries that define what is possible,
practical, and achievable. These constraints help shape the project’s scope, set
expectations, and guide decision-making throughout its lifecycle. By understanding
and defining these limitations early, we can establish a clear framework for what
the project can and cannot include.

Some boundaries around our project.
Constraints are not just obstacles; they can also be tools for innovation. When
used constructively, they push us to think critically and find creative solutions
within the defined boundaries. This document outlines both **external factors**
(which we cannot control) and **internal constraints** (both involuntary and voluntary)
that influence our approach. Together, these considerations will help us craft a
realistic and impactful project that meets its objectives efficiently and effectively.

## External
## **External Constraints** 🚧

<!--
constraints coming from the outside that your team has no control over:
- project deadlines
- number of unit tests required to pass a code review
- technologies (sometimes a client will tell you what to use)
- power or connectivity
- ...
-->
External constraints are limitations imposed by factors outside the team’s direct
control. These constraints shape the scope, timeline, and feasibility of the project,
requiring careful planning and adaptability. Key external constraints include:

## Internal: Involuntary
- **Internet Connectivity** 🌐: Unreliable or slow internet access can disrupt
- communication, research, and collaborative workflows, affecting project progress.
- **Power Outages** ⚡: Unpredictable power cuts can interrupt work, delay progress,
- and impact productivity, especially in locations without backup power.
- **Competing Workload** 📚: Team members juggling other responsibilities, such
as additional jobs or unrelated projects, can reduce the time and focus dedicated
to the current project.
- **Resource Availability** 🔧: Limited access to external tools, materials, or
technologies required for the project can create bottlenecks.

<!--
constraints that come from within your team, and you have no control over:
- each of your individual skill levels
- amount of time available to work on the project
-->
## **Internal Constraints: Involuntary** 🔒

## Internal: Voluntary
Internal involuntary constraints arise from unavoidable limitations within the team
or organization. These constraints are inherent and require careful management to
ensure they do not hinder project success. Key involuntary constraints include:

<!--
constraints that your team decided on to help scope the project. they may include:
- coding style & conventions
- agree on a code review checklist for the project repository
- the number of hours you want to spend working
- only using the colors black and white
-->
- **Time Availability** ⏳: Team members may have limited hours to dedicate to the
project due to fixed schedules, personal commitments, or overlapping responsibilities.
- **Varied Skill Sets** 🛠️: Differences in expertise or gaps in knowledge within
the team can create dependencies, requiring additional training or external support
to complete certain tasks.
- **Other Priorities** 🔄: Internal competing priorities, such as involvement in
other projects, deadlines, or other responsibilities, can reduce the focus and
effort allocated to this project.

Recognizing these constraints helps the team set realistic goals, plan effectively,
and address challenges proactively to maintain productivity.

## **Internal Constraints: Voluntary** 💡

Voluntary internal constraints are self-imposed limitations set by the team to guide
the project and ensure quality, efficiency, and alignment with goals. These constraints
reflect deliberate decisions made to improve outcomes and maintain focus. Key voluntary
constraints include:

- **Time Management Rules** 🕒: Allocating specific working hours or limiting overtime
to maintain work-life balance and prevent burnout.
- **Skill Development Focus** 📈: Prioritizing tasks that align with team members’
learning goals or strengths to foster growth while ensuring quality output.
- **Project Scope Definition** 🎯: Deliberately narrowing the scope to focus on essential
features and deliverables, avoiding unnecessary complexity or scope creep.
- **Adherence to Standards** 📑: Committing to practices like clean coding, thorough
documentation, and consistent testing, as well as going through the code review checklist
to ensure quality and consistency throughout the project.

These constraints are designed to create a structured and sustainable workflow, enabling
the team to deliver a high-quality project while fostering creativity and collaboration.

## **Call to Action** 🚀

We encourage everyone to continuously evaluate the constraints that affect their
work and communicate any challenges or solutions as they arise. If you encounter
any
constraints that impact your ability to deliver, collaborate with the team to develop
a plan and overcome them and free to create an issue. Together, we can navigate
these challenges and ensure
the success of the project!
56 changes: 53 additions & 3 deletions collaboration/learning_goals.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,55 @@
# Learning Goals
# Group 18 Learning Goals

## Collective
![Collaboration Image](../assets/goals.jpg)

## Individual
## Collective Learning Goals

As a team, we aim to achieve the following:

1. **Master Collaborative Tools:**
- Become proficient in using GitHub for version control,
collaboration, and project management.
- Ensure effective communication and documentation within the repository.

2. **Build a Culture of Teamwork:**
- Foster an environment of mutual support and accountability.
- Encourage active participation, constructive feedback, and knowledge sharing.

3. **Deliver High-Quality Outputs:**
- Set clear milestones and deliverables for projects.
- Maintain high standards for code quality, readability, and functionality.

4. **Resolve Conflicts Efficiently:**
- Learn to handle merge conflicts and ensure seamless integration of team contributions.
- Develop a shared understanding of best practices for collaboration.

5. **Develop Agile Practices:**
- Adopt iterative approaches for project development.
- Regularly review progress and adjust priorities as needed.

---

## Individual Learning Goals

As part of the program, Every team member will focus on
achieving the following personal goals:

1. **Enhance GitHub Proficiency:**
- Understand and use Git commands to manage repositories effectively.
- Master branching, merging, and handling pull requests.

2. **Improve Coding Skills:**
- Write clean, maintainable, and well-documented code.
- Learn and apply relevant programming languages or frameworks for the project.

3. **Strengthen Communication:**
- Provide clear and constructive feedback on code reviews.
- Document team contributions and thought processes to benefit the team.

4. **Time Management:**
- Prioritize tasks and meet deadlines while balancing program commitments.
- Use tools like project boards to track progress and manage workloads.

5. **Develop a Growth Mindset:**
- Seek opportunities to learn from peers and mentors.
- Reflect on challenges and successes to continuously improve personal skills.

0 comments on commit 712b69e

Please sign in to comment.