Skip to content

Commit

Permalink
README.md: Separate quick-setup and push-ready forked setup
Browse files Browse the repository at this point in the history
  • Loading branch information
richardebeling committed Nov 27, 2023
1 parent 78b0cf5 commit 1e759a8
Showing 1 changed file with 27 additions and 7 deletions.
34 changes: 27 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,30 +12,32 @@ EvaP is the course evaluation system used internally at Hasso Plattner Institute
For the documentation, please see our [wiki](https://github.com/e-valuation/EvaP/wiki).


## Installation
## Installation (for Development)

The easiest setup using [Vagrant](https://www.vagrantup.com) is shown here.

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).

1. Fork the EvaP repository (using the Fork-button in the upper right corner on GitHub).
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).

2. Run the following commands on the command line to clone the repository, create the Vagrant VM and run the Django development server.
* Windows users: We have observed [weird](https://github.com/hashicorp/vagrant/issues/9143#issuecomment-401088752) [behavior](https://github.com/git-for-windows/git/issues/3657) with ssh in Git Bash on Windows and thus recommend using PowerShell instead. In theory, you should be able to use any command line tool.
* If you are familiar with the fork-based open source workflow, create a fork and clone that (using SSH if you prefer that).

* 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.

* To use Docker, replace `vagrant up` with `vagrant up --provider docker && vagrant provision`.

```bash
git clone --recurse-submodules https://github.com/<your_github_username>/EvaP.git
git clone --recurse-submodules https://github.com/e-valuation/EvaP.git
cd EvaP
vagrant up
vagrant ssh
```
and, after the last command opened a ssh session in the development machine:
```bash
./manage.py run
```

3. Open your browser at http://localhost:8000/ and login with email `evap@institution.example.com` and password `evap`.


That's it!

## Contributing
Expand All @@ -51,6 +53,24 @@ or, to combine all three, simply run `./manage.py precommit`.

You can also set up `pylint`, `isort`, `black` and `prettier` in your IDE to avoid doing this manually all the time.

### Creating a Pull Request (Workflow Suggestion)
TODO: GitHub CLI evtl einfacher?

0. (once) [Fork](https://github.com/e-valuation/EvaP/fork) the repository so you have a copy that you have write-access to.

1. (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 a SSH key setup.

2. (once) Ensure your git remotes [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 always useful to have an "upstream" remote configured:
```bash
git remote set-url origin git@github.com:<your-username>/EvaP.git
git remote add upstream git@github.com:e-valuation/EvaP.git
```

3. Create a branch (`git branch -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 <branch-name>`).

4. GitHub should now ask you whether you want to open a Pull Request when reloading the page. 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") to create a link between your PR and the issue.


## License

MIT, see [LICENSE.md](LICENSE.md).
Expand Down

0 comments on commit 1e759a8

Please sign in to comment.