analytics/CONTRIBUTING.md
Johan Fagerberg 3ff2c79b33
Update contribution guidelines (#403)
* Update contribution guidelines to include dependency installation

Now mentions the required system dependencies, and the step for installing Elixir deps
Erlang is used by the :gettext dependency, and ecto.create will fail if it is not present

* Make Clickhouse and PostgreSQL containers run in detached mode

This ensures that they run in the background so that they are present during the follow steps
2020-11-10 10:58:49 +02:00

26 lines
1.2 KiB
Markdown

# Contributing
## Development setup
The easiest way to get up and running is to [install](https://docs.docker.com/get-docker/) and use Docker for running both Postgres and Clickhouse.
Make sure Docker, Elixir, Erlang and Node.js are all installed on your development machine.
### Start the environment:
1. Run both `make postgres` and `make clickhouse`.
2. Run `mix deps.get`. This will download the required Elixir dependencies.
2. Run `mix ecto.create`. This will create the required databases in both Postgres and Clickhouse.
3. Run `mix ecto.migrate` to build the database schema.
4. Run `npm ci --prefix assets` to install the required node dependencies.
5. Run `mix phx.server` to start the Phoenix server.
6. The system is now available on `localhost:8000`.
### Creating an account
1. Navigate to `http://localhost:8000/register` and fill in the form.
2. An e-mail won't actually be sent, but you can find the activation in the Phoenix logs in your terminal. Search for `%Bamboo.Email{assigns: %{link: "` and open the link listed.
3. Fill in the rest of the forms and for the domain use `dummy.site`
4. Run `make dummy_event` from the terminal to generate a fake pageview event for the dummy site.
5. You should now be all set!