Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create new onboarding documentation #504

Merged
merged 1 commit into from
Aug 10, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions GETTING-STARTED.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
## Getting started

1. Install [Node 16 LTS](https://nodejs.org/en/)
2. Install and get familiar with [Git](https://docs.github.com/en/get-started/quickstart/hello-world)
3. Create a fork of [acmcsuf.com](https://github.com/EthanThatOneKid/acmcsuf.com), similar to [this](https://github.com/jaasonw/acmcsuf.com)
4. Create an account on [Vercel](https://vercel.com/) and create a new project linked to the fork you just created, similar to [this](https://acmcsuf-wayson.vercel.app/)
5. Create an [access token](https://scribehow.com/shared/Generating_a_personal_access_token__eMf0UJYaS5OcGrO_lJTpGg)
6. Follow [these instructions](https://github.com/EthanThatOneKid/acmcsuf.com/blob/main/CONTRIBUTING.md#setting-up-your-env-file) to add it to your dev environment

## Local development setup

1. Create a local clone of your **FORKED** repository
2. Open a terminal inside your local clone and run `npm install` to install the required dependencies (We use svelte for much of the codebase along with Typescript and some utility libraries)
3. Run `npm run dev` to boot up the local development server and navigate to `localhost:3000` in your web browser and you should have a local copy of the website

## Pushing a code change

1. Create a new branch, **DO NOT** work directly off the main branch
2. Open `src/routes/index.svelte`, this is the root of the website, in other words, the front page when you visit the website
3. Go ahead and change the title of the website to anything you want and head over to `src/lib/components/index/hero.svelte` and change the text of the header
4. Whenever applicable (it’s not in this case), write unit tests for any new functions or components you create
5. Once you’re satisfied your changes, you **MUST** use `npm run all` to run all tests, lints, and formatting necessary for a release build, otherwise the automated build test will fail
6. Commit and push your changes
7. Go to your Vercel dashboard and verify that a preview deployment was pushed, similar to [this](https://acmcsuf-wayson-rbe1c3cul-jaasonw.vercel.app/)

## Submitting a pull request for review

1. Once you’re ready to submit your changes for review, head back over to the [main repository](https://github.com/EthanThatOneKid/acmcsuf.com) and click on Pull Requests → New pull request
2. Your pull request should contain
1. A clear and descriptive title (Please do not use “Fixed #123”)
2. A clear description that describes, in detail, what you changed and how
3. A link to the issue that you resolved (if applicable)
4. Any screenshots if your change affects something visible on the website or that you believe would help the reviewer understand your changes
5. Examples of good PRs
1. [https://github.com/EthanThatOneKid/acmcsuf.com/pull/477](https://github.com/EthanThatOneKid/acmcsuf.com/pull/477)
2. [https://github.com/EthanThatOneKid/acmcsuf.com/pull/469](https://github.com/EthanThatOneKid/acmcsuf.com/pull/469)
3. [https://github.com/EthanThatOneKid/acmcsuf.com/pull/401](https://github.com/EthanThatOneKid/acmcsuf.com/pull/401)
6. Examples of bad PRs
1. [https://github.com/EthanThatOneKid/acmcsuf.com/pull/359](https://github.com/EthanThatOneKid/acmcsuf.com/pull/359)
2. [https://github.com/EthanThatOneKid/acmcsuf.com/pull/357](https://github.com/EthanThatOneKid/acmcsuf.com/pull/357)
3. Request a code review from someone by first contacting them and then assigning them to your PR using the “Reviewers” panel
4. Address any feedback from your reviewers if applicable
5. Once your changes have been approved, you have permission to merge your changes, and your changes should be merged with a **SQUASH** and **NOT** a merge commit

## Further reading

If you aren’t already familiar with Svelte, you should go through the official [Svelte tutorial](https://svelte.dev/tutorial/basics) as much of the codebase uses it

Once you’re ready to start, you may either assign yourself to an issue or ask for an issue to be assigned to you. I’d recommend starting with issues tagged [“Good First Issue”](https://github.com/EthanThatOneKid/acmcsuf.com/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)

For a more in depth overview of the codebase, check out [CONTRIBUTING.md](https://github.com/EthanThatOneKid/acmcsuf.com/blob/main/CONTRIBUTING.md) and [ARCHITECTURE.md](https://github.com/EthanThatOneKid/acmcsuf.com/blob/main/ARCHITECTURE.md)