├── Glossary.md
├── README.md
├── ada-guide.md
├── assets-for-project-wikis
├── README.md
└── shared-housing
│ ├── Quick-Facts-LA-Homelessness.PNG
│ ├── README.md
│ └── photo-seeking-human-kindness-matt-collamer.jpeg
├── developer-or-datascientist.md
├── non-coder.md
├── resources.md
├── still-interested.md
├── using-docker.md
└── using-git.md
/Glossary.md:
--------------------------------------------------------------------------------
1 | _Project management_
2 |
3 | The practice of initiating, planning, executing, controlling, and closing the work of a team to achieve specific goals and meet specific success criteria at the specified time. [3]
4 |
5 |
6 | - agile
7 | - An iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches. Instead of betting everything on a "big bang" launch, an agile team delivers work in small, but consumable, increments. [1][2]
8 |
9 |
10 |
11 | - kanban
12 | - A popular framework used to implement agile software development. Work items are represented visually on a kanban board, allowing team members to see the state of every piece of work at any time. [2]
13 |
14 |
15 |
16 | - scrum
17 | - A software development framework that describes a set of meetings, tools, and roles that work in concert to help teams structure and manage their work. Scrum encourages teams to learn through experiences, self-organize while working on a problem, and reflect on their wins and losses to continuously improve. [2]
18 |
19 |
20 |
21 | _Scrum methodology_
22 |
23 |
24 | - acceptance criteria
25 | - Predefined conditions that a software product must satisfy in order to mark a user story complete. [1][2]
26 |
27 |
28 |
29 | - epic
30 | - A large body of work that can be broken down into a number of smaller user stories. [2]
31 |
32 |
33 |
34 | - sprint
35 | - Also known as an iteration.
36 |
- A short period in which the development team implements and delivers a discrete and potentially shippable application increment (e.g. a working milestone version). [2]
37 |
38 |
39 |
40 | - user story
41 | - Development tasks often expressed as “persona + need + purpose." [2]
42 |
43 |
44 |
45 | - velocity
46 | - The average amount of work a scrum team completes during a sprint. This can be measured in either "story points" or number of issues. [2]
47 |
48 |
49 |
50 | ***
51 |
52 | ### References
53 | 1. Altexsoft blog. https://www.altexsoft.com/blog/. Retrieved 1 December 2019.
54 | 2. Atlassian Agile Coach. https://www.atlassian.com/agile. Retrieved 1 December 2019.
55 | 3. Scrum (software development). Wikipedia. https://en.wikipedia.org/wiki/Scrum_(software_development). Retrieved 1 December 2019.
56 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Guide for New Volunteers
2 | This is the place to go if you are new to Hack for LA! All the information you want is here. If it isn't, tell us, and we will get you the information you need!
3 |
4 |
5 | ## First Things First
6 | Go to the Hack for LA [Getting Started](https://hackforla.org/getting-started) webpage
7 |
8 | ## How to interact with issues you are assigned
9 |
10 | ### Reporting progress
11 | - Be sure to check the box when you finish an action item.
12 | - Report your progress weekly in a comment below using the following format:
13 | - Progress:
14 | - Blockers:
15 | - Availability
:
16 | - Estimated date of completion:
17 |
18 | ### Stopping mid issue
19 | #### Reasons:
20 | - Got personally busy, can’t finish
21 | -
Only want to do a specific type of task per interview
22 | - There is a blocker (e.g. instructions not ready yet) in the way of finishing and I still have time to work on other issues
23 | #### What to do if you have to stop working mid issue:
24 | - Note your progress in the checkboxes
25 | - Add a note in the comments with details
26 | - Move the issue to the questions/review column
27 |
28 |
--------------------------------------------------------------------------------
/ada-guide.md:
--------------------------------------------------------------------------------
1 | ## Which accessibility testing tool should you use?
2 |
3 |
4 | ### Overview
5 | There are more than 100 accessibility testing tools. Figuring out which ones to use can be a black hole. For guidance we recommend this article: [Which accessibility testing tool should you use?](https://medium.com/pulsar/which-accessibility-testing-tool-should-you-use-e5990e6ef0a)
6 |
7 | ### Summary of Article
8 | The author recommends using the tools in the following order fixing as you go along, since no one tool catches all the relevant issues
9 |
10 | [aXe](https://www.deque.com/axe/)
11 | [SiteImprove](https://chrome.google.com/webstore/detail/siteimprove-accessibility/efcfolpjihicnikpmhnmphjhhpiclljc)
12 | [Tenon](https://tenon.io/)
13 | [WAVE](https://wave.webaim.org/extension/)
14 | [Lighthouse](https://developers.google.com/web/tools/lighthouse/#devtools)
15 |
16 | But if you want to test your site with other tools, here is a bigger [list](https://www.w3.org/WAI/ER/tools/)
17 |
--------------------------------------------------------------------------------
/assets-for-project-wikis/README.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/assets-for-project-wikis/shared-housing/Quick-Facts-LA-Homelessness.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackforla/getting-started/9b07e2408bdec782df1766854dc535e3a0e0ff21/assets-for-project-wikis/shared-housing/Quick-Facts-LA-Homelessness.PNG
--------------------------------------------------------------------------------
/assets-for-project-wikis/shared-housing/README.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/assets-for-project-wikis/shared-housing/photo-seeking-human-kindness-matt-collamer.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackforla/getting-started/9b07e2408bdec782df1766854dc535e3a0e0ff21/assets-for-project-wikis/shared-housing/photo-seeking-human-kindness-matt-collamer.jpeg
--------------------------------------------------------------------------------
/developer-or-datascientist.md:
--------------------------------------------------------------------------------
1 | ### If you are Developer or Data Scientist
2 |
3 | We make use of Docker for most of our projects. Install [Docker](https://www.docker.com/get-started) before you arrive for faster onboarding.
4 |
5 | You will need both Docker and Docker Compose.
6 |
7 | The recommended installation method is [Docker Desktop](https://docs.docker.com/install/#supported-platforms) for Windows 10 64-bit, Mac, and Linux users. Users of unsupported operating systems may check out [Docker Toolbox](https://docs.docker.com/toolbox/overview/) instead.
8 |
9 | More on using Docker and the concepts of containerization:
10 |
11 | * [Get started with Docker](https://docs.docker.com/get-started/)
12 | * [Get started with Docker Compose](https://docs.docker.com/compose/gettingstarted/)
13 |
14 | Please review our special guide on ADA accessibility compliance: [Which accessibility testing tool should you use?](https://github.com/hackforla/getting-started/blob/master/ADA-guide.md).
15 |
--------------------------------------------------------------------------------
/non-coder.md:
--------------------------------------------------------------------------------
1 | ### If you are UX/UI/PM/Copywriter/Graphic Designer/Activist or other Non-Coding professional
2 |
3 | You are not only welcome, you are much needed in the development of software.
4 |
5 | Please connect with us in person at a hacknight or reach out to us in the [general](https://hackforla.slack.com/archives/C04502L0P) channel on Slack.
6 |
--------------------------------------------------------------------------------
/resources.md:
--------------------------------------------------------------------------------
1 | [docker]: https://docs.docker.com/get-started/
2 | [dockercompose]: https://docs.docker.com/compose/gettingstarted/
3 | [dockerdesktop]: https://docs.docker.com/install/#supported-platforms
4 | [dockertoolbox]: https://docs.docker.com/toolbox/overview/
5 | [ghpages]: https://pages.github.com/
6 | [jekyll]: https://jekyllrb.com
7 | [jekyllcli]: https://jekyllrb.com/docs/usage/
8 |
--------------------------------------------------------------------------------
/still-interested.md:
--------------------------------------------------------------------------------
1 | ### Other Important Information
2 |
3 | Please review the following two resources:
4 |
5 | * [ADA Compliance Guide](https://www.ada.gov/pcatoolkit/chap5toolkit.htm). All web and mobile app projects at Hack for LA should be *ADA compliant*. We are an inclusive organization by charter.
6 |
7 | * [Fist-to-5 Consensus-Based Decision Making](https://docs.google.com/presentation/d/1vvjuKVqtvqt4EcuC3_cS4c3Yvm5ZUa1O5fIBR4iKjUg/edit?usp=sharing). We have not started using this widely but are in the process of trialing it to see if it works when normal discussion starts to drag on.
8 |
--------------------------------------------------------------------------------
/using-docker.md:
--------------------------------------------------------------------------------
1 | ## Developing via Docker
2 |
3 | Docker is the recommended approach to quickly getting started with local development.
4 |
5 | There are two pre-requisites: Docker and Docker Compose.
6 | The recommended installation method is [Docker Desktop][dockerdesktop] for Windows 10 64-bit,
7 | Mac, and Linux users. Users of unsupported operating systems may check out [Docker Toolbox][dockertoolbox] instead.
8 |
9 | More on using Docker and the concepts of containerization:
10 |
11 | * [Get started with Docker][docker]
12 | * [Get started with Docker Compose][dockercompose]
13 |
14 | *Ensure you run the `docker` commands below from a shell inside the local directory containing your clone of this repository.*
15 |
16 | ### Build and serve the website locally
17 |
18 | This command starts a jekyll server locally. The server watches for changes to
19 | the source files and rebuilds and refreshes the site automatically in your browser.
20 |
21 | ```bash
22 | docker-compose up
23 | ```
24 |
25 | Now browse to http://localhost:4000
26 |
27 | ### Tear down
28 |
29 | To stop and completely remove the jekyll server (i.e. the running Docker container):
30 |
31 | *(do this anytime Docker or jekyll configuration or other repository settings change)*
32 |
33 | ```bash
34 | docker-compose down
35 | ```
36 |
37 | To stop the server, but not destroy it (often sufficient for day-to-day work):
38 |
39 | ```bash
40 | docker-compose stop
41 | ```
42 |
43 | Bring the same server back up later with:
44 |
45 | ```bash
46 | docker-compose up
47 | ```
48 |
--------------------------------------------------------------------------------
/using-git.md:
--------------------------------------------------------------------------------
1 | ## Using Git
2 |
3 | This section discusses some tips and best practices for working with Git.
4 |
5 | ### Making changes, committing and pushing
6 |
7 | 1. Generally changes start on your local clone of your fork of this repository, in your own branch.
8 |
9 | 1. Commit your changes with a comment related to the issue it addresses to your local repository.
10 |
11 | 1. Push that commit(s) to your online GitHub fork.
12 |
13 | 1. From the `hackforla` repository, create a Pull Request which asks `hackforla` to pull changes from your fork into the main repository.
14 |
15 | 1. After the owner of the `hackforla` repository approves and merges your Pull Request, your changes will be live on the website.
16 |
17 | ### Forking and cloning the repository with proper security
18 |
19 | #### Step 1: Become a member of the repository Team
20 |
21 | In the `hfla-site` slack channel, send your GitHub name to the project manager (or on the slack channel thread) and we'll add you as a member to the GitHub repository Team.
22 |
23 | Once you have accepted the GitHub invite (comes via email or in your GitHub notifications), please do the following:
24 |
25 | 1. Mark your own membership public https://help.github.com/en/articles/publicizing-or-hiding-organization-membership#changing-the-visibility-of-your-organization-membership
26 |
27 | 1. Setup two factor authentication on your account https://github.com/hackforla/governance/issues/20
28 |
29 | #### Step 2: Fork the repository
30 |
31 | In https://github.com/hackforla/website, look for the fork icon in the top right. Click it and create a fork of the repository.
32 |
33 | For git beginners, a fork is a copy of the repository that will be placed on your GitHub account url.
34 |
35 | It should create a copy here: https://github.com/your_GitHub_user_name/website, where `your_GitHub_user_name` is replaced with exactly that.
36 |
37 | Note that this copy is on a remote server on the GitHub website and not on your computer yet.
38 |
39 | If you click the icon again, it will not create a new fork but instead give you the URL associated with your fork.
40 |
41 | #### Step 3: Clone your online repository to your local computer
42 |
43 | For git beginners, this process will create a third copy of the repository on your local desktop.
44 |
45 | First create a new folder on your desktop that will contain `hackforla` projects.
46 |
47 | In your shell, navigate there then run the following commands:
48 |
49 | ```bash
50 | git clone https://github.com/your_GitHub_user_name/website.git
51 | ```
52 |
53 | You should now have a new folder in your `hackforla` folder called `website`.
54 |
55 | Verify which URL your `origin` remote is pointing to:
56 |
57 | ```bash
58 | git remote show origin
59 | ```
60 |
61 | If you accidentally cloned the `hackforla/website.git` then you can change your local copy to upload to your fork with the following:
62 |
63 | ```bash
64 | git remote set-url origin https://github.com/your_user_name/website.git
65 | ```
66 |
67 | Add another remote called `upstream` that points to the `hackforla` version of the repository. This will allow you to incorporate changes later:
68 |
69 | ```bash
70 | git remote add upstream https://github.com/hackforla/website.git
71 | ```
72 |
73 | #### Step 4: Change to a new branch
74 |
75 | For each issue, create a new branch to work in.
76 |
77 | This command will let you know available branches and which branch you're on.
78 |
79 | Star (`*`) indicates which branch you're on
80 |
81 | ```bash
82 | git branch
83 | ```
84 |
85 | By default you should start on the `gh-pages` branch.
86 |
87 | This command will (create and) change to a new branch:
88 |
89 | ```bash
90 | git checkout -b 140-fix-logo-width
91 | ```
92 |
93 | We prefer that you work on a branch name that relates to the issue you're working on.
94 |
95 | The format should look like the scheme above where `140` is the issue number in GitHub, and the words are a brief description of the issue.
96 |
97 | No law of physics will break if you don't adhere to this scheme but laws of git will break if you add spaces.
98 |
99 | ### Incorporating changes from upstream
100 |
101 | Your fork of this repository on GitHub, and your local clone of that fork, will
102 | get out of sync with this (upstream) repository from time to time.
103 |
104 | Assuming you have a local clone with remotes `upstream` (this repo) and `origin`
105 | (your GitHub fork of this repo):
106 |
107 | ```bash
108 | # WARNING: this will erase local pending changes!
109 | # commit them to a different branch or use git stash
110 | git checkout gh-pages
111 | git fetch upstream
112 | git reset --hard upstream/gh-pages
113 | ```
114 |
115 | Creating a new branch for a feature/bugfix from this reset `gh-pages` will lead to a clean, easy merge down the line.
116 |
--------------------------------------------------------------------------------