Skip to content

Commit

Permalink
Merge branch 'retrospective' of https://github.com/MIT-Emerging-Talen…
Browse files Browse the repository at this point in the history
  • Loading branch information
GaiSamuel committed Jan 11, 2025
2 parents 879ce88 + 56f7288 commit 419e5eb
Show file tree
Hide file tree
Showing 45 changed files with 3,087 additions and 141 deletions.
21 changes: 10 additions & 11 deletions .github/workflows/ci-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@ on: [push, pull_request, workflow_dispatch]

jobs:
ls_linting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ls-lint/[email protected]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ls-lint/[email protected]

md_formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: nosborn/[email protected]
with:
files: .
config_file: .markdownlint.yml
- uses: actions/checkout@v4
- uses: nosborn/[email protected]
with:
files: .
config_file: .markdownlint.yml

py_formatting:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -44,7 +44,7 @@ jobs:
if: always()
- name: install pylint
run: |
python - m pip install --upgrade pip
python -m pip install --upgrade pip
pip install pylint
shell: bash
- name: Python - Check Linting - pylint
Expand All @@ -55,7 +55,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: python version
run: python --version
shell: bash
Expand Down
43 changes: 40 additions & 3 deletions .markdownlint.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,40 @@
ignore:
- venv
- .github
# Focuses on core readability and consistency practices

# Headings
MD003: # Heading style
style: consistent
MD004: # Unordered list style
style: consistent
MD007: # Unordered list indentation
indent: 2

# Line length and whitespace
MD013: # Line length
line_length: 8000
strict: false
stern: false

# Spacing and formatting
MD022: # Headings should be surrounded by blank lines
lines_above: 1
lines_below: 1
MD023: # Headings must start at the beginning of the line
MD030: # Spaces after list markers
ul_single: 1
ol_single: 1
ul_multi: 1
ol_multi: 1

# Emphasis and strong
MD036: # Emphasis used instead of a heading
punctuation: ".,;:!?"

# General best practices
MD047: true # Files should end with a single newline character
MD048: # Code block style (consistent backticks)
style: consistent

# Disable some strict rules for beginners
MD024: false # Allow multiple headings with the same content
MD041: false # First line in a file being a top-level heading
MD033: false # allow inline html
73 changes: 11 additions & 62 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,125 +2,74 @@
// https://vscode-docs.readthedocs.io/en/stable/customization/userandworkspace/#default-settings
//-------- Editor configuration --------

// Controls auto save of editors that have unsaved changes.: https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save
"files.autoSave": "onFocusChange",

// Format a file on save. A formatter must be available.
"editor.formatOnSave": true,

// Controls whether the editor should automatically format the pasted content. A formatter must be available.
"editor.formatOnPaste": true,

// Controls whether the editor should render indent quides
"editor.guides.indentation": true,

// Controls whether the editor should highlight the active indent guide.
"editor.guides.highlightActiveIndentation": true,

// Controls the rendering size of tabs in characters. Accepted values: "auto", 2, 4, 6, etc. If set to "auto", the value will be guessed when a file is opened.
"editor.tabSize": 2,

// Defines a default formatter which takes precedence over all other formatter settings. Must be the identifier of an extension contributing a formatter
"editor.defaultFormatter": "esbenp.prettier-vscode",

// Controls bracket pair colorization is enabled or not
"editor.bracketPairColorization.enabled": true,

// Controls whether bracket pair guides are enabled or not. (true, active, false)
"editor.guides.bracketPairs": "active",

// Controls whether horizontal bracket pair guides are enabled or not.
"editor.guides.bracketPairsHorizontal": "active",

// Controls whether the editor should highlight the active bracket pair.
"editor.guides.highlightActiveBracketPair": true,

// Controls whether the editor has linked editing enabled.
"editor.linkedEditing": true,

//-------- HTML configuration --------

// Enable/disable auto closing of HTML tags
"html.autoClosingTags": true,

// Configures if the built-in HTML language suggests HTML5 tags, properties and values.
"html.suggest.html5": true,

// Defines a default HTML formatter which takes precedence over all other formatter settings. Must be the identifier of an extension contributing a formatter
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},

//-------- Emmet configuration --------

// Enables completion when you are writing Emmet appreveation.
"html-css-class-completion.enableEmmetSupport": true,

//-------- JavaScript configuration --------

// Enable/disable auto closing of JSX tags.
"javascript.autoClosingTags": true,

// Enable/disable auto import suggestions.
"javascript.suggest.autoImports": true,

// Enable/disable automatic updating of import paths when you rename or move a file in VS Code.
"javascript.updateImportsOnFileMove.enabled": "always",

