1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors_trending-analytics

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 6.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 04.03.2025 01:05 b710e34

Участие

Мы рады приветствовать всех желающих внести свой вклад в проект Plausible. Данное руководство поможет вам настроить среду разработки, найти задачу и открыть запрос на слияние.

Настройка среды разработки

Самый простой способ запустить проект — это установить и использовать Docker для запуска как PostgreSQL, так и ClickHouse.

Убедитесь, что на вашей машине установлены Docker, Elixir, Erlang и Node.js. Файл .tool-versions доступен для использования с помощью asdf или аналогичных инструментов.

Запуск среды

  1. Выполните команды make postgres и make clickhouse.
  2. Чтобы настроить всё сразу, выполните команду make install; альтернативно вы можете выполнить каждую команду отдельно:
    1. Выполните mix deps.get. Это скачает необходимые зависимости Elixir.
    2. Выполните mix ecto.create. Это создаст необходимые базы данных в PostgreSQL и ClickHouse.
    3. Выполните mix ecto.migrate для создания схемы базы данных.
    4. Выполните mix run priv/repo/seeds.exs для заполнения базы данных. Подробнее см. раздел Заполнение базы данных.
    5. Выполните npm ci --prefix assets для установки необходимых клиентских зависимостей.
    6. Выполните npm ci --prefix tracker для установки необходимых зависимостей трекера.
    7. Выполните mix assets.setup для установки Tailwind и Esbuild.
    8. Выполните npm run deploy --prefix tracker для генерации файлов трекера в директории priv/tracker/js.
    9. Выполните mix download_country_database для получения базы данных геолокации.
  3. Выполните make server или mix phx.server для запуска сервера Phoenix.
  4. Теперь система доступна по адресу localhost:8000.

Заполнение базы данных

Вы можете автоматически заполнить базу данных для создания аккаунта и сайта со статистикой:

  1. Выполните mix run priv/repo/seeds.exs для заполнения базы данных.
  2. Запустите сервер с помощью make server и перейдите по адресу http://localhost:8000/login.
  3. Войдите в систему с использованием следующего сочетания электронной почты и пароля: user@plausible.test и plausible.
  4. Теперь у вас должен быть сайт dummy.site с сгенерированной статистикой.

Альтернативно, вы можете вручную создать новый аккаунт:

  1. Перейдите по адресу http://localhost:8000/register и заполните форму.
  2. Заполните остальные формы, используйте домен dummy.site.
  3. Пропустите шаг с добавлением скрипта JavaScript и нажмите кнопку "Начать сбор данных".
  4. Выполните команду mix send_pageview в терминале для генерации события просмотра страницы для тестового сайта.
  5. Теперь вы готовы к работе!

Остановка контейнеров Docker

  1. Остановите и удалите контейнер PostgreSQL с помощью команды make postgres-stop.
  2. Остановите и удалите контейнер ClickHouse с помощью команды make clickhouse-stop.

Объёмы сохранены. Вы заметите, что состояние PostgreSQL и ClickHouse сохранено при повторном запуске: нет необходимости заново регистрироваться и так далее.

Примечание: Поскольку мы удаляем контейнеры, будьте внимательны при удалении объёмов с помощью команды docker volume prune. Вы можете случайно удалить базу данных и вам придётся заново проходить процесс регистрации.

Предварительные проверки перед отправкой коммита

pre-commit требует наличия локально установленного Python и покрывает Elixir, JavaScript и CSS. Установите его с помощью команды pip install --user pre-commit, затем выполните pre-commit install. Альтернативно, если эти запросы слишком мешают, вы можете удалить его с помощью команды pre-commit uninstall.

Поиск задачи

Ошибки можно найти в нашем трекере задач. Задачи обычно доступны для взятия.

Новые возможности должны быть обсуждены с основной командой и сообществом. Если вы работаете над новой возможностью, пожалуйста, убедитесь, что она уже была обсуждена в разделе Дискуссий. Мы просим участников использовать раздел комментариев для предложения решения до того, как откроют запрос на слияние.

Запросы на слияние без связанного вопроса или обсуждения могут быть всё равно слиты, но мы сосредоточимся на изменениях, которые уже были обсуждены.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors_trending-analytics.git
git@api.gitlife.ru:oschina-mirror/mirrors_trending-analytics.git
oschina-mirror
mirrors_trending-analytics
mirrors_trending-analytics
master