├── contributors └── shivaylamba │ └── shivaylamba.md ├── challengers-list.md ├── Challenges ├── challenge1.md ├── challenge11.md ├── challenge14.md ├── challenge18.md ├── challenge3.md ├── challenge2.md ├── challenge13.md ├── challenge6.md ├── challenge9.md ├── challenge12.md ├── challenge24.md ├── challenge10.md ├── challenge21.md ├── challenge4.md ├── challenge16.md ├── challenge17.md ├── challenge7.md ├── challenge30.md ├── challlenge29.md ├── challenge28.md ├── challenge22.md ├── challenge8.md ├── challenge26.md ├── challenge19.md ├── challenge27.md ├── challenge23.md ├── challenge20.md ├── challenge25.md ├── challenge5.md └── challenge15.md ├── CONTRIBUTING.md ├── .github └── workflows │ └── linter.yaml └── README.md /contributors/shivaylamba/shivaylamba.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Shivay Lamba 3 | github_user: shivaylamba 4 | --- -------------------------------------------------------------------------------- /challengers-list.md: -------------------------------------------------------------------------------- 1 | # List of challengers 2 | 1. [Shivay](https://github.com/shivaylamba) 3 | 2. [shivscaler](http://github.com/shivscaler) 4 | -------------------------------------------------------------------------------- /Challenges/challenge1.md: -------------------------------------------------------------------------------- 1 | Welcome to the first challenge! We start with a basic task for today 2 | 3 | Task: 4 | Create a new issue on this repository with the following details to be added to the content of the issue: 5 | 6 | ``` 7 | name: Add your name here 8 | github_user_name: add your github username here 9 | discord_id: add your discord id here 10 | ``` 11 | -------------------------------------------------------------------------------- /Challenges/challenge11.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 11 2 | 3 | Welcome to the 11th Challenge 4 | 5 | Today's challenge involves how to use ``git stash`` command effectively. You can refer on how to stash your commits [here](https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning) 6 | 7 | Task: 8 | 1. Inside the branch you created in the previous challenge (challenge 3) ``your_github_username-details`` create a new file inside the directory ``contributors//`` directory. 9 | 2. Use the git stash command to move these changes to the stash area 10 | 3. Delete the content from the stash area and share a screenshot of this inside the Github issue you created in the first challenge. 11 | 12 | -------------------------------------------------------------------------------- /Challenges/challenge14.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 14 2 | 3 | Welcome to the 14th Challenge 4 | 5 | Today's challenge is a re-practice of the 8th and 9th Challenge. 6 | 7 | So focus for this challenge will be to practice the ``git rebase`` command. 8 | 9 | Ensure to practice the ``git rebase`` command by creating your own local git repository. You can checkout this guide: https://www.freecodecamp.org/news/git-squash-explained/ 10 | 11 | Task: 12 | 1. Practice git rebase, and how to squash commit using git rebase in your local projects. For this you can make some changes in the branch and the file created in Challenge 3 & 5. 13 | 2. Once done, try to squash the commits in your pull request in the Challenge repository. 14 | 3. Also do sign your commits, covered in the Challenge 12. 15 | -------------------------------------------------------------------------------- /Challenges/challenge18.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 18 2 | 3 | Welcome to the 18th Challenge 4 | 5 | Being a busy Monday, today's challenge is a bit straightforward. We will be learning how to work with GitHub Desktop 6 | 7 | #### Brief Overview 8 | 9 | GitHub Desktop is a GUI that empowers users who prefer not to work with the CLI to still interface with Git and GitHub. 10 | To learn more visit: [What is Git GUI](https://help.github.com/en/desktop/getting-started-with-github-desktop) 11 | 12 | 13 | ## Tasks 14 | 15 | - Download GitHub desktop 16 | - Create a new repository on GitHub 17 | - Add anything you want to your repo 18 | - Follow through all the GitHub workflow you know using the GUI (commit, branching, pulling, pushing etc) 19 | - Share a screenshot of your experience using github desktop on the issue created in Challenge 1. -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing Guidelines 2 | 3 | Thank you for considering contributing to the repository. This guide details all the general information that one should know before contributing to the project. 4 | Please stick as close as possible to the guidelines. That way we ensure that you have a smooth experience contributing to this project. 5 | 6 | ### General Rules : 7 | These are in general rules that you should be following while contributing to an Open Source project : 8 | 9 | - Be Nice, Be Respectful (BNBR) 10 | - Check if the Issue you created, exists or not. 11 | - While creating a new issue make sure you describe the issue clearly. 12 | - Make proper commit messages and document your PR well. 13 | - Always add Comments in your Code and explain it at points, if possible add Doctest. 14 | - Always create a Pull Request from a Branch; Never from the Main. 15 | - Follow proper code conventions because writing clean code is important. -------------------------------------------------------------------------------- /Challenges/challenge3.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 3 2 | 3 | Welcome to the third challenge! 4 | This challenge's focus is on creating a new branch in your forked clone repository 5 | 6 | ### Learning Material: 7 | 1. Learn more about git branching [here](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell) 8 | 2. Learn more about how to create a new branch in git [here](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging) 9 | 10 | ### Task: 11 | 1. Following up on the 2nd task: [2nd day's task](https://github.com/scaleracademy/scaler-open-source-september-challenge/blob/main/Challenges/challenge2.md), create a new branch locally in your forked clone repository. 12 | 2. The new branch name should be as follows: ``your_github_username-details``. Example: ``shivaylamba-details`` 13 | 3. Add a new comment to the issue you created in the [first challenge](https://github.com/scaleracademy/scaler-open-source-september-challenge/blob/main/Challenges/challenge1.md). The comment should have the following: 14 | 15 | - Screenshot showing the list of all the current branches inside of your forked clone repository -------------------------------------------------------------------------------- /Challenges/challenge2.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 2 2 | 3 | Welcome to the second challenge! 4 | Today we will focus on how to fork and create a clone of a Github repository 5 | 6 | Pre-requisite: 7 | 1. In order to complete this challenge, you need to ensure you have Git installed in your system: You can install git [here](https://git-scm.com/downloads). 8 | 9 | 2. To learn more about what is a fork in Github, refer to this [doc on forking](https://docs.github.com/en/get-started/quickstart/fork-a-repo). 10 | 11 | 3. To learn more about what is a clone in Github, refer to this [doc on cloning](https://docs.github.com/en/get-started/quickstart/fork-a-repo#cloning-your-forked-repository). 12 | 13 | 14 | Task: 15 | 1. Create a fork of this repository 16 | 2. Clone the forked project locally in your system using the ``git clone`` command 17 | 3. Add a new comment to the GitHub issue you created in the [first task](https://github.com/scaleracademy/scaler-open-source-september-challenge/blob/main/Challenges/challenge1.md). The comment should have the following: 18 | - URL of your forked repository 19 | - Screenshot of the cloned repo in your system/PC 20 | -------------------------------------------------------------------------------- /Challenges/challenge13.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 13th 2 | 3 | Welcome to the 13th Challenge 4 | 5 | Today we will be learning to work with GitHub Gists. 6 | 7 | Github Gists are a great way to share ideas and code snippets with others. 8 | 9 | #### Brief Overview 10 | 11 | GitHub Gist is two fold and you can either use it for sharing ideas or sharing smaple code. It supports **Markdown** 12 | To learn more, vist: 13 | - [Learn more about GitHub gist](https://help.github.com/en/enterprise/2.13/user/articles/about-gists) 14 | 15 | ## Task 16 | 17 | - Create a gist writing on any software development related topic that interests you 18 | - Create a gist sharing a small code snippet in your preferred programming language 19 | 20 | ## How to Submit 21 | 22 | - Create your submission a markdown file named ``gist-solutions.md`` and add it inside the branch ``your_github_username-details`` used in previous challenges 23 | - In your submission file add the links to your **2 gists** 24 | - Ensure you push it so that it reflects inside your Pull request created in previous challenges 25 | 26 | Do remember to update your forum post on Discord with today's task completion and screenshot -------------------------------------------------------------------------------- /Challenges/challenge6.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 6 2 | 3 | Welcome to the sixth challenge! 4 | 5 | Today's goal is to update your pull request that you created in [Challenge 5](https://github.com/scaleracademy/scaler-open-source-september-challenge/blob/main/Challenges/challenge5.md) 6 | 7 | Task 8 | 1. Create a new commit in the branch you created in Challenge 2 in your forked repository 9 | 2. The change that you have to make should be the following: 10 | In the markdown file that was created in Challenge 5, edit the details as follows: 11 | ``` 12 | --- 13 | name: your_name 14 | github_user_name: YOUR-GITHUB-USERNAME 15 | url_of_github_issue: Link_of_the_github_issue_created_in_first_challenge 16 | --- 17 | ``` 18 | Note: The url_of_github_issue should be the link of the github issue that you created in Challenge 1. 19 | 20 | 3. After making this change create a commit with a proper commit message and push the changes to your forked repository 21 | 4. Check if the commit reflects in the Pull request you created in Challenge 5 in the main challenge repository. 22 | 23 | ( If it does not, then sync your forked repository with the main repository and push the changes to your forked repository.) 24 | -------------------------------------------------------------------------------- /Challenges/challenge9.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 9 2 | 3 | This challenge is a two part challenge to cover the concepts of Git Rebase and Git Squash and continuation of the previous challenge which is challenge 8. 4 | 5 | 6 | 7 | Task: 8 | 9 | 1. First, make sure you are on the ``challenge8`` branch as created in the previous challenge. 10 | 11 | 2. Create another commit by making some change in the ``your-github-username-3.md`` file and push the change to your forked repository. 12 | 13 | 3. Now, we will use the concept of Git Rebase to squash the last two commits into one commit. 14 | For this. Review the commits you've made on the challenge8 branch using the git log --oneline command. You should see two commits on the challenge8 branch. Use the interactive rebase command to squash the commits. 15 | 16 | 4. In the interactive rebase editor, change the word pick to squash (or s) for the commits you want to combine. Save and close the editor. Edit the combined commit message when prompted. Force push the changes to your forked repository. 17 | 18 | 5. Take the screenshot of the terminal when you have successfully used the git rebase to squash the commits and post it in the comment created in the first challenge (challenge 1). 19 | 20 | -------------------------------------------------------------------------------- /Challenges/challenge12.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 12 2 | 3 | Welcome to the 12th challenge! 4 | 5 | Today's challenge is based on the concept of signing your commits. Signing the commits is a way of showing that only authentic commits are being made. 6 | 7 | A lot of open source projects have DCO which stands for [Developer Certification of Origin](https://github.com/apps/dco) including this repository itself and it tries to verify that each commit is signed or not. In case your commit is not signed it will reflect in the pull request that it doesn't pass the DCO test. 8 | 9 | You can read more about how to sign commits [here](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) 10 | 11 | Task: 12 | 1. Setup the ability to sign commits locally in your systems 13 | 2. Whenever committing in the future always try to use signed commits 14 | 3. Make a new signed commit to the pull request that you have made in previous challenges by making this change to the ``.md`` file: 15 | ``` 16 | --- 17 | name: your_name 18 | github_user_name: YOUR-GITHUB-USERNAME 19 | url_of_github_issue: Link_of_the_github_issue_created_in_first_challenge 20 | your_favroite_programming_language: Add your favorite programming language here 21 | --- 22 | ``` -------------------------------------------------------------------------------- /.github/workflows/linter.yaml: -------------------------------------------------------------------------------- 1 | name: Lint Code Base 2 | 3 | on: 4 | push: 5 | branches-ignore: [master, main] 6 | # Remove the line above to run when pushing to master 7 | pull_request: 8 | #Run it on details branch only 9 | branches: "*detail*" 10 | 11 | jobs: 12 | build: 13 | # Name the Job 14 | name: Lint Code Base 15 | # Set the agent to run on 16 | runs-on: ubuntu-latest 17 | 18 | ################## 19 | # Load all steps # 20 | ################## 21 | steps: 22 | ########################## 23 | # Checkout the code base # 24 | ########################## 25 | - name: Checkout Code 26 | uses: actions/checkout@v3 27 | with: 28 | # Full git history is needed to get a proper list of changed files within `super-linter` 29 | fetch-depth: 0 30 | 31 | ################################ 32 | # Run Linter against code base # 33 | ################################ 34 | - name: Lint Code Base 35 | uses: github/super-linter@v4 36 | env: 37 | VALIDATE_ALL_CODEBASE: false 38 | DEFAULT_BRANCH: main 39 | # Ignore Challenges/ directory of markdown files 40 | FILTER_REGEX_EXCLUDE: .*Challenges/.* 41 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 42 | -------------------------------------------------------------------------------- /Challenges/challenge24.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 24 2 | 3 | Welcome to the 24th Challenge 4 | 5 | So far all of you have learnt the basics of Git and Github. 6 | Now let's move to the next step and actually start contributing to real open source projects but before we do that it is super important to go through the contributing guidelines for that project. 7 | 8 | Most projects either come with a ``CONTRIBUTING.md`` file or might have details on how to make contributions to a project, whether it is through creation of an issue, or creating a Pull Request. 9 | 10 | A Sample ``CONTRIBUTING.md`` file can be found [here](https://github.com/github/docs/blob/main/CONTRIBUTING.md), 11 | 12 | Here are some resources for good practices for git branch naming conventions, pull request creation and issue triaging: 13 | 1. https://codingsight.com/git-branching-naming-convention-best-practices/ 14 | 2. https://tighten.com/blog/building-a-great-pull-request/ 15 | 3. https://opensource.creativecommons.org/contributing-code/ 16 | 4. https://youtu.be/8wt-8B9vCQg 17 | 18 | 19 | Task: 20 | Today's task is simple but super important, go through all these links, and summarize what you learn about what needs to be done for effective open source contribution, especially with respect to open source issue creation, best practices around branch/pull request creation. 21 | 22 | Add this as a comment in the issue created in prior challenges -------------------------------------------------------------------------------- /Challenges/challenge10.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 10 2 | 3 | Welcome to the 10th challenge! 4 | 5 | Today's let's try to use the concept for Git Rebase you learnt but on a Pull Request. 6 | 7 | 8 | Task: 9 | 1. Checkout to the branch you created in Challenge 3 in your forked repository. 10 | 11 | 2. Create another commit by making some change in the markdown file (`.md`) you created in Challenge 5 and push the change to your forked repository. 12 | 13 | 3. Now, we will use the concept of Git Rebase to squash the last two commits into one commit. 14 | 15 | 4. For this. Review the commits you've made on the branch using the git log --oneline command. You should see a number of commits on the branch. Use the interactive rebase command to squash the commits. 16 | 17 | 5. In the interactive rebase editor, change the word pick to squash (or s) for the commits you want to combine. Save and close the editor. Edit the combined commit message when prompted. Force push the changes to your forked repository. 18 | 19 | 6. Check if the commit reflects in the Pull request you created in Challenge 5 in the main challenge repository. 20 | 21 | ( If it does not, then sync your forked repository with the main repository and push the changes to your forked repository.) 22 | 23 | 7. Take the screenshot of the terminal when you have successfully used the git rebase to squash the commits and post it in the comment created in the first challenge (challenge 1). 24 | 25 | -------------------------------------------------------------------------------- /Challenges/challenge21.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 21 2 | 3 | Welcome to the 21st Challenge 4 | 5 | Today you will learn about project boards on GitHub 6 | 7 | ### What are Github Project Boards? 8 | 9 | GitHub project boards helps you keep track of stuffs you're actively working on within your repository. You can say it's a project managemnet tool, or even a collaboration tool for teams. You create a project board with columns for your TODO or backlogs or even bugs, In progress activies and lastly a column for your finished tasks. You can sort of see it as a SCRUM board. To learn more [about project boards go through this link](https://help.github.com/en/github/managing-your-work-on-github/about-project-boards) 10 | 11 | ## Tasks 12 | 13 | - Create a GitHub repository for any project you can think up 14 | - On a sheet of paper create a TODO list (or backlog) of features you want to have in you app 15 | - Create a project board with a `TODO` column, `In progress`, `Done` 16 | - Create a card for all the items you already wrote on the sheet of paper in the TODO column 17 | - Work on the features synchronously and move the card respectively for each in progress task to the `In progress` column 18 | - When you're done with the `In progress` task move the card to the `Done` column 19 | 20 | ## How to submit your entry 21 | 22 | - Take a screenshot of your project board for when you moved an card from `In progress` to `Done` 23 | - Add you screenshot to the Github issue created in the previous challenges -------------------------------------------------------------------------------- /Challenges/challenge4.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 4 2 | 3 | Welcome to the fourth challenge for the Open Source September Challenge. 4 | Today's challenge is to cover how to Update the Forked Repo From the Original Repo. 5 | 6 | 7 | The main repository has been updated since the last fork that all of you created. The goal is to update the forked repository with the changes made in the original repository. This can be done with the git command of ``git remote add upstream`` 8 | 9 | Resources: 10 | 1. Learn about syncing a fork [here](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/syncing-a-fork) 11 | 12 | 2. Learn about how to configure a remote for a fork [here](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/configuring-a-remote-for-a-fork) 13 | 14 | 15 | Task 16 | 1. Update your forked repository locally with the content of the [original repository](https://github.com/scaleracademy/scaler-open-source-september-challenge) for both the main branch and the branch that you created in Challenge 3 using the ``git remote add upstream`` command 17 | 2. Once the changes in the forked repository and the original repository are synced in the git branch that you created in the 3rd Challenge, Add a new comment to the issue you created in the [first task](https://github.com/scaleracademy/scaler-open-source-september-challenge/blob/main/Challenges/challenge1.md). The comment should have the following: 18 | - Screenshot showing the latest repository contents of your forked clone repository locally -------------------------------------------------------------------------------- /Challenges/challenge16.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 16 2 | 3 | Welcome to the 16th Challenge 4 | 5 | 6 | Before taking part. Fill out the Google Form to officially submit your progress for Checkpoint 2 in the challenge: https://forms.gle/JnzBURSEjRejEgw4A 7 | 8 | 9 | In this 2 part challenge, we will try to emulate and fix merge conflicts via git. 10 | 11 | Today is the first part of this challenge: 12 | 13 | Task: 14 | 1. Sync Your Repository: 15 | 16 | - Update your Forked Repository From the Original [Main Repository](https://github.com/scaleracademy/scaler-open-source-september-challenge) locally. Also ensure that your branch ``your_github_username-details`` is also synced with the latest changes from the original repository. 17 | 18 | 2. In your branch ``your_github_username-details`` open the ``challengers-list.md`` file. 19 | Add your name to the list of challengers, following the format specified in the file. 20 | 21 | 22 | 3. Push your changes to reflect them in the Pull Request created in previous challenges. 23 | Please note that by adding your name to the same file in a collaborative environment, this task may create a merge conflict when multiple participants attempt to push their changes simultaneously. Be prepared to resolve any conflicts that arise. 24 | 25 | 26 | 4. Add a new comment to the issue you created in the first task with the screenshot of the updated ``challengers-list.md`` file in your forked repository. 27 | 28 | 29 | 30 | Note: Next Challenge: Challenge 17 will focus on resolving merge conflicts. 31 | 32 | -------------------------------------------------------------------------------- /Challenges/challenge17.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 17 2 | 3 | Welcome to the 17th Challenge 4 | 5 | 6 | NOTE: 7 | Before taking part. Fill out the 2nd milestone Google Form (if haven't already) to officially submit your progress for Checkpoint 2 in the challenge: https://forms.gle/JnzBURSEjRejEgw4A 8 | 9 | 10 | In this 2 part challenge, we will try to emulate and fix merge conflicts via git. 11 | 12 | Today is the second and final part of this challenge: 13 | 14 | Task: 15 | 1. Navigate to your Pull Request (PR) created in previous challenges.You will notice that your PR has a conflict, indicated with a message similar to the one shown below: image 16 | 17 | 18 | 2. Try to resolve this merge conflict using local git 19 | - Open the conflicted file(s) in your code editor. Git will mark the conflicting sections. 20 | 21 | - Manually edit the file to resolve the conflict by choosing which changes to keep. 22 | 23 | - Save the file. 24 | 25 | - Stage the resolved files by running `git add` after you have edited the files. 26 | 27 | - Commit the changes with a message that indicates you've resolved the conflict. 28 | 29 | - Push the changes to your remote repository. 30 | 31 | 3. Once resolved, share screenshot on the github issue created in the previous challenges 32 | 33 | 34 | Note: for this challenge, you can follow this guide: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line -------------------------------------------------------------------------------- /Challenges/challenge7.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 7 2 | 3 | Welcome to the 7th challenge! Today we will learn about the concept of Git Reset. 4 | 5 | Today's the task focus is to create an additional commit in your branch. And then remove that commit that has been pushed from the pull request created in previous challenges. The main purpose of this is because there can be times when you might push an unncessary or wrong commit and you way want to remove it from your pull request. 6 | 7 | This can be done by using the following command: ``git reset`` 8 | 9 | Here is an article you can refer to for understanding how git reset works: https://www.atlassian.com/git/tutorials/undoing-changes/git-reset#:~:text=a%20shared%20repository.-,Summary,Index%2C%20and%20the%20Working%20Directory. 10 | 11 | So the task is to identity the commit id of the commit you want to remove, use the git reset command, and remove the commit from the pull request by force pushing into it. 12 | 13 | 14 | Task: 15 | 1. Inside the branch you created during the prior challenges in your local forked repository, make a new file by the name of ``your-github-username-2.md`` and add any details you may want to add to this markdown file and push the change to your forked repository. 16 | 17 | 2. Ensure the change appears in the Pull request created in previous challenges 18 | 19 | 3. Identify the commit id for the commit you just made and use the git reset command to remove the commit from your local branch. Note: Use git reset and force push, to remove the commit from your pull request. 20 | 21 | 4. Share a screenshot of this, in the issue you created in previous challenges. 22 | 23 | 5. Update your Discord forum post you created with the Challenge 7. 24 | -------------------------------------------------------------------------------- /Challenges/challenge30.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 30 2 | 3 | 4 | First of all, in order to continue with the entire open source wave, we are organizing an open source hackathon: Scaler OpenQuest hackathon: https://www.scaler.com/event/scaler-openquest-hackathon/, our recommendation is to participate in it. 5 | 6 | You can participate in teams or individually. But we highly recommend participating in teams. Even if you don't know a lot of tech stack, we will still recommend to participate, learn some tech stack and then participate. You will take part in this and build open source projects. 7 | 8 | Contributions to the hackathon can be counted towards Hacktoberfest as well. 9 | 10 | So our recommendation is do take part in the hackathon, build some cool projects based on the problem statements we will provide :) 11 | 12 | For team, you can invite someone you know outside the Discord community as well or look for partners in the server in the #openquest-hackathon forum channel under find your partners. 13 | 14 | We are really focusing on helping all of you in your journey towards Open Source so we would highly appreciate if you participate in the hackathon. 15 | 16 | 17 | ## Task 18 | Welcome to the 30th Challenge! 19 | 20 | Congratulations! You have made it to the final challenge of the Scaler Open Source Challenge! 21 | 22 | You can continue this journey as part of the Scaler OpenQuest hacakthon. 23 | 24 | As the final challenge, we give you the opportunity to complete any challenge you weren't able to before. 25 | 26 | Also fill this form: https://forms.gle/DoNEgJhXQDWyP4RbA to complete your 30th challenge. 27 | 28 | Also do share about your experience in this initiative with others and encourage others to also contribute to open source! 29 | -------------------------------------------------------------------------------- /Challenges/challlenge29.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 29 2 | 3 | Welcome to the 29th Challenge 4 | 5 | 6 | First of all, in order to continue with the entire open source wave, we are organizing an open source hackathon: Scaler OpenQuest hackathon: https://www.scaler.com/event/scaler-openquest-hackathon/, our recommendation is to participate in it. 7 | 8 | You can participate in teams or individually. But we highly recommend participating in teams. Even if you don't know a lot of tech stack, we will still recommend to participate, learn some tech stack and then participate. You will take part in this and build open source projects. 9 | 10 | Contributions to the hackathon can be counted towards Hacktoberfest as well. 11 | 12 | So our recommendation is do take part in the hackathon, build some cool projects based on the problem statements we will provide :) 13 | 14 | For team, you can invite someone you know outside the Discord community as well or look for partners in the server in the #openquest-hackathon forum channel under find your partners. 15 | 16 | We are really focusing on helping all of you in your journey towards Open Source so we would highly appreciate if you participate in the hackathon. 17 | 18 | 19 | ## Task 20 | So today's task is: 21 | 1. We recommend to register for the hackathon on this link , and start to look for team mates and fill the Google form: https://forms.gle/j9CwsfDitUtKahaV7 once you have found your team to register it for the hackathon. 22 | 23 | 2. 24 | Follow this guide: https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme 25 | 26 | 27 | And create your github profile readme. 28 | 29 | 30 | Why github profile readme is important: https://medium.com/@shekhartarare/elevate-your-github-profile-with-a-stunning-readme-3a2d1f95dc7e#:~:text=The%20GitHub%20Profile%20README%20is,or%20contribute%20to%20your%20project. 31 | 32 | 33 | Video on github profile readme: https://www.youtube.com/watch?v=KhGWbt1dAKQ 34 | -------------------------------------------------------------------------------- /Challenges/challenge28.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 28 2 | 3 | Welcome to the 28th Challenge 4 | 5 | 6 | First of all, in order to continue with the entire open source wave, we are organizing an open source hackathon: Scaler OpenQuest hackathon: https://www.scaler.com/event/scaler-openquest-hackathon/, our recommendation is to participate in it. 7 | 8 | You can participate in teams or individually. But we highly recommend participating in teams. Even if you don't know a lot of tech stack, we will still recommend to participate, learn some tech stack and then participate. You will take part in this and build open source projects. 9 | 10 | Contributions to the hackathon can be counted towards Hacktoberfest as well. 11 | 12 | So our recommendation is do take part in the hackathon, build some cool projects based on the problem statements we will provide :) 13 | 14 | For team, you can invite someone you know outside the Discord community as well or look for partners in the server in the #openquest-hackathon forum channel under find your partners. 15 | 16 | We are really focusing on helping all of you in your journey towards Open Source so we would highly appreciate if you participate in the hackathon. 17 | 18 | 19 | ## Task 20 | So today's task is: 21 | 1. We recommend to register for the hackathon on this link , and start to look for team mates and fill the Google form: https://forms.gle/j9CwsfDitUtKahaV7 once you have found your team to register it for the hackathon. 22 | 23 | 2. 24 | This is a continuation of the 25th Challenge: https://github.com/scaleracademy/scaler-open-source-september-challenge/blob/main/Challenges/challenge25.md 25 | 26 | So continue to look out for open source issues, and contribute. 27 | 28 | Task: 29 | If you have already made any contributions do share those with others in the Discord, or even try to create open source projects with collaboration with others. 30 | 31 | 32 | ### Task: 33 | Also registrations for Hacktoberfest start today, so do register for it. 34 | 35 | Task: 36 | Do register today for https://hacktoberfest.com/ 37 | 38 | -------------------------------------------------------------------------------- /Challenges/challenge22.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 22 2 | 3 | Welcome to the 22nd Challenge 4 | 5 | Congratulations on successfully completing the 21st challenge! This marks the completion of the third milestone of the challenge. 6 | 7 | Before you proceed with the 22nd challenge, ensure you are required to have completed the following tasks to successfully mark the completion of the 3rd milestone: 8 | 9 | ## Preqrequisites to mark completion of 3rd Checkpoint (Milestone): 10 | 11 | 1. Use the creative shared for the successful completion of the third milestone: [Third Milestone Creative](https://github-production-user-asset-6210df.s3.amazonaws.com/19529592/269840111-65c535ce-abcb-4246-8e61-c347127eebef.jpg) to share on any social platform: LinkedIn, Twitter, Facebook, Instagram, etc. marking the completion of the second milestone. 12 | 13 | 2. Fill the Google form the following Google form: [Google Form](https://forms.gle/FJNAM11ajPkhXx5N6) to mark the completion of the third milestone. Note: This is a mandatory task to be eligible for the prize at the end of the challenge as it allows us to evaluate the submissions in the challenge so far. 14 | 15 | 16 | Once you have completed the above, you can proceed with the 22nd challenge. 17 | 18 | 19 | ## Task 20 | 21 | Today we will be learning about Git Aliases! :). This is an amazing feature that helps us use less keystroke 22 | 23 | The term alias is synonymous with a shortcut. Alias creation is a common pattern found in other popular utilities like `bash` shell. Aliases are used to create shorter commands that map to longer commands. Aliases enable more efficient workflows by requiring fewer keystrokes to execute a command. To learn more; 24 | 25 | - [Git Alias](https://www.atlassian.com/git/tutorials/git-alias) 26 | 27 | ## Tasks 28 | 29 | - Go through the Git Alias documentation shared here 30 | - Create at least 2 alias for any git commands you feel is too long 31 | - Take a screenshot of the alias you created. hint run `git config --get-regexp alias` 32 | - Take a screenshot of using your alias 33 | - Post these screenshot in the issue created in the prior challenges 34 | 35 | 36 | 37 | 38 | https://github-production-user-asset-6210df.s3.amazonaws.com/19529592/269840111-65c535ce-abcb-4246-8e61-c347127eebef.jpg -------------------------------------------------------------------------------- /Challenges/challenge8.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 8 2 | 3 | Congratulations on successfully completing the 7th challenge! This marks the completion of the first milestone of the challenge. 4 | 5 | Before you proceed with the 8th challenge, ensure you are required to have completed the following tasks to successfully mark the completion of the 1st milestone: 6 | 7 | ## Preqrequisites to mark completion of 1st Checkpoint (Milestone): 8 | 9 | 1. Use the creative shared for the successful completion of the first milestone: [First Milestone Creative](https://github-production-user-asset-6210df.s3.amazonaws.com/19529592/266515279-9696f91e-138d-44b0-b42b-08c5e679f4ac.jpg) to share on any social platform: LinkedIn, Twitter, Facebook, Instagram, etc. marking the completion of the first milestone. 10 | 11 | 2. Fill the Google form the following Google form: [Google Form](https://forms.gle/n6VL2xCSeP6vgtgL6) to mark the completion of the first milestone. Note: This is a mandatory task to be eligible for the prize at the end of the challenge as it allows us to evaluate the submissions in the challenge so far. 12 | 13 | 14 | Once you have completed the above, you can proceed with the 8th challenge. 15 | 16 | 17 | ## Task: 18 | Welcome to the eighth challenge! 19 | 20 | This is a two part challenge to cover the concepts of Git Rebase and Git Squash. 21 | 22 | Resources to refer to: 23 | 1. [Git Rebase](https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase) 24 | 2. [Git Squash](https://www.freecodecamp.org/news/git-squash-explained/) 25 | 3. [Git Merge](https://www.atlassian.com/git/tutorials/using-branches/git-merge) 26 | 27 | Step 1: Ensure you have covered all the previous challenges properly and have completed the tasks in the previous challenges. 28 | 29 | Step 2: Today's goal is to understand the concept of Git Rebase and Git Squash. Go through these resources to understand the concept of Git Rebase and Git Squash as this will be used in the subsequent tasks. 30 | 31 | Step 3: Create a new branch in your forked repository by the name of ``challenge8`` and switch to that branch. 32 | 33 | Step 4: Add a new file by the name of ``your-github-username-3.md`` and add any details you may want to add to this markdown file and push the change to your forked repository. 34 | 35 | That's it for the first part of the challenge. 36 | -------------------------------------------------------------------------------- /Challenges/challenge26.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 26 2 | 3 | Welcome to the 26th Challenge 4 | 5 | 6 | First of all, in order to continue with the entire open source wave, we are organizing an open source hackathon: Scaler OpenQuest hackathon: https://www.scaler.com/event/scaler-openquest-hackathon/, our recommendation is to participate in it. 7 | 8 | You can participate in teams or individually. But we highly recommend participating in teams. Even if you don't know a lot of tech stack, we will still recommend to participate, learn some tech stack and then participate. You will take part in this and build open source projects. 9 | 10 | Contributions to the hackathon can be counted towards Hacktoberfest as well. 11 | 12 | So our recommendation is do take part in the hackathon, build some cool projects based on the problem statements we will provide :) 13 | 14 | For team, you can invite someone you know outside the Discord community as well or look for partners in the server in the #openquest-hackathon forum channel under find your partners. 15 | 16 | We are really focusing on helping all of you in your journey towards Open Source so we would highly appreciate if you participate in the hackathon. 17 | 18 | 19 | ## Task 20 | So today's task is: 21 | 1. We recommend to register for the hackathon on this link , and start to look for team mates and fill the Google form: https://forms.gle/j9CwsfDitUtKahaV7 once you have found your team to register it for the hackathon. 22 | 23 | 2. 24 | This is a continuation of the 25th Challenge: https://github.com/scaleracademy/scaler-open-source-september-challenge/blob/main/Challenges/challenge25.md 25 | 26 | So continue to look out for open source issues, and contribute. 27 | 28 | Task: 29 | At the end of the day, comment on the issue created in previous challenges with the update you have made in today's challenge. Whether you are still looking for issues or you may have found one, requested for yourself to get assigned to it and started working on it. Or you are struggling to understand what to do. Just update on the issue and continue to explore. Open source doesn't come easy. It will take time and you have to be patient. So just update on where you are on your journey of contributing to open source projects! 30 | 31 | If you have already made any contributions do share those with others in the Discord, or even try to create open source projects with collaboration with others. 32 | -------------------------------------------------------------------------------- /Challenges/challenge19.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 19 2 | 3 | Welcome to the 19th Challenge! 4 | 5 | 6 | ### Brief Overview 7 | In this challenge, we will dive into the world of GitHub Codespaces, a powerful tool for development and collaboration. GitHub Codespaces allows you to code and build in an online environment, making it easier to collaborate on projects and work from anywhere. 8 | 9 | ## Task: 10 | 1. Set Up a GitHub Codespace: 11 | 12 | - If you haven't already, create a GitHub repository or use an existing one that you'd like to work on. 13 | 14 | - Navigate to the repository's main page on GitHub. 15 | 16 | 2. Create a Codespace: 17 | 18 | - Click on the "Code" button on the repository's main page. 19 | - Select the option to "Open with Codespaces." 20 | - Select the option to "New codespace." 21 | - Wait for your Codespace to be created. 22 | 23 | 3. Explore the Codespace: 24 | 25 | - Once your Codespace is ready, explore its features and capabilities. 26 | - Familiarize yourself with the development environment, including code editing, terminal access, and integrated tools. 27 | - If you're new to Codespaces, check out the [documentation](https://docs.github.com/en/github/developing-online-with-codespaces/creating-a-codespace) for more information. 28 | - If you're already familiar with Codespaces, try out some of the features you haven't used before. 29 | 30 | 4. Make a Change: 31 | 32 | - In your Codespace, make a simple code change to a file in your repository. 33 | - Create a new branch, make a code edit, and commit the change. 34 | 35 | 5. Push Your Changes: 36 | 37 | - Push the changes back to your GitHub repository from within your Codespace. 38 | - Confirm that the changes are reflected in your GitHub repository. 39 | 40 | 6. Share Your Experience: 41 | 42 | - In the GitHub issue created in Challenge 1, share your experience with GitHub Codespaces. Mention any features you found useful, challenges you encountered, and how you envision using Codespaces in your development workflow. 43 | 44 | 45 | By completing this challenge, you'll gain hands-on experience with GitHub Codespaces and discover its potential for enhancing your development workflow and collaboration with others. In fact a lot of you are also facing issues with your local Git, try solving the Open Source September Challenge with Codespaces. That is, try to create a Codespace for your forked repository and explore if that helps with any of the challenges where you are stuck. 46 | 47 | -------------------------------------------------------------------------------- /Challenges/challenge27.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 27 2 | 3 | Welcome to the 27th Challenge 4 | 5 | 6 | Reminder: 7 | First of all, in order to continue with the entire open source wave, we are organizing an open source hackathon: Scaler OpenQuest hackathon: https://www.scaler.com/event/scaler-openquest-hackathon/, our recommendation is to participate in it. 8 | 9 | You can participate in teams or individually. But we highly recommend participating in teams. Even if you don't know a lot of tech stack, we will still recommend to participate, learn some tech stack and then participate. You will take part in this and build open source projects. 10 | 11 | Contributions to the hackathon can be counted towards Hacktoberfest as well. 12 | 13 | So our recommendation is do take part in the hackathon, build some cool projects based on the problem statements we will provide :) 14 | 15 | For team, you can invite someone you know outside the Discord community as well or look for partners in the server in the #openquest-hackathon forum channel under find your partners. 16 | 17 | We are really focusing on helping all of you in your journey towards Open Source so we would highly appreciate if you participate in the hackathon. 18 | 19 | 20 | ## Task 21 | So today's task is: 22 | 1. If you haven't already, We recommend to register for the hackathon on this link , and start to look for team mates and fill the Google form: https://forms.gle/j9CwsfDitUtKahaV7 once you have found your team to register it for the hackathon. 23 | 24 | 2. 25 | Today's challenge focuses on practicing the git cherry-pick command. Cherry-picking allows you to select specific commits from one branch and apply them to another branch. 26 | 27 | Task: 28 | 29 | Pre-requisite: 30 | Create a new Github Repository (it can be named anything you like) 31 | Clone the Repository locally: 32 | 33 | Clone this repository repository to your local development environment using git clone. 34 | 35 | 36 | Steps: 37 | 1. In this local cloned repository 38 | 2. Create two branches: branchA and branchB. 39 | 3. Make several commits on branchA with different changes. 40 | 4. Select specific commits from branchA and apply them to branchB using the git cherry-pick command. 41 | 5. Resolve any conflicts that may arise during the cherry-picking process. 42 | 6. Once you have successfully cherry-picked the desired commits, push the changes to the remote repository. 43 | 7. Share screenshot of the cherry-picked commits in the issue created in previous challenges. 44 | 45 | 46 | Refer to this resource: https://www.scaler.com/topics/git/git-cherry-pick/ for cherry picking 47 | -------------------------------------------------------------------------------- /Challenges/challenge23.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 23 2 | 3 | Welcome to the 23rd Challenge 4 | 5 | Today we will learn how to work with GitHub pages! 6 | 7 | 8 | **Before you proceed with the 23rd challenge, please ensure you have completed the following tasks to successfully mark the completion of the 3rd milestone:** 9 | 10 | ## Preqrequisites to mark completion of 3rd Checkpoint (Milestone): 11 | 12 | 1. Use the creative shared for the successful completion of the third milestone: [Third Milestone Creative](https://github-production-user-asset-6210df.s3.amazonaws.com/19529592/269840111-65c535ce-abcb-4246-8e61-c347127eebef.jpg) to share on any social platform: LinkedIn, Twitter, Facebook, Instagram, etc. marking the completion of the third milestone. 13 | 14 | 2. Fill the Google form the following Google form: [Google Form](https://forms.gle/FJNAM11ajPkhXx5N6) to mark the completion of the third milestone. Note: This is a mandatory task to be eligible for the prize at the end of the challenge as it allows us to evaluate the submissions in the challenge so far. 15 | 16 | 17 | Once you have completed the above, you can proceed with the 23rd challenge. 18 | 19 | #### Brief Overview 20 | 21 | GitHub pages allows GitHub users to host static websites on GitHub's server for free. To learn more visit the official [GitHub Pages site](https://pages.github.com/) 22 | 23 | You can refer to this article: https://towardsdatascience.com/how-to-create-a-compelling-github-portfolio-a229e7472a92 to learn how to create a GitHub portfolio page. 24 | 25 | ## Tasks 26 | 27 | - Create a new repository on GitHub 28 | - Create a basic static website about yourself 29 | - Add your html site to your respository. 30 | - Host your site on GitHub pages 31 | 32 | ## How to Submit 33 | 34 | 35 | - Make a new commit to the pull request that you have made in previous challenges by making this change to the ``.md`` file that exists inside the ``contributors\/`` directory in the following format: 36 | ``` 37 | --- 38 | name: your_name 39 | github_user_name: YOUR-GITHUB-USERNAME 40 | url_of_github_issue: Link_of_the_github_issue_created_in_first_challenge 41 | your_favroite_programming_language: Add your favorite programming language here 42 | your_hosted_github_pages_link: Add your hosted github page link here 43 | your_hosted_github_pages_repository_link: Add your repository link here 44 | --- 45 | ``` 46 | 47 | 48 | ## Resources 49 | 1. [GitHub Pages](https://pages.github.com/) 50 | 2. [How to create a compelling GitHub portfolio](https://towardsdatascience.com/how-to-create-a-compelling-github-portfolio-a229e7472a92) 51 | 3. [How to create a GitHub Pages site](https://help.github.com/en/github/working-with-github-pages/creating-a-github-pages-site) 52 | 4. [How to create a GitHub Pages site from a repository](https://help.github.com/en/github/working-with-github-pages/creating-a-github-pages-site#creating-your-site) 53 | -------------------------------------------------------------------------------- /Challenges/challenge20.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 20 2 | 3 | 4 | Welcome to the 20th Challenge! 5 | 6 | Today's challenge is all about getting familiar with GitHub Actions and setting up a code linter workflow in your own repository. GitHub Actions allows you to automate various tasks, and one common use case is running code linting checks on your codebase. 7 | 8 | ### Brief Overview 9 | In this challenge, you'll set up a GitHub Actions workflow to run code linting checks on your codebase. You'll learn how to configure GitHub Actions to run whenever there are changes pushed to your repository. You'll also learn how to use a code linter to check your code for errors and ensure it adheres to the linting rules. 10 | 11 | Learn about GitHub Actions and code linting in the following resources: 12 | 1. [GitHub Actions](https://docs.github.com/en/actions) 13 | 2. [Code Linting](https://www.perforce.com/blog/qac/what-lint-code-and-what-linting-and-why-linting-important) 14 | 3. [Github Action Video on Code With Scaler Channel](https://www.youtube.com/watch?v=b_VypAwsvZI&ab_channel=CodewithScaler) 15 | 4. [How to setup Linter Github Actions for your repository](https://www.freecodecamp.org/news/github-super-linter/) 16 | 17 | 18 | ## Task: Set Up a GitHub Action for Code Linting 19 | 1. Create a New Repository on Github. 20 | 21 | 2. Set Up a GitHub Action for Code Linting: 22 | 23 | - In your repository, navigate to the "Actions" tab. 24 | - Select the option to "Set up a workflow yourself." 25 | - Create a new GitHub Action workflow file. You can name it lint.yml instead of main.yml. 26 | - Add the following code to the workflow file: 27 | ``` 28 | name: Lint Code Base 29 | 30 | on: [push, pull_request] 31 | 32 | jobs: 33 | build: 34 | name: Lint Code Base 35 | runs-on: ubuntu-latest 36 | 37 | steps: 38 | 39 | - name: Checkout Code 40 | uses: actions/checkout@v3 41 | with: 42 | fetch-depth: 0 43 | 44 | - name: Lint Code Base 45 | uses: github/super-linter@v4 46 | ``` 47 | - Commit the lint.yml workflow file to your repository and push the changes. 48 | 49 | 50 | 3. Add a Sample Code File: 51 | 52 | - Inside your repository, create a new file (e.g., hello.py for Python or hello.js for JavaScript). 53 | Write a simple code snippet in your preferred programming language. It could be a "Hello, World!" program or any code you like. 54 | 55 | 4. Check the GitHub Actions Workflow: 56 | 57 | - Visit the "Actions" tab in your repository to see your newly created workflow in action. 58 | - Observe how GitHub Actions automatically runs the code linting checks whenever there are new commits or pull requests. 59 | 60 | 5. Ensure the Workflow Passes: 61 | 62 | - Make sure your code file adheres to the linting rules. If there are linting errors, fix them in your code file. 63 | 64 | 6. Share Your Experience: 65 | 66 | - In the GitHub issue created in Challenge 1, share your experience with setting up GitHub Actions for code linting by sharing a screenshot of your repoistory and the workflow running. 67 | 68 | 69 | By completing this challenge, you'll have hands-on experience setting up GitHub Actions for code linting, which can significantly improve your code quality and streamline your development process. -------------------------------------------------------------------------------- /Challenges/challenge25.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 25 2 | 3 | Welcome to the 25th Challenge 4 | 5 | We hope all of you learnt about some good practices when it comes to contributing to open source projects. 6 | 7 | Now the time has come for all of you to start contributing to real open source projects. One of the best ways to contribute to open source projects is starting with good first issues. You can find these type of issues by going to the issues tab of the Github repositories of open source projects and looking for the good first issue or other similarly named labels 8 | (repositoryname/labels). 9 | 10 | image 11 | 12 | We are making it easier to find good first issues. 13 | 14 | Take a look at this website: https://goodfirstissue.dev/ 15 | 16 | This website has a number of different projects with good first issues, and you can also search specifically based on different languages. So try to find a project you like and feel comfortable contributing to. If you don't find any specific project, then explore Github and search for any open source projects you may want to contribute to and look for good first issues. 17 | 18 | Note: Whether you are a new contributor or a regular open source contributor, you are not limited to just good first issues. If you feel comfortable taking up other open source issues, then feel free to do so. Good first issues are recommended for beginners, so that they don't get overwhelmed. 19 | 20 | Remember that whenever contributing to open source, be polite. 21 | 22 | Also check whenever you wish to contribute to a project/issue sometimes that issue might already been actively worked on and might be assigned to someone. So look carefully and only then respond to an open issue. 23 | 24 | Most projects either come with a ``CONTRIBUTING.md`` file or might have details on how to make contributions to a project, whether it is through creation of an issue, or creating a Pull Request. So remember to go through those details for the specific project you wish to contribute to. For more resources take a look at: https://github.com/scaleracademy/scaler-september-open-source-challenge/blob/main/Challenges/challenge_23.md 25 | 26 | 27 | Task: 28 | Today's task is not just 1 day task, this task could take you more than 1 day/week or month, but that is fine. 29 | 30 | What we want all of you to do is, start exploring for open source projects and projects where you would like to contribute, and just tell us your progress that you made. 31 | 32 | At the end of the day, comment on the issue created in previous challenges with the update you have made in today's challenge. Whether you are still looking for issues or you may have found one, requested for yourself to get assigned to it and started working on it. Or you are struggling to understand what to do. Just update on the issue and continue to explore. Open source doesn't come easy. It will take time and you have to be patient. So just update on where you are on your journey of contributing to open source projects! 33 | 34 | ## Resources 35 | 1. https://youtu.be/CKEPyEEqy-4?si=kuxu8a81-5eTAmc4 36 | 37 | 2. https://www.youtube.com/watch?v=ZIkkPzTuOXw 38 | 39 | -------------------------------------------------------------------------------- /Challenges/challenge5.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 5 2 | 3 | Welcome to the fifth challenge! 4 | Today's goal is to update your forked repository and then create a Pull Request 5 | 6 | 7 | ### Pre-requisite: 8 | 1. You should have completed [Challenge 4](https://github.com/scaleracademy/scaler-open-source-september-challenge) before starting this challenge. That means ensure your forked repository is in sync with the latest changes in the main challenge repository. Also, ensure that the new branch that you created in [Challenge 3](https://github.com/scaleracademy/scaler-open-source-september-challenge/blob/main/Challenges/challenge3.md) is also in sync with the latest changes in main challenge repository. 9 | 10 | ### Resources: 11 | 1. Learn about creating a Pull Request [here](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) 12 | 2. Learn about creating a Pull Request from a forked repository [here](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) 13 | 3. Learn about creating a Pull Request from a branch [here](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request#creating-the-pull-request) 14 | 4. Learn about creating a Pull Request from a forked repository and branch [here](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork#creating-the-pull-request) 15 | 16 | 17 | 18 | ### Task 19 | 20 | 1. Sync your local forked repo - both the main branch and the branch you created with the latest changes from the remote main repository (https://github.com/scaleracademy/scaler-open-source-september-challenge) since the main repository has been updated since challenge 4. 21 | 22 | 2. In your local forked repository, ensure you are currently in the branch that you created in [Challenge 2](https://github.com/scaleracademy/scaler-open-source-september-challenge/blob/main/Challenges/challenge2.md). If not, switch to that branch. 23 | 24 | 3. Create a new directory inside the `contributors` folder (this should appear if you have correctly synced with the main repository), and give it the name of your github username. It should look something like this `contributors//`. Ex. 25 | 26 | ``` 27 | contributors/shivaylamba/ 28 | ``` 29 | 30 | 4. Create a markdown file in the directory you created following the naming convention for the file: `.md`. Ex. 31 | 32 | ``` 33 | contributors/shivaylamba/shivaylamba.md 34 | ``` 35 | 36 | 5. Copy the following template into your file, delete the placeholder text and fill the information with yours. 37 | 38 | ``` 39 | --- 40 | name: your_name 41 | github_user_name: YOUR-GITHUB-USERNAME 42 | --- 43 | ``` 44 | 6. Submit your Pull Request on the main challenge repository: i.e. https://github.com/scaleracademy/scaler-open-source-september-challenge . 45 | 46 | 47 | 48 | ### Note 49 | You should also sync your fork on GitHub. After you have synced your local forked repository with the latest changes from the remote main repository, you should push these changes to your fork on GitHub to ensure that your online fork is also up to date. This step is important to make sure your online repository reflects the changes from the main repository before you create a Pull Request in the current challenge. So, both your local and online forks should be in sync with the main repository. 50 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Scaler Open Source September Challenge Year 2023 2 | 3 | 4 |