// Enable/disable suggestoins for paths in import statement and require calls. (change it to false to be able to use Path Intellisense extension)
"javascript.suggest.paths": false,

//-------- TypeScript configuration --------

// Enable/disable auto closing of JSX tags.
"typescript.autoClosingTags": true,

// Enable/disable auto import suggestions.
"typescript.suggest.autoImports": true,

// Enable/disable automatic updating of import paths when you rename or move a file in VS Code.
"typescript.updateImportsOnFileMove.enabled": "always",

// Enable/disable suggestoins for paths in import statement and require calls. (change it to false to be able to use Path Intellisense extension)
"typescript.suggest.paths": false,

//-------- Work Bench configuration --------

// Controls whether a top border is drawn on tabs for editors that have unsaved changes.
"workbench.editor.highlightModifiedTabs": true,

//-------- Files configuration --------

// When enabled, will trim all new lines after the final new line at the end of the file when saving it.
"files.trimFinalNewlines": true,

// When enabled, insert a new final line at the end of the file when saving it.
"files.insertFinalNewline": true,

//-------- Live Server configuration --------

// Set Custom Port Number of Live Server. Set 0 if you want random port.
"liveServer.settings.port": 5504,

//-------- Markdown configuration --------

// Enable path suggestoins while writing links in markdown files
"markdown.suggest.paths.enabled": true,

// Defines a default markdown formatter which takes precedence over all other formatter settings. Must be the identifier of an extension contributing a formatter
"[markdown]": {
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint"
},

// Enable/disable update table of contents on save
"markdown.extension.toc.updateOnSave": false,

"cSpell.words": [
"Khayri",
"Linah",
"Tessema"
],

"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.ruff": "explicit",
"source.organizeImports.ruff": "explicit"
}
}
},
"cSpell.words": [
"Khayri",
"Linah"
]
}
59 changes: 59 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<div align="center">
<img src="https://text.media.giphy.com/v1/media/giphy.gif?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJwcm9kLTIwMjAtMDQtMjIiLCJzdHlsZSI6InJhZ2UiLCJ0ZXh0IjoiMjQlMkY3JTIwU3F1YWQiLCJpYXQiOjE3MzY1MDc1OTh9.nk4z4PVuUzebqEQeOFo6k7F3JSiU2miRsl8qjt_iXvI" alt="Demo GIF">
</div>
<!-- MD03/no-inline-html: Inline HTML is used intentionally to center the image for better visual alignment. -->

# Welcome to our **Available** Squad <img src="https://cdn.pixabay.com/animation/2023/05/12/07/29/07-29-43-548_512.gif" width="60" height="60" alt="clock">

<!-- MD03/no-inline-html: Inline HTML is used intentionally to resize the gif for better visual alignment. -->

Together, we dive into coding and testing challenges, sharpening our problem-solving and collaboration skills as a united team. Our mission is to work in harmony, review each others solutions, and grow through shared learning and constructive feedback. We believe that exceptional solutions stem from exceptional teamwork. That's why we are dedicated to building and supporting each other every step of the way. Let's make amazing things happen, together! ⭐

---

## 🚀 Project Overview

### What We will Do

- 🧠 **Coding Challenges**: We will face a variety of coding problems, each offering new learning opportunities.
- 🔍 **Review Each Others Solutions**: After completing tasks, we will give and receive feedback to ensure high-quality results and growth.
- 🛠️ **Collaborate on Testing**: Testing is a key part of the process. We will work together to ensure our solutions are robust and reliable.
- 💬 **Communicate Effectively**: From code discussions to problem-solving, clear and open communication is key to our success.
- 🚧 **Solve Roadblocks Together**: No one is left behind. If a challenge arises, we will come together to brainstorm and troubleshoot.
- 🌱 **Learn and Grow**: The goal is not just to finish the tasks, but to grow as a team through shared knowledge and experiences.

---

## 🌟 How We Collaborate

🧩 We take collaboration seriously. Here is how we do it:

