You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+28-14
Original file line number
Diff line number
Diff line change
@@ -12,39 +12,37 @@ EvaP is the course evaluation system used internally at Hasso Plattner Institute
12
12
For the documentation, please see our [wiki](https://github.com/e-valuation/EvaP/wiki).
13
13
14
14
15
-
## Installation
15
+
## Installation (for Development)
16
16
17
17
The easiest setup using [Vagrant](https://www.vagrantup.com) is shown here.
18
18
19
-
0. Install [git](https://git-scm.com/downloads), [Vagrant](https://www.vagrantup.com/downloads.html), and one of [VirtualBox](https://www.virtualbox.org/wiki/Downloads) (recommended) or [Docker](https://docs.docker.com/engine/install/) (for ARM systems).
19
+
1. Install [git](https://git-scm.com/downloads), [Vagrant](https://www.vagrantup.com/downloads.html), and one of [VirtualBox](https://www.virtualbox.org/wiki/Downloads) (recommended) or [Docker](https://docs.docker.com/engine/install/) (for ARM systems).
20
20
21
-
1. Fork the EvaP repository (using the Fork-button in the upper right corner on GitHub).
21
+
2. Run the following commands on the command line to clone the repository, create the Vagrant VM and run the Django development server.
22
+
* If you are familiar with the fork-based open source workflow, create a fork and clone that (using SSH if you prefer that).
22
23
23
-
2. Windows users only (might not apply for the Linux subsystem):
24
-
* Line endings: git's [`core.autocrlf` setting](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_core_autocrlf) has to be `false` or `input` so git does not convert line endings on checkout, because the code will be used in a Linux VM. We suggest using this command in Git Bash:
24
+
* Windows users: We have observed [weird](https://www.github.com/git-for-windows/git/issues/4705)[behavior](https://www.github.com/git-for-windows/git/issues/4704) with SSH in Git Bash on Windows and thus recommend using PowerShell instead.
25
25
26
-
```bash
27
-
git config --global core.autocrlf input
28
-
```
26
+
* To use Docker, replace `vagrant up` with `vagrant up --provider docker && vagrant provision`.
29
27
30
-
3. Run the following commands on the command line to clone the repository, create the Vagrant VM and run the Django development server.
31
-
To use Docker, replace `vagrant up` with `vagrant up --provider docker && vagrant provision`.
and, after the last command opened an SSH session in the development machine:
35
+
```bash
37
36
./manage.py run
38
37
```
39
38
40
-
4. Open your browser at http://localhost:8000/ and login with email `evap@institution.example.com` and password `evap`.
41
-
39
+
3. Open your browser at http://localhost:8000/ and login with email `evap@institution.example.com` and password `evap`.
42
40
43
41
That's it!
44
42
45
43
## Contributing
46
44
47
-
We'd love to see contributions, feel free to fork! You should probably branch off `main`, the branch `release` is used for stable revisions.
45
+
We'd love to see contributions! PRs solving existing issues are most helpful to us. It's best if you ask to be assigned for the issue so we won't have multiple people working on the same issue. Feel free to open issues for bugs, setup problems, or feature requests. If you have other questions, feel free to contact the [organization members](https://github.com/orgs/e-valuation/people). You should probably branch off `main`, the branch `release` is used for stable revisions.
48
46
49
47
Before committing, run the following commands:
50
48
-`./manage.py test` (runs the test suite)
@@ -55,6 +53,22 @@ or, to combine all three, simply run `./manage.py precommit`.
55
53
56
54
You can also set up `pylint`, `isort`, `black` and `prettier` in your IDE to avoid doing this manually all the time.
57
55
56
+
### Creating a Pull Request (Workflow Suggestion)
57
+
1. (once) [Fork](https://github.com/e-valuation/EvaP/fork) the repository so you have a GitHub repo that you have write access to.
58
+
59
+
2. (once) Set up some authentication for GitHub that allows push access. A common option is using [SSH keys](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/about-ssh), the remaining instructions assume an SSH key setup. An alternative is using the [GitHub CLI tool](https://cli.github.com/).
60
+
61
+
3. (once) Ensure your [git remotes](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes) are setup to use SSH. To fetch the up-to-date state of the official repo, it's useful to have an "upstream" remote configured:
4. Create a branch (`git switch -c <your-branch-name>`), commit your changes (`git add` and `git commit`), and push them (`git push`). "Push" will ask you to specify an upstream branch (`git push -u origin <your-branch-name>`).
68
+
69
+
5. GitHub should now ask you whether you want to open a pull request ("PR"). If the PR solves an issue, use one of GitHub's [magic keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) (like "fixes") in the pull request description to create a link between your PR and the issue. If necessary, please also provide a short summary of your changes in the description.
0 commit comments