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

Collaboration readme fixed #25

Closed
wants to merge 47 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
001fd56
Update learning_goals.md
mojtabafayyaz Dec 25, 2024
34b062a
Update learning_goals.md
mojtabafayyaz Dec 25, 2024
0d4ce0b
Update learning_goals.md
mojtabafayyaz Dec 25, 2024
a53d06a
Update learning_goals.md
mojtabafayyaz Dec 25, 2024
aa0cebf
Update learning_goals.md
mojtabafayyaz Dec 25, 2024
3f0990a
Update ci-checks.yml
mojtabafayyaz Dec 27, 2024
32f1544
Update ci-checks.yml
mojtabafayyaz Dec 27, 2024
f158317
Update ci-checks.yml
mojtabafayyaz Dec 27, 2024
feb7e3f
Update 0_repository_setup.md
mojtabafayyaz Dec 27, 2024
fb165b5
Update 0_repository_setup.md
mojtabafayyaz Dec 27, 2024
6b09049
Update 0_repository_setup.md
mojtabafayyaz Dec 27, 2024
a8e610b
Update 0_repository_setup.md
mojtabafayyaz Dec 27, 2024
64edd74
Update constraints.md
mojtabafayyaz Dec 27, 2024
8d667eb
Update communication.md
mojtabafayyaz Dec 27, 2024
9a2f599
Update learning_goals.md
mojtabafayyaz Dec 27, 2024
84bdcc7
Update README.md
mojtabafayyaz Dec 27, 2024
7f55046
Update 0_repository_setup.md
mojtabafayyaz Dec 27, 2024
c6221e1
Update README.md
mojtabafayyaz Dec 27, 2024
b0172c1
Update communication.md
mojtabafayyaz Dec 27, 2024
3c1075c
Update constraints.md
mojtabafayyaz Dec 27, 2024
108d596
Update learning_goals.md
mojtabafayyaz Dec 27, 2024
d057d14
Update README.md
mojtabafayyaz Dec 27, 2024
62de07e
Update 0_repository_setup.md
mojtabafayyaz Dec 27, 2024
2e08e80
Update README.md
mojtabafayyaz Dec 27, 2024
b98b054
Update communication.md
mojtabafayyaz Dec 27, 2024
1efbcca
Update constraints.md
mojtabafayyaz Dec 27, 2024
a616be5
Update learning_goals.md
mojtabafayyaz Dec 27, 2024
bfda115
Update README.md
mojtabafayyaz Dec 27, 2024
b078afe
Update README.md
mojtabafayyaz Dec 27, 2024
6d11c82
Update README.md
mojtabafayyaz Dec 27, 2024
f8eb4d0
Update communication.md
mojtabafayyaz Dec 27, 2024
50e76f9
Update constraints.md
mojtabafayyaz Dec 27, 2024
5bd77f6
Update learning_goals.md
mojtabafayyaz Dec 27, 2024
ee14234
Update README.md
mojtabafayyaz Dec 27, 2024
18b823a
Update README.md
mojtabafayyaz Dec 27, 2024
0ed4e4e
Update communication.md
mojtabafayyaz Dec 27, 2024
91b549e
Update constraints.md
mojtabafayyaz Dec 27, 2024
3708c50
Update learning_goals.md
mojtabafayyaz Dec 27, 2024
b89cfef
Update README.md
mojtabafayyaz Dec 27, 2024
4151a53
Update communication.md
mojtabafayyaz Dec 27, 2024
dd64639
Update constraints.md
mojtabafayyaz Dec 27, 2024
8cd066e
Update README.md
mojtabafayyaz Dec 27, 2024
5a2701c
Update README.md
mojtabafayyaz Dec 28, 2024
90bb967
Update README.md
mojtabafayyaz Dec 28, 2024
d9695f3
Update README.md
mojtabafayyaz Dec 28, 2024
203a711
Update README.md
mojtabafayyaz Dec 28, 2024
19b3924
Update README.md
mojtabafayyaz Dec 28, 2024
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
13 changes: 13 additions & 0 deletions .github/workflows/ci-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,22 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: python version
run: python --version
shell: bash

- name: Check for test files
id: check_tests
run: |
if find . -type f -name "test_*.py" | grep -q .; then
echo "has_tests=true" >> $GITHUB_OUTPUT
else
echo "has_tests=false" >> $GITHUB_OUTPUT
fi
shell: bash

- name: Python - Run Tests
if: steps.check_tests.outputs.has_tests == 'true'
run: python -m unittest
shell: bash
13 changes: 1 addition & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1 @@
# Git it Done

## Overview
Welcome to the **Git it Done** repository!

