class: center, middle # Onboarding A guide on how to contribute effectively --- # Scope 1. Project Management - Github as a PM Tool - Creating and Managing Issues 2. Version Management - How to Use Git - Trunk-based Development - Merge Requests and Conflicts --- # Project Management ## What is project management? A way to plan, manage and complete our project (and get an A). ## How to do project management? For our use case, we will be mainly using: - Github as a [single source of truth](https://en.wikipedia.org/wiki/Single_source_of_truth) - Discord for communications and meetings --- # Github as a PM Tool [Github Project](https://github.com/features/issues) offers a [Kanban board](https://www.atlassian.com/agile/kanban/boards) to track tasks. We can see: - What tasks there are - Who's handling each task (and also assign people) - What's the state of each task ## Github Issues - Issues are a way to manage task items - They can be linked to code and commits, which we will get into later - You should **ALWAYS** create tasks via issues --- layout: true # Issue Demo --- - Go to the project repository's issue page and create a new issue  - Name the issue appropriately - Add a description if the task requires deeper explanation  --- - On the right sidebar, set the: - Assignee(s) - Person working on this issue - Type - Type of issue (feature, bug, RND, etc.) - Project - The project this issue falls under - You can ignore the other attributes for now .center[] --- - You can now create the issue!  - When doing the task, ensure that the status of it stays updated .center[] --- - Provide updates when you have done/found something .center[] - When the task is completed, you may reply with the result and close the issue to mark it as completed  --- Here's how the issue looks like in the project view:  --- layout: false # It's your turn! - Go to the [onboarding repository](https://github.com/10x-Slackers/onboarding) and create a new issue - Title: [Name]'s onboarding - Remember to set assignee, type (RND), and project accordingly - Once the issue has been created, set the status to "In progress"