diff --git a/README.md b/README.md index e69de29bb..9f8654427 100644 --- a/README.md +++ b/README.md @@ -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! diff --git a/assets/collaboration.jpg b/assets/collaboration.jpg new file mode 100644 index 000000000..78e58fe61 Binary files /dev/null and b/assets/collaboration.jpg differ diff --git a/assets/goals.jpg b/assets/goals.jpg new file mode 100644 index 000000000..df3562f34 Binary files /dev/null and b/assets/goals.jpg differ diff --git a/collaboration/README.md b/collaboration/README.md index 20889b951..4e6e870e6 100644 --- a/collaboration/README.md +++ b/collaboration/README.md @@ -1,5 +1,41 @@ # Collaboration - +**Summary**: Norms were agreed upon and will be used to maintain effective teamwork. +## 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 diff --git a/collaboration/communication.md b/collaboration/communication.md index 484652e0f..9a0798de2 100644 --- a/collaboration/communication.md +++ b/collaboration/communication.md @@ -1,54 +1,59 @@ - - # 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. diff --git a/collaboration/constraints.md b/collaboration/constraints.md index 24079505c..3f5c17646 100644 --- a/collaboration/constraints.md +++ b/collaboration/constraints.md @@ -1,34 +1,78 @@ - +# **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** 🚧 - +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. - +## **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: - +- **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! diff --git a/collaboration/learning_goals.md b/collaboration/learning_goals.md index 11c583d2b..f00b25f5c 100644 --- a/collaboration/learning_goals.md +++ b/collaboration/learning_goals.md @@ -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.