5 | 6 |

7 |
8 | 9 | ## What is the Scaler Open Source September Challenge? 10 | 11 | Every day throughout September, for those who have enrolled, we will share one task.  12 | Participants will need to use their knowledge of Git and Github for each task, and the difficulty level of the tasks will rise daily. 13 | 14 | The primary objective? To help the community become better at contributing to open source and building projects. 15 | 16 | ## Learning Outcomes 17 | 1. Learn how to contribute to open source projects. Learn the basics of creating issues, pull requests, Git and Github 18 | 2. Celebrate with new rewards every time you reach a milestone! 19 | 20 | ## How to participate? 21 | 22 | ## Prequisite Steps: 23 | 24 | ### Step 1 25 | 26 | Join the Scaler Discord Server. 27 | 28 | We have a dedicated forum channel for the Open Source September Challenge called `#open-source-sep`. 29 | 30 | We have a dedicated post that is pinned to the top of the channel called Open Source September Challenge - Announcements and Help Desk. This channel will serve as the primary source of information for the challenge - all announcements will be posted here. 31 | 32 | You can join our Discord and the forum channel using this link: [https://bit.ly/OpenSourceSep_](https://bit.ly/OpenSourceSep_). 33 | 34 | Accept the challenge by filling out this form if you haven't already: [https://forms.gle/XHitNoHqiGhxeW7WA 35 | ](https://forms.gle/XHitNoHqiGhxeW7WA) 36 | 37 | ### Step 2 38 | 39 | If you haven't already, create an account on Github, and brush up on your skills in Git and Github. 40 | 41 | ### Step 3 42 | 43 | 44 | 45 |

