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

1.2 KiB

Contributing

Development setup

The easiest way to get up and running is to install 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.
  3. Run mix ecto.create. This will create the required databases in both Postgres and Clickhouse.
  4. Run mix ecto.migrate to build the database schema.
  5. Run npm ci --prefix assets to install the required node dependencies.
  6. Run mix phx.server to start the Phoenix server.
  7. 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!