This is a collaborative learning project where our team works together to solve problems and learn new skills. Each teammate will:
- Solve 2 problems.
- Help resolve 2 problems contributed by others.

Our team is made up of people with different levels of experience—some of us are complete beginners, while others have a little experience. But one thing we all share is a strong eagerness to learn. By the end of this project, we will no longer be complete beginners.

We are learning collaboratively, growing through our mistakes, and working as a team to improve. .
# Readme
67 changes: 44 additions & 23 deletions collaboration/README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,71 @@
# Collaboration

<!-- group norms summary -->

## Summary of Norms
Our goal is to create a collaborative environment where everyone feels comfortable asking questions and working together. We will start with the basics, progress toward project goals, and remain respectful, helpful, and connected throughout the journey.
<!-- group norms list -->

Our goal is to create a collaborative environment where everyone feels
comfortable asking questions and working together. We will start with
the basics, progress toward project goals, and remain respectful, helpful,
and connected throughout the journey.

### 1. Encourage Open and Respectful Communication
- Ensure all members feel heard and valued in discussions.
- Prioritize clear and constructive communication, encouraging everyone to share their ideas and perspectives without fear of judgment or interruption.

- Ensure all members feel heard and valued in discussions.
- Prioritize clear and constructive communication, encouraging everyone
to share their ideas and perspectives without fear of judgment or
interruption.

### 2. Balance Discussion and Debate
- Promote productive collaboration through thoughtful discourse.
- Use discussions to generate ideas and debates to critically evaluate them while maintaining respect and focusing on project goals.

- Promote productive collaboration through thoughtful discourse.
- Use discussions to generate ideas and debates to critically evaluate
them while maintaining respect and focusing on project goals.

### 3. Technical Meetings
- Use **Slack** for technical discussions and project updates.

- Use **Slack** for technical discussions and project updates.
- Use **WhatsApp** for urgent matters and quick clarifications.

### 4. Reminders for Code Review
- To ensure timely code reviews, feel free to send a friendly reminder on Slack or WhatsApp when necessary.
- Encourage team members to notify the requester once the code review is completed.

- To ensure timely code reviews, feel free to send a friendly reminder
on Slack or WhatsApp when necessary.
- Encourage team members to notify the requester once the code review
is completed.

### 5. Handling Delays and Meeting Attendance
- Meetings will start as scheduled to respect everyone's time.
- If unable to attend, members should share their situation in advance and catch up via recordings.

- Meetings will start as scheduled to respect everyone's time.
- If unable to attend, members should share their situation in advance
and catch up via recordings.

### 6. Maintain a Positive Team Environment
- Avoid rude or mean behavior.
- If any interaction causes discomfort, address it respectfully to resolve the issue and foster understanding.

- Avoid rude or mean behavior.
- If any interaction causes discomfort, address it respectfully to resolve
the issue and foster understanding.

### 7. Create a Safe Feedback Culture
- Encourage constructive feedback to improve team performance.

- Encourage constructive feedback to improve team performance.
- Focus on solutions rather than blame when giving or receiving feedback.

### 8. Clear Handoffs When Required
- If there are delays in completing tasks, inform the team promptly to prevent further delays.
- Minimize dependency issues by clearly communicating expectations and timelines when tasks require input or dependencies from another member.

- If there are delays in completing tasks, inform the team promptly to
prevent further delays.
- Minimize dependency issues by clearly communicating expectations and
timelines when tasks require input or dependencies from another member.

### 9. Respect for Different Work Styles
- Foster individuality while ensuring progress.
- Respect that everyone has a unique working style, provided deliverables are submitted on time and meet agreed standards.

### 10. Responsiveness and Accountability
- While everyone has different schedules, acknowledging messages on Slack or WhatsApp—even with a brief reply—helps keep the team informed and connected.
- This ensures smooth collaboration and demonstrates respect for everyone’s efforts.
- Foster individuality while ensuring progress.
- Respect that everyone has a unique working style, provided deliverables
are submitted on time and meet agreed standards.

### 10. Responsiveness and Accountability

- While everyone has different schedules, acknowledging messages on
Slack or WhatsApp—even with a brief reply—helps keep the team
informed and connected.
- This ensures smooth collaboration and demonstrates respect for
everyone’s efforts.
53 changes: 0 additions & 53 deletions collaboration/communication.md
Original file line number Diff line number Diff line change
@@ -1,54 +1 @@
<!--
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:

- **Issues**: Adding availability to the schedule
- **Pull Requests**: Reviewing each other's code and giving feedback
- **Slack/Discord**: Email, Slack, and WhatsApp
- **Video Calls**: Zoom and Google Meet

______________________________________________________________________

## Availability

### Availability for calling/messaging