46 | 47 |

48 | 49 | 50 | Create a new forum post in the forum channel ##open-source-sep with the title as - `challenger--` 51 | 52 | 53 | 54 |

55 | 56 |

57 | 58 | 59 | For example, if your name is John Doe and your Discord Username is `john#1234`, your post title should be `challenger-john-doe-john#1234` 60 | 61 | You can drop a message like `I accept the challenge`. 62 | 63 | 64 | ## How to compete in the challenge? 65 | 66 | ### Step 1 67 | 68 | Head to the official [Scaler Open Source September Challenge repository](https://github.com/scaleracademy/scaler-open-source-september-challenge). Star it. 69 | 70 | Keep track of the repository, as a new task will be added every day. 71 | 72 | Please go through the task for that day and solve it. 73 | 74 | The task will be shared at 11 AM IST every day. You will have 24 hours to solve the task for that day. 75 | 76 | 77 | ### Step 2 78 | 79 | Once you have solved the task, post a screenshot/link of the completion on your individual forum post created in the pre-requisites section with a text stating: `I have completed the task for #`. 80 | 81 | We recommend that you celebrate your successful completition of the task by sharing it with the community. 82 | 83 | Here's a sample post: 84 | 85 | ``` 86 | Hello All, I have completed #task N of #OpenSourceSep Challenge with 87 | @Scaler_Official Discord Community. 88 | 89 | 90 | This helps me stay consistent with coding. 91 | You can join the community HERE - https://bit.ly/discord-l 92 | 93 | #Opensourcesep #ScalerDiscord 94 | ``` 95 | And then share your social media post on the individual forum post. 96 | 97 | ## What will you gain? 98 | 99 | - Contribute to open-source projects 100 | - Basics of Git & Github like push & pull requests 101 | - You earn 2000 Scaler Tokens on a 100% participation rate, so don’t lose the streak! 102 | 103 | ## Contact Us 104 | 105 | We have a dedicated channel #help-desk-open-source-september-challenge (https://discord.com/channels/780066247601291285/787377926722945035). Participants can ask questions here. 106 | 107 | You can join our Discord and the forum channel using this link: [https://bit.ly/OpenSourceSep_](https://bit.ly/OpenSourceSep_). 108 | 109 | 110 | ## Resources 111 | 112 | 1. Git Tutorial: [Full Git Tutorial](https://www.youtube.com/watch?v=ZtfZGVQWjew) 113 | 2. Find good first issues to contribute to: [Good First issues](https://goodfirstissue.dev/) 114 | 3. Getting started with Github: [All you need to know about Github](https://www.youtube.com/watch?v=8WYXWs96xxc) 115 | 4. How to contribute to Open Source: [Open Source contribution guide](https://www.youtube.com/watch?v=ABty2r3nDyU) 116 | -------------------------------------------------------------------------------- /Challenges/challenge15.md: -------------------------------------------------------------------------------- 1 | ## Welcome to Challenge 15 2 | 3 | Congratulations on successfully completing the 14th challenge! This marks the completion of the second milestone of the challenge. 4 | 5 | Before you proceed with the 15th challenge, ensure you are required to have completed the following tasks to successfully mark the completion of the 2nd milestone: 6 | 7 | ## Preqrequisites to mark completion of 2nd Checkpoint (Milestone): 8 | 9 | 1. Use the creative shared for the successful completion of the second milestone: [Second Milestone Creative](https://github-production-user-asset-6210df.s3.amazonaws.com/129844674/268165917-34df9c63-be61-4ffc-af43-264703f89f0a.jpg) to share on any social platform: LinkedIn, Twitter, Facebook, Instagram, etc. marking the completion of the second milestone. 10 | 11 | 2. Fill the Google form the following Google form: [Google Form](https://forms.gle/JnzBURSEjRejEgw4A) to mark the completion of the second milestone. Note: This is a mandatory task to be eligible for the prize at the end of the challenge as it allows us to evaluate the submissions in the challenge so far. 12 | 13 | 14 | Once you have completed the above, you can proceed with the 15th challenge. 15 | 16 | 17 | ## Task: 18 | Welcome to the 15th challenge! 19 | 20 | Read this [article on merge conflicts](https://www.atlassian.com/git/tutorials/using-branches/merge-conflicts) as it is very important. 21 | 22 | Today is the first part of a two-part challenge related to resolving merge conflicts. To get started, follow these steps: 23 | 24 | Task: 25 | Create a Scenario for Merge Conflict: 26 | 27 | - Create a new project on your local system (e.g., a code project or a text file). 28 | 29 | - Intentionally make changes to the same lines of code or content in different branches of your project to create a scenario where a merge conflict would occur during a merge or pull request. 30 | Resolve the Merge Conflict: 31 | 32 | - Follow the steps outlined in this [article](https://www.atlassian.com/git/tutorials/using-branches/merge-conflicts) to understand how to resolve merge conflicts. 33 | 34 | - Use the techniques mentioned in the article to resolve the conflict you intentionally created in your project. 35 | 36 | - Share Screenshot: Take a screenshot of your terminal or Git client when you are resolving the merge conflict. 37 | 38 | - Share this screenshot in the issue you created during the first challenge (Challenge 1) to demonstrate that you have successfully resolved a merge conflict. 39 | 40 | 41 | 42 | 43 | ### Sample Example for merge conflict 44 | Here is an example of a merge conflict: 45 | 46 | 47 | Step 1: Set Up Your Repository 48 | a. Create a new directory on your computer for your Git project: 49 | 50 | ``` 51 | mkdir merge-conflict-example 52 | cd merge-conflict-example 53 | ``` 54 | 55 | b. Initialize the directory as a Git repository: 56 | 57 | ``` 58 | git init 59 | ``` 60 | 61 | Step 2: Create Two Branches 62 | a. Create a new branch called feature-branch: 63 | 64 | ``` 65 | git checkout -b feature-branch 66 | 67 | ``` 68 | b. Create a file and make some changes in it. For example, create a file named example.txt and add the following content: 69 | 70 | ``` 71 | This is some content on the feature branch. 72 | ``` 73 | 74 | c. Stage and commit your changes: 75 | 76 | ``` 77 | git add example.txt 78 | git commit -m "Add feature branch content" 79 | 80 | ``` 81 | d. Switch back to the main (or master) branch: 82 | 83 | ``` 84 | git checkout main 85 | ``` 86 | e. Make changes to the same file, example.txt, in the main branch. For example: 87 | 88 | ``` 89 | This is some content on the main branch. 90 | ``` 91 | 92 | f. Stage and commit your changes on the main branch: 93 | ``` 94 | git add example.txt 95 | git commit -m "Add main branch content" 96 | ``` 97 | 98 | Step 3: Create a Merge Conflict 99 | a. Attempt to merge the feature-branch into main: 100 | 101 | ``` 102 | git merge feature-branch 103 | ``` 104 | 105 | At this point, you'll encounter a merge conflict because both branches have made changes to the same part of the example.txt file. 106 | 107 | 108 | Step 4: Resolve the Merge Conflict 109 | a. Open the example.txt file in your code editor. 110 | 111 | b. You'll see Git's conflict markers, which look like this: 112 | 113 | ``` 114 | <<<<<<< HEAD 115 | This is some content on the main branch. 116 | ======= 117 | This is some content on the feature branch. 118 | >>>>>>> feature-branch 119 | ``` 120 | 121 | c. Manually edit the file to decide which changes to keep. Remove the conflict markers and choose the content you want to keep. For example: 122 | 123 | ``` 124 | This is some content on the main branch. 125 | 126 | This is some additional content on the feature branch. 127 | ``` 128 | 129 | d. Save the file. 130 | 131 | 132 | Step 5: Commit the Resolved Merge Conflict 133 | a. Stage the resolved file: 134 | 135 | ``` 136 | git add example.txt 137 | ``` 138 | 139 | b. Commit the changes: 140 | 141 | ``` 142 | git commit -m "Resolve merge conflict" 143 | ``` 144 | 145 | Now, you've successfully created a scenario for a merge conflict, resolved it, and committed the changes. You can use these steps as a practical exercise to understand how merge conflicts work in Git. 146 | 147 | 148 | 149 | 150 | 151 | 152 | --------------------------------------------------------------------------------