Skip to content

kchan7230/osd-onboarding-v2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Source Development Onboarding Project

Welcome to the Open Source Development team! This is our onboarding project, which is designed to demonstrate how you can learn more about and contribute to a typical open source project.

F in chat for the old onboarding project

This Project is an advanced mathematical calculator that performs a thorough analysis of a select number n. From determining evenness to finding the nth taxicab number, this program will uncover all you ever wanted to know and more.

Table of contents

Getting started

Install Git

You need to have Git installed and set up on your computer.

Windows

You can either install Git for Windows, or set up and use Git in WSL.

It's very likely that you'll need a Linux environment at some point, so we recommend setting up WSL now.

macOS

The "Xcode Command Line Tools" comes with Git. To install it:

  • Open Terminal
  • Type in git version
  • If you see something like this, you're good to go:
    $ git version
    git version 2.32.1 (Apple Git-133)
  • If not, you should be prompted to install the "Xcode Command Line Tools"
  • After the install finishes, run git version again.

Linux

Use your system's package manager (apt, dnf, pacman, etc) to install Git. The package is usually named git.

Add SSH key to GitHub

If you already have an SSH key set up, skip this section.

You should interact with GitHub using SSH. This will avoid many issues down the line.

First, you need to generate an SSH key. If you already have one, you can reuse it. To generate a new key, run:

# You should have a passphrase for the SSH key. A passphrase helps prevent unauthorized use of your key.
# You may leave everything as default.
ssh-keygen -t ed25519

Then, get the content of your public key:

# `cat` prints the content of a file
# `~` refers to your home directory
cat ~/.ssh/id_ed25519.pub

Your public key should look like this:

ssh-ed25519 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA someone@computer

Now copy your public key content, and add it to your GitHub account:

Working on the onboarding project

There are many things you can do with the onboarding project. At minimum, you should:

  • Take a look at existing Issues and Pull Requests (PR).
  • Look at the source code, compile, and run it. Use the provided Makefile.
  • Fork the repo, and clone your fork to your computer.
  • Make a minor change to welcome.cpp or README.md, then commit and push your changes using the git command line.
    • Do not edit any file with the GitHub web interface!
  • Submit a PR with your changes.
    • Provide a descriptive title and description.
    • A good title/descrition should clearly state what you changed.

You may also:

  • Fix an existing issue, improve existing code, or add a new feature. Then, submit a PR with your changes.
  • Find an issue in the existing codebase, and report it by creating a new Issue.
  • Take a look at other people's PRs, and review their code.
    • If you'd like to do this, ask a lead to add you as a reviewer to a PR.
    • You can approve, request changes, or add comments to the PR.
    • You may also provide specific feedback for specific line(s). To do this, drag and select the line number(s).
  • Rebase existing PRs against the main branch, and resolve any merge conflicts.
    • Try to do this with the git command line. Do not use the GitHub web interface.

Tips

Makefile

The provided Makefile specifies these commands:

  • make or make release: compile ./welcome, with -O2 and no debug symbols.
  • make debug: compile ./welcome_debug, with debug symbols.
  • make clean: clean up all compiled binaries.

Some useful Git commands

The following Git commands may be useful:

  • git clone
  • git commit
  • git pull
  • git push
  • git fetch
  • git rebase

If you'd like to learn more about them, consider these resources:

Recommended reading (Optional)

License

MIT License

About

Open Source Development Onboarding Project (v2)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 94.4%
  • Makefile 5.6%