| Day | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | |
------ | :----: | :-----: | :-------: | :------: | :----: | :------: | :----: |
**Madiha**| Monday &check;| Tuesday &check;| Wednesday &check;| Thursday &check;| Friday &check;| Saturday &check;| Sunday &check;| |

### How many hours everyone has per day

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

## 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 -> 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
72 changes: 0 additions & 72 deletions collaboration/constraints.md
Original file line number Diff line number Diff line change
@@ -1,73 +1 @@
<!-- This template is for inspiration, feel free to change it however you like! -->

# Constraints

This section outlines the boundaries and considerations for our project to ensure smooth collaboration, efficient learning, and effective task completion.

## 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
- ...
-->

**These factors outside our control influence how we work on this project.**
- **Platform Requirements:**
- Problems must be selected from the workshop's exercises, CodeWars, LeetCode, or similar coding platforms.
- Solutions must comply with the workshop's requirements (e.g., unittest, documentation, and clear variable name).
- **Deadlines:**
- Projects must be finished at the timeline set by the MIT Emerging Talent program.
- Each member must solve and review problems within the agreed-upon timeframes.
- **Tools and Resources:**
- GitHub must be used for version control, communication, and documentation.
- The team must rely on publicly available resources (e.g., online tutorials and documentation) to enhance learning.



## Internal Constraints: Involuntary

<!--
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
-->
**These are limitations or challenges within the team that we need to navigate effectively.**
- **Experience Levels:**
- Team members have varying levels of experience in programming, unit testing, and documentation.
- Some members may require more time or support to complete tasks.
- **Availability:**
- Team members may have different schedules and commitments, limiting synchronous collaboration opportunities.
- Technical Skills:
- Limited familiarity with tools like Git, GitHub workflows, or unit testing frameworks.


## Internal Constraints: Voluntary

<!--
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
-->
These are self-imposed rules or boundaries designed to improve collaboration and learning outcomes.
- **Unit Testing:**
- All submitted solutions must include unit tests to verify correctness and edge cases.
- Use Python’s unittest module (or equivalent) for testing.
- **Documentation Standards:**
- All code must include meaningful comments explaining the logic.
- Problem solutions must include documentation with:
- Problem description.
- Approach and thought process.
- Test cases used.
- **Communication Protocols:**
- Use GitHub Issues to discuss problems and tasks.
- At least one other member must review pull requests before merging.
- Constructive feedback is required for all reviews.
- **Collaborative Learning:**
- Each member must share insights or challenges they faced during problem-solving to help others learn.
- Regular check-ins (via GitHub comments or virtual meetings) to ensure alignment.
30 changes: 17 additions & 13 deletions collaboration/guide/0_repository_setup.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,34 @@
# Repository Setup

Before diving into your project make sure your team has all the practical things
in place. This step isn't very hard but everything will go more smoothly if you
Before diving into your project, make sure your team has all the practical things
in place. This step isn't very hard, but everything will go more smoothly if you
take the time to do this correctly at the beginning.

## Setup and Share a Repository

As a team you will choose the name for your team and select
someone from your team to be the repo owner. This person will fork this
repository and configure it for collaboration:
As a team, you will choose the name for your team and select someone from your
team to be the repo owner. This person will fork this repository and configure
it for collaboration:

- Public face of your repository
- **Public face of your repository:**
- Change your
[repository description](https://stackoverflow.com/questions/7757751/how-do-you-change-a-repository-description-on-github)
- Add or remove topics from your repository
- Update your main README with your group name and an initial overview of your project. (You can change this as much as you want.)
- Under settings in your repository select:
[repository description](https://stackoverflow.com/questions/7757751/how-do-you-change-a-repository-description-on-github).
- Add or remove topics from your repository.
- Update your main README with your group name
- and an initial overview of your
project. (You can change this as much as you want.)

- **Under settings in your repository, select:**
- _Issues_
- _Projects_
- _Always suggest updating pull request branches_
- Collaboration Settings

- **Collaboration Settings:**
- Require a code review for PRs to `main`/`master`
([owanateamachree](https://owanateamachree.medium.com/how-to-protect-the-master-branch-on-github-ab85e9b6b03),
[github docs](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/approving-a-pull-request-with-required-reviews))
- You will need to type `master` into the _Branch name pattern_ input box.
(or type `main` if you have changed your default branch)
- You will need to type `master` into the _Branch name pattern_ input box
(or type `main` if you have changed your default branch).
- Select these settings to protect matching branches:
- _Require approvals_
- _Dismiss stale pull request approvals when new commits are pushed_
Expand Down
4 changes: 0 additions & 4 deletions collaboration/learning_goals.md
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
# Learning Goals

## Collective

## Individual
Loading