- [Our Norms](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-24/blob/main/collaboration/README.md)
- [Our Communication](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-24/blob/main/collaboration/communication.md)
- [Our Constraints](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-24/blob/main/collaboration/constraints.md)
- [Our Learning Goals](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-24/blob/main/collaboration/learning_goals.md)
- [Our Retrospectives](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-24/blob/main/collaboration/retrospective.md)
- [Our challenges](https://github.com/MIT-Emerging-Talent/ET6-foundations-group-24/tree/main/solutions)

---

## Meet the Dream Team 🧑‍🤝‍🧑

Our squad is made up of some seriously talented people who bring the 🔥 to this project. Check out the crew making it all come to life:

- [**Abel Mesfin Teka**](https://github.com/TekaMesfinAbel)
- [**Banchiamlak Tessema**](https://github.com/BanchiHub)
- [**Gai Samuel**](https://github.com/GaiSamuel)
- [**Khusro Sakhi**](https://github.com/Khusro-S)
- [**Linah Khayri**](https://github.com/linahKhayri)
- [**Mohamed Elnageeb**](https://github.com/Mohamed-Elnageeb)
- [**Robel Mengsteab**](https://github.com/robiel0143)
- [**Viktoriya Haiduk**](https://github.com/ViktoriyaHaiduk)
- [**Yonatan Yishak Yifat**](https://github.com/YonatanBest)
- [**Zeinab Mohammed**](https://github.com/Zeinab15)

### 💥 Here We Go

With the Squad all set, we are ready to make some magic happen. Stay with us for the ride, things are about to get awesome! 💪

![Demo GIF](https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExOTBrZHhqdG9tNG9sNDd2c2YwdThvaW5qc3d2OHB1ZHJmajN4Z2hweCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/3o85xHhy12MVG2fkVW/giphy.webp)
85 changes: 83 additions & 2 deletions collaboration/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,86 @@
# Collaboration

# 🌟 Our Group Norms
<!-- group norms summary -->

## ✨ Summary

Our group norms emphasize **availability**, **trust**, **inclusivity**, and **adaptability** as cornerstones of effective collaboration. Trust is built through reliability, empathy, and accountability, fostering both cognitive and affective connections. Clear communication, respect, and time management ensure productive teamwork, while flexibility allows us to adapt to individual needs and project demands. Leadership is approached collaboratively, and norms evolve to maintain relevance, supported by thorough documentation and consistent standards.

---
<!-- group norms list -->
## 📋 Group Norms

### 🕒 Availability

- **We will ensure availability** by committing to being accessible from afternoon to early evening in our local time zones, which aligns with **7 am to 1 pm EST**.

### 🤝 Trust

- **Cognitive Trust**:
We will consistently deliver quality work, meet deadlines, and communicate effectively. Reliability and competence will form the foundation of trust in each other’s abilities.
- **Affective Trust**:
We will cultivate trust by building personal connections through empathy, active listening, and support during challenges. Transparency, constructive feedback, and approachability will be key.
- **Addressing Damaged Trust**:
Mistakes will be acknowledged with sincerity, responsibility will be taken, and open communication will be used to restore confidence.

### 💬 Discussion & Debate

- **We will balance discussion and debate** by using each appropriately:
- *Discussion*: For collaborative brainstorming, sharing diverse perspectives, and fostering inclusivity.
- *Debate*: For resolving disagreements or evaluating competing ideas.

### 🙌 Respect

- We will ensure **mutual respect** by actively listening, giving constructive feedback, and recognizing contributions.
- Disrespect, such as interruptions or dismissive behavior, will be avoided to maintain a positive group dynamic.

### 🌍 Inclusivity

- **We will foster inclusivity** by creating an environment where all voices are heard and valued. Respect for diverse perspectives and communication styles will ensure everyone feels included.

### 🔄 Flexibility & Adaptability

- **We will remain flexible** by adjusting to individual circumstances and evolving group norms as needed. Feedback and project demands will guide these changes.

### 📢 Communication

- **We will prioritize clear communication** through:
- Slack for quick updates.
- Email for formal documentation.
- Virtual meetings for discussions and decisions.
- Agendas will keep meetings focused, and open discussions will encourage collaboration.

### ⏰ Time Management

- **We will respect schedules and deadlines** by:
- Allowing a 10-minute grace period for late arrivals.
- Using pre-set agendas for productive meetings.
- Coming prepared with completed tasks.

### 🗳️ Decision-Making

- **We will strive for consensus** and use majority votes when disagreements arise.
- Major decisions will be documented and shared transparently.

### 🛠️ Task Division & Collaboration

- **Tasks will be divided fairly** using a "divide and conquer" approach to ensure equal contributions.
- Progress will be tracked to maintain accountability, and contributions will be respected regardless of task complexity.

### 🔗 Leadership

- **We will handle leadership flexibly** by assigning leaders as needed or sharing responsibilities among all members.

### 💡 Conflict Resolution

- **We will address conflicts with openness and empathy**, focusing on collaborative resolutions. Mistakes will be acknowledged, and trust will be restored through accountability and dialogue.

### 🚀 Norm Evolution

- **We will review and adapt norms** regularly as the team grows and challenges arise to keep them relevant and effective.

### 📝 Documentation & Coding Standards

- **We will maintain thorough documentation** of contributions, decisions, and progress.
- Coding standards will include consistent templates and camelCase naming conventions for variables and functions.

---
Loading

0 comments on commit 419e5eb

Please sign in